1,查看 CPU 是否支持虚拟机:
egrep 'vmx|svm' /proc/cpuinfo
如果看到有输出结果,即证明 cpu 支持虚拟化。
2,安装 kvm 内核
在 centos7.3 版本中,默认 yum 源安装的 QEMU 为 1.5 版本,此版本较低,无法启动
KVM 虚拟机,因此需要升级 QEMU 版本到 2.6。
下面是先安装一个 QEMU 的 yum源,然后进行KVM 内核模板和工具的安装。
#yum install -y centos-release-qemu-ev.noarch //安装qemu的yum源
#yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64
3, 安装 virt 管理工具
安装 KVM 管理工具,更好的管理 KVM 虚拟机:
# yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 virt-*
4,手动加载 kvm 内核
通过 yum 安装的 KVM 模块,在安装完成后,需要重启系统,然后系统启动会自动加载
到内核当中,如果没有自动加载到内核,执行如下命令手动加载到内核:
#modprobe kvm
#modprobe kvm-intel
5,查看当前系统已经加载的内核模块。
KVM 模块加载到内核后,通过如下命令查看是否开启:
[root@localhost ~]# lsmod | grep kvm
kvm_intel 170181 6 //Bios未开启vt,此服务不能正常加载。
kvm 554609 1 kvm_intel
irqbypass 13503 3 kvm
或:
kvm_amd 64937 0 //Bios未开启SVM,此服务不能正常加载。
kvm 554609 1 kvm_amd
irqbypass 13503 1 kvm
如果有类似上面的提示,表明 KVM 模块已经加载到内核并开启成功。
6,KVM 管理工具服务相关
要管理 KVM 内核模块,就需要启动相关管理服务,libvirtd 是 KVM 管理工具对应的服
务,默认情况下,系统重启后,会自动启动此服务,如果未启动,可通过手动方式重启,操
作如下:
在 centos6.x 或以下版本可通过如下方法启动服务:
# /etc/init.d/libvirtd start
# chkconfig libvirtd on
在 centos7.x 版本中,需要通过如下方式启动 libvirtd:
# systemctl start libvirtd
【遇到的错误】
1,在启动 libvirtd 服务时,可能出现如下错误:
[root@kvmmaster lib64]# service libvirtd restart
正在关闭 libvirtd 守护进程: [失败]
启 动 libvirtd 守 护 进 程 : libvirtd: relocation error: libvirtd: symbol
dm_task_get_info_with_deferred_remove, version Base not defined in file
libdevmapper.so.1.02 with link time reference [失败]
这是库文件版本太低导致的,可通过下面方案解决:
# yum -y upgrade device-mapper-libs
2,libvirtError: internal error: Cannot find suitable emulator for x86_64
百度的解决办法:
安装:yum-y install libtcmalloc*
也有安装:yum install qemu\*
没有解决此问题,最后通过更新系统的所有包解决的。
即:yum update