1.kvm安装

1.1服务器开启虚拟化
在虚拟机设置中的虚拟化引擎中选中

虚拟化Intel VT-x/EPT或AMD-V/RVI(V)

虚拟化CPU性能计数器(U)

虚拟化IOMMU(io内存管理单元)(1)

之后重启虚拟机服务器

centos打开 iommu centos开启iommu_centos打开 iommu

1.2查看服务器是否支持虚拟化

输入
grep -E ‘(svm|vmx)’ /proc/cpuinfo或者cat /proc/cpuinfo

找到flags部分,如果其中输出有SVM或VMX,表明CPU支持虚拟化技术:

centos打开 iommu centos开启iommu_虚拟化_02

kvm虚拟化的嵌套:
modinfo kvm_intel | grep nested

parm: nested:bool

cat /sys/module/kvm_intel/parameters/nested

Y

如果上面的显示结果不是 Y 的话需要开启 nested:
modprobe -r kvm-intel
modprobe kvm-intel nested=1
cat /sys/module/kvm_intel/parameters/nested

Y

1.3安装kvm以及需要的依赖包,使用如下命令:

yum install qemu-kvm qemu-key-tools virt-manager libvirt virt-install python-virtinst bridge-utils

centos打开 iommu centos开启iommu_虚拟化_03

其中:

qemu-kvm # 主要的KVM程序包

virt-manager # GUI虚拟机管理工具

libvirt # C语言工具包,提供libvirt服务

virt-install # 基于libvirt服务的虚拟机创建命令

python-virtinst # 创建虚拟机所需要的命令行工具和程序库

bridge-utils # 创建和管理桥接设备的工具

等待搜寻结果,如果需要确认的输入“y”然后确认
等待安装完成

> 完毕!

以上安装完毕后,检测KVM模块是否安装,可以使用如下命令:

lsmod |grep kvm

[root@localhost /]# lsmod |grep kvm

kvm_intel 188740 0

kvm 637289 1 kvm_intel

irqbypass 13503 1 kvm

出现类似于上述信息,证明kvm模块已安装成功
安装完成后启动libvirtd服务:
service libvirtd start

systemctl status libvirtd

centos打开 iommu centos开启iommu_虚拟化_04

kvm,只是Linux内核的一个模块,不需要安装,只需要加载。加载命令如下:

modprobe kvm

modprobe kvm_intel

也可以如下加载KVM模块,可以使用如下命令:

virsh -c qemu:///system list

此命令需要重启系统后使用,否则会报错。所以在使用之前要用reboot重启系统

centos打开 iommu centos开启iommu_重启_05

出现这些信息表示kvm安装成功
保存虚拟机快照,方便之后出错的情况下快速恢复虚拟机

2.以上是KVM的安装,下面开始配置KVM并安装一个虚拟机。

准备一个Linux镜像文件在/kvmos下

centos打开 iommu centos开启iommu_kvm_06

使用以下命令安装虚拟机
virt-install --name study01 --ram=1024 --vcpus=2 --cdrom=/kvmos/centos7-1810.ios --disk path=/kvmos/template.qcow2,size=1 --network network=default --graphics vnc

各个参数如下所示:

–name:虚拟机的名字

–ram:虚拟机的内存

–vcpus:虚拟机的cpu个数

–cdrom:从本地安装

–disk:生成的磁盘文件的路径,可以自动生成,也可以提前创建

size:磁盘的大小

–network:指定网络模式,default为nat模式

安装完成后,查看

virsh list --all

centos打开 iommu centos开启iommu_虚拟化_07

至此kvm安装完成
管理虚拟机的一些常用命令:

virsh console study01 # 进入指定的虚拟机,进入的时候还需要按一下回车

virsh start study01 # 启动虚拟机

virsh shutdown study01 # 关闭虚拟机

virsh destroy study01 # 强制停止虚拟机

virsh undefine study01 # 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘

virsh autostart study01 # 设置宿主机开机时该虚拟机也开机

virsh autostart --disable study01 # 解除开机启动

virsh suspend study01 # 挂起虚拟机

virsh resume study01 # 恢复挂起的虚拟机