当前位置: 首页 > news >正文

安装KVM服务器、使用libvirt tools工具管理虚拟机

1. KVM简介

KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是目前Linux系统上最主流的开源虚拟化技术,也是国内外绝大多数公有云(如阿里云、腾讯云、华为云)背后的核心技术。
简单来说,它让你能在一台Linux物理服务器上,运行多台相互隔离的虚拟机,且性能几乎接近物理机。
它的核心设计可以概括为“双引擎分工协作”,将Linux内核的高效调度与QEMU丰富的设备模拟能力完美结合。

KVM的架构非常清晰,主要包含两个核心部分:
KVM内核模块:这是KVM的核心,直接集成在Linux内核中。它主要负责最关键的CPU和内存的虚拟化,利用CPU的硬件虚拟化功能(如Intel VT-x或AMD-V)让虚拟机指令直接在物理CPU上运行,从而保证高性能。
QEMU用户态工具:这是一个运行在用户空间的进程,主要负责模拟虚拟机需要的I/O设备,比如网卡、硬盘、显卡、声卡等。同时,它通过系统调用与内核的KVM模块交互,来创建虚拟机和管理vCPU。

2. 安装KVM服务器

(1)开启虚拟化引擎:虚拟机设置—处理器—勾选“虚拟化Intel VT -x/EPT或AMD-V/RVI”

(2)查看CPU是否支持KVM:KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前需要检查一下CPU是否提供虚拟技术的支持,可以运行如下命令来检查:

grep-E"(vmx|svm)"/proc/cpuinfo

如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志;如果包含SVM,它是AMD处理器虚拟机技术的标志。如果什么都没有得到,那就说明该系统并没有支持虚拟化的处理,不能使用KVM。

(3)检查模块:

lsmod|grepkvm

如果输出有kvm就不需要装载模块了,否则需要如下命令加载模块:

modprobe lvm modprobe kvm-intel

(4)配置YUM源:
备份默认的软件源:

cd/etc/yum.repos.d/rename.repo .repo.bak *ls

挂在镜像到/mnt 目录 (确保Linux的镜像文件已经连接):mount

/dev/sr0 /mnt

创建一个新的repo文件:vim centos.repo
输入下面内容后保存退出:

[centos]name=centosbaseurl=file:///mntenabled=1gpgcheck=0

添加阿里镜像源:

curl-o/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

清除yum 缓存:yum clean all
生成缓存:yum makecache
(5)安装管理工具:
安装Qemu-KVM命令行工具:

yuminstall-yqemu-kvmln-sv/usr/libexec/qemu-kvm /usr/bin/qemu-kvm

创建 ISO文件夹,用来存放ISO文件:mkdir /opt/ISO

(6)使用xftp将镜像文件上传到该目录(mkdir /opt/ISO):


注:Xftp:Xftp 是一款由 NetSarang 公司开发的强大 SFTP/FTP 文件传输软件,常被称为 Windows 与 Linux/Unix 服务器之间的“文件传输神器”。下载安装地址:https://www.xshell.com/zh/xftp/
如果不想下载安装Xftp,也可以用共享文件夹传输。

查看是否上传成功:ll -h /opt/ISO/

3. libvirt tools管理工具使用

libvirt 本身是一个虚拟化管理库,而 libvirt 工具集则是基于这个库开发的一系列应用程序,用于创建、管理和监控虚拟机。可以把它理解为一套为 KVM/QEMU 等虚拟机监控器打造的“管理工具包”。

(1)使用libvirt tools工具管理VM:

yuminstalllibvirt libvirt-client virt-install virt-manager-ysystemctl start libvirtd systemctlenablelibvirtd

(2)打开虚拟管理器创建虚拟机(在图形界面下运行):

virt-manager

新建虚拟机:

选择本地安装:

新建存储池:

选择镜像、内存和cpu设置:

磁盘设置、准备开始安装:

(3)虚拟机维护:
单击“虚拟机”右键可以看到其操作界面:


点击下方按钮 ,即可打开虚拟机详细配置界面:

http://www.cnnetsun.cn/news/2820236.html

相关文章:

  • 从uint64_t的typedef源码,看懂C语言如何为不同平台(32/64位)定义固定长度类型
  • OPRD:蒸馏不只学答案,还要偷看老师的“脑内活动“
  • 打卡信奥刷题(3369)用C++实现信奥题 P9691 [GDCPC 2023] Base Station Construction
  • 告别CAN的奢侈:一文搞懂LIN总线如何用UART接口搞定汽车低速通信
  • 用两个HC-05蓝牙模块,低成本搭建你的无线PID调参和遥控小车数据链路
  • C#写的CIE1931马蹄图绘制工具,可调画布大小并导出PNG
  • 别再为PLC测试买硬件了!用C#和PLCSIM Advanced V3.0搭建本地仿真环境(附S7NetPlus读写避坑指南)
  • 手写伯努利朴素贝叶斯:从条件概率到对数平滑的完整实现
  • STM32F4/F7上移植SOEM 1.4.0主站:从LAN8720驱动到伺服控制的完整避坑记录
  • 告别手动配IP!用STM32+W5500实现DHCP自动获取网络地址(附完整代码)
  • 给自动驾驶算法工程师的仿真利器:用MATLAB Simulink控制UE4虚拟环境完整流程
  • 8088单板机监控程序解读(四)
  • STM32CubeMX配置FreeRTOS信号量时,这3个坑我帮你踩过了(附避坑指南与调试技巧)
  • 女硬件工程师多吗?
  • Python 3.13 连续迭代,自由线程、JIT 编译器、子解释器三剑齐发
  • 避坑指南:ArcGIS里做IDW插值,你的搜索半径和幂值设置对了吗?
  • 第四周小学期
  • SpringAOP原理和代理模式详解
  • SpeakCoach
  • 实测揭秘:WPS双进程备份机制,内存占用真的高吗?手把手教你手动清理驻留进程
  • VMware网络感叹号?别急着重装!手把手教你修复VMnet1/VMnet8驱动代码31错误
  • 扫描阅卷机支持哪些格式的试卷?
  • 2、K8S网络概述
  • x64汇编案例5
  • SysConfig Device Support 笔记
  • VC6环境下内存直载DLL的完整可运行工程包(含源码、编译成品与测试模块)
  • ToxiTwitch:基于混合模型的Twitch实时聊天毒性检测
  • 新闻语义处理流水线:面向金融NLP的结构化解码与时序锚定
  • AI动态简报之商业洞察篇(2026.06.07)
  • 电机控制工程师必看:手把手教你配置TMS320F280049的SDFM模块进行电流采样