Nested KVM
来源:互联网 发布:python float to int 编辑:程序博客网 时间:2024/05/17 23:27
Nested KVM
在Intel处理器上,KVM使用Intel的vmx(virtual machine eXtensions)来提高虚拟机性能,即硬件辅助虚拟化技术。如果一台虚拟机能够和物理机一样支持”vmx”,那么就可以在这台虚拟机上再次安装虚拟机。Nested KVM是一个可通过内核参数来启用的功能。它能够使一台虚拟机具有物理CPU特性,支持vmx或者svm(AMD)硬件虚拟化。
物理服务器开启Nested KVM支持
* ubuntu14.04 *
1. 打开/etc/default/grub,把”kvm-intel.nested=1”追加到GRUB_CMDLINE_LINUX
# cat /etc/default/grub | grep GRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX="apparmor=0 nomodeset noautogroup kvm-intel.nested=1"update-grub
- 重启Host
reboot
- 检查是否使能Nested KVM
$ cat /sys/module/kvm_intel/parameters/nestedY
* Y代表使能Nested KVM*
创建一台支持vmx的虚拟机
如果你使用libvirt管理虚拟机,需要修改虚拟机xml中的CPU的定义。
* CPU定义 1
<cpu mode='custom' match='exact'> <model fallback='allow'>Nehalem</model> <feature policy='require' name='vmx'/> </cpu>
这种方式为虚拟机定义需要模拟的CPU类型”Nehalem”,并且为CPU添加”vmx”特性。
- CPU定义 2
<cpu mode='host-model'> <model fallback='allow'/> </cpu>
- CPU定义 3
<cpu mode='host-passthrough'> <topology sockets='1' cores='2' threads='2'/> </cpu>
后两种CPU定义,CPU穿透,在虚拟机中看到的vcpu与物理机的CPU是同样的配置,这种方式的缺点在于如果要对虚拟机进行迁移,迁移的目的服务器硬件配置必须与当前物理机一样。
如果使用qemu命令行启动虚拟机,那么可以简单的添加-enable-kvm -cpu qemu64,+vmx
然后,启动虚拟机,查看cpuinfo的配置cat /proc/cpuinfo
--- snip ---Model name: Intel Core i7 9xx (Nehalem Class Core i7)Stepping: 3CPU MHz: 2394.456BogoMIPS: 4788.91Virtualization: VT-xHypervisor vendor: KVMVirtualization type: full--- snip ---Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap
Reference
http://www.rdoxenham.com/?p=275
http://www.linuxidc.com/Linux/2015-05/117026.htm
https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
- Nested KVM
- virtualization--nested kvm
- setup kvm nested virtualization guest
- KVM硬件辅助虚拟化之 EPT in Nested Virtualization
- How to enable nested KVM in ubuntu 16.04
- KVM嵌套虚拟化nested之CPU透传
- KVM
- KVM
- KVM
- KVM
- kvm
- KVM
- kvm
- kvm
- KVM
- kvm
- kvm
- kvm
- Modern Software Engineering Methodologies for Mobile and Cloud Environments.pdf 英文原版 免费下载
- MySQL数据库的学习(1)-概念+学习路径规划
- jQuery 里面的attr()方法
- SpringBoot扩展分析
- 52-IO流(文件切割)53-IO流(文件合并) 创建文件后缀类名的步骤 54-IO流(文件切割合并+配置文件). 56-IO流(ObjectInputStream-对象的反序列化)
- Nested KVM
- the art of multiprocessor programming.pdf 英文原版 免费下载
- [MQTT专题]MQTT最小资源消耗
- 关于Linux系统诞生发展历程、组成、特点、核心、发行版本
- LR_IP欺骗
- 数据结构实验之排序六:希尔排序
- opencv多线程图像处理错误
- 圣诞节福利,支付宝官方红包!每天可领16.8元红包,直接当钱用
- 数据结构实验之排序五:归并求逆序数