KVM嵌套虚拟化nested之CPU透传

嵌套式虚拟nested是一个可通过内核参数来启用的功能。它能够使一台虚拟机具有物理机CPU特性,支持vmx或者svm(AMD)硬件虚拟化。该特性需要内核升级到Linux 3.X版本 ,所以在centos6下是需要先升级内核的,而在centos7下已默认支持该特性,不过默认是不开启的,需要通过修改参数支持。

#启用Nested:
echo 'options kvm_intel nested=1' >/etc/modprobe.d/kvm-nested.conf

#卸载模块:
modprobe -r kvm_intel

#重新加载模块
modprobe kvm_intel

#查看Nested是否启用成功
cat /sys/module/kvm_intel/parameters/nested
Y

#修改虚拟机cpu的mode
virsh edit vm1
#/*原本的配置*/
<cpu mode='custom' match='exact' check='partial'>
#/*修改为*/
<cpu mode='host-model' check='partial'>

#关闭虚拟机
virsh shutdown vm1

#启动虚拟机
virsh start vm1

#进入虚机中查看cpu是否透传成功
lsmod | grep kvm