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

  1. root@fan3838:~# modinfo kvm_intel | grep nested
    parm: nested:bool
    root@fan3838:~# cat /sys/module/kvm_intel/parameters/nested
    Y
    root@fan3838:~#

    如果上面的显示结果不是 Y 的话需要开启 nested:


  1. root@fan3838:~# modprobe -r kvm-intel
    root@fan3838:~# modprobe kvm-intel nested=1
    root@fan3838:~# cat /sys/module/kvm_intel/parameters/nested
    Y

    然后创建虚拟机即可,我使用的是virt-manager,没有调整 guest 的硬件CPU设置支持支持虚拟化了(当然可以强制打开guest的硬件CPU设置中的vmx)。


  1. [root@rhel65 ~]# cat /proc/cpuinfo 
    processor    : 0
    vendor_id    : GenuineIntel
    cpu family    : 6
    model        : 6
    model name    : QEMU Virtual CPU version 2.0.0
    stepping    : 3
    cpu MHz        : 2133.408
    cache size    : 4096 KB
    fpu        : yes
    fpu_exception    : yes
    cpuid level    : 4
    wp        : yes
    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 pnivmx cx16 x2apic popcnt hypervisor lahf_lm vnmi ept
    bogomips    : 4266.81
    clflush size    : 64
    cache_alignment    : 64
    address sizes    : 40 bits physical, 48 bits virtual
    power management:

    然后这个guest虚拟机里面装的CentOS6即可作为计算节点使用了。