Nested Virtualization

  1. 先確定 Openstack 主機 nested kvm ENABLE。
    [root@controller ~]# cat /sys/module/kvm_intel/parameters/nested
    Y
    
  2. nova.conf 的 virt_type=kvm 而且 cpu_mode=host-passthrough。
    [root@controller ~]# vim /etc/nova/nova.conf
    [root@controller ~]# egrep '^(virt|cpu)_' /etc/nova/nova.conf
    virt_type=kvm
    cpu_mode=host-passthrough
    
  3. 重新啟動 openstack-nova 相關服務。
    [root@controller ~]# systemctl restart openstack-nova-*
    
  4. instance crt2 先關機。
    [root@controller ~]# openstack server stop crt2
    
  5. instance crt2 安裝時使用的 cpu mode 是 host-modle,將其修改為 host-passthrough。
    [root@controller ~]# vim /etc/libvirt/qemu/instance-00000017.xml 
    [root@controller ~]# grep 'cpu mode' /etc/libvirt/qemu/instance-00000017.xml 
      <cpu mode='host-passthrough' check='none'>
    
  6. instance crt2 開機。
    [root@controller ~]# openstack server start crt2
    
  7. 登入 instance crt2,查看 CPU 訊息,Virtualization: VT-x 表示支援虛擬化技術。
    [root@dywmac ~]# ssh -X 163.17.xx.xxx
    [root@deyu ~]# lscpu 
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per socket:    1
    Socket(s):             4
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 63
    Stepping:              2
    CPU MHz:               2299.996
    BogoMIPS:              4599.99
    Virtualization:        VT-x
    Hypervisor vendor:     KVM
    Virtualization type:   full
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              4096K
    L3 cache:              16384K
    NUMA node0 CPU(s):     0-3