1、前提:api
cpu支持Inter VT-X或AMD虚拟化技术,具体参考官网说明。bash
2、问题描述:ide
物理机下,vmware workstation能安装64位CentOS系统,处理器Inter i3 M390,且支持Inter VT-X虚拟化技术,物理机BIOS中已打开Inter虚拟化开关(本身找),既然能安装64位系统,说明物理机BIOS中支持虚拟化开关已打开。ui
半虚拟化为paeorm
全虚拟化为vmx(Inter)、svm(AMD)get
# uname -r 2.6.32-358.el6.x86_64 # cat /proc/cpuinfo |grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts
能够看到系统是64位CentOS,只支持半虚拟化为pae,没有全虚拟化vmx虚拟机
3、解决办法it
在workstation上实现嵌套虚拟化,须要编辑虚拟机的vmx文件,添加io
vhv.enable = "TRUE"
找到虚拟机安装文件,带有.vmx后缀,添加便可。form
参考KB以下(Additional Information部分)
http://kb.vmware.com/kb/2034803
# cat /proc/cpuinfo |grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts tpr_shadow vnmi ept vpid
能够看到,已经支持全虚拟化(vmx)了。
从这点能够看出vmware下的vcpu并不充分兼容物理机cpu。