嵌套式虚拟nested是一个可通过内核参数来启用的功能。它能够使一台虚拟机具有物理机CPU特性,支持vmx或者svm(AMD)硬件虚拟化。关于nested的具体介绍,可以看这里 。该特性需要内核升级到Linux 3.X版本 ,所以在centos6下是需要先升级内核的,而在centos7下已默认支持该特性,不过默认是不开启的,需要通过修改参数支持。
0x01 linux kernel开启嵌套
启用Nested
[root@openstack ~]# echo 'options kvm_intel nested=1' > /etc/modprobe.d/kvm-nested.conf
卸载模块
[root@openstack ~]# modprobe -r kvm_intel
重新加载模块
[root@openstack ~]# modprobe kvm_intel
查看Nested是否启用成功
[root@openstack ~]# cat /sys/module/kvm_intel/parameters/nested
Y
0x02 修改openstack配置
在nova的配置文件修改cpu mode
vim /etc/nova/nova.conf
[libvirt]
cpu_mode=host-passthrough