测试普华IAAS时,没有真实机器当计算节点,所以想到拿虚拟机当计算节点。首先一点,计算节点必须支持虚拟化,知道vmware可以将CPU硬件虚拟化“传”给虚拟机,这样虚拟机就也能支持虚拟化了,可以当计算节点了。
那KVM是否也可以呢?因为我们毕竟是做Linux的。
答案是肯定的。肯定支持。
KVM是否支持虚拟化是以来kvm模块版本的,经测试,CentOS6系列都不支持,ubuntu14.04支持。
首先检查 KVM host(宿主机/母机)上的kvm_intel模块是否打开了嵌套虚拟机功能(默认是开启的):
root@fan3838:~# modinfo kvm_intel | grep nested parm: nested:bool root@fan3838:~# cat /sys/module/kvm_intel/parameters/nested Y root@fan3838:~#
如果上面的显示结果不是 Y 的话需要开启 nested:
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)。
[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即可作为计算节点使用了。