检查
首先检查 KVM host(宿主机/母机)上的kvm_intel模块是否打开了嵌套虚拟机功能(默认是开启的):
root@localhost:~# modinfo kvm_intel | grep nested
parm: nested:bool
root@localhost:~# cat /sys/module/kvm_intel/parameters/nested
Y
如果上面的显示结果不是 Y 的话需要开启 nested:
root@localhost:~# modprobe -r kvm-intel
root@localhost:~# modprobe kvm-intel nested=1
root@localhost:~# cat /sys/module/kvm_intel/parameters/nested
Y
然后创建虚拟机即可 使用qemu打开一个虚拟机在启动命令上加上“-cpu host”或“-cpu qemu64,+vmx” 如下面所示:
root@ubuntu:~/qemu# virt-install --virt-type kvm --os-type=linux --os-variant=ubuntu18.04 --name ubuntu1804x64 --ram 1024 --cpu host --cdrom=/opt/ubuntu-18.04.6-desktop-amd64.iso --disk path=/opt/aaa/kvm_qcow2/ubuntu1804x64,format=qcow2,size=17 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
理解
打开/etc/libvarl/qeum中的虚拟机配置查看
目前翻着资料,kvm的cpu的工作模式有以下三种
custom 这种目前看来是默认的,就是你的虚拟机起来后无法再运行虚拟化程序,其他的一些特性还没研究到,如果看到了贴在这里
host-model 使用host-model看到的VCPU:Libvir 会根据物理cpu的型号,从规定的CPU中选择一种最接近的CPU型号
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Westmere E56xx/L56xx/X56xx (Nehalem-C)
host-passthrough 使用host-passthrough看到的VCPU:直接看到物理CPU的型号
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
以上2中host类型的cpu工作模式都可以在虚拟机中再次运行虚拟机,不过要注意host-passthrough 方式虚拟机不能迁移到不同型号的CPU上
|