如何在 KVM 虚拟机上运行 KVM 暨 如何让虚拟机支持虚拟化

    测试普华IAAS时,没有真实机器当计算节点,所以想到拿虚拟机当计算节点。首先一点,计算节点必须支持虚拟化,知道vmware可以将CPU硬件虚拟化“传”给虚拟机,这样虚拟机就也能支持虚拟化了,可以当计算节点了。
    那KVM是否也可以呢?因为我们毕竟是做Linux的。
    答案是肯定的。肯定支持。
    KVM是否支持虚拟化是以来kvm模块版本的,经测试,CentOS6系列都不支持,ubuntu14.04支持。
    首先检查 KVM host(宿主机/母机)上的kvm_intel模块是否打开了嵌套虚拟机功能(默认是开启的):

点击(此处)折叠或打开

  1. root@fan3838:~# modinfo kvm_intel | grep nested
  2. parm: nested:bool
  3. root@fan3838:~# cat /sys/module/kvm_intel/parameters/nested
  4. Y
  5. root@fan3838:~#
    如果上面的显示结果不是 Y 的话需要开启 nested:

点击(此处)折叠或打开

  1. root@fan3838:~# modprobe -r kvm-intel
  2. root@fan3838:~# modprobe kvm-intel nested=1
  3. root@fan3838:~# cat /sys/module/kvm_intel/parameters/nested
  4. Y
    然后创建虚拟机即可,我使用的是virt-manager,没有调整 guest 的硬件CPU设置支持支持虚拟化了(当然可以强制打开guest的硬件CPU设置中的vmx)。

点击(此处)折叠或打开

  1. [root@rhel65 ~]# cat /proc/cpuinfo
  2. processor    : 0
  3. vendor_id    : GenuineIntel
  4. cpu family    : 6
  5. model        : 6
  6. model name    : QEMU Virtual CPU version 2.0.0
  7. stepping    : 3
  8. cpu MHz        : 2133.408
  9. cache size    : 4096 KB
  10. fpu        : yes
  11. fpu_exception    : yes
  12. cpuid level    : 4
  13. wp        : yes
  14. flags        : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good unfair_spinlock pni vmx cx16 x2apic popcnt hypervisor lahf_lm vnmi ept
  15. bogomips    : 4266.81
  16. clflush size    : 64
  17. cache_alignment    : 64
  18. address sizes    : 40 bits physical, 48 bits virtual
  19. power management:
    然后这个guest虚拟机里面装的CentOS6即可作为计算节点使用了。



09-02 00:47