10.13. Enabling Nested Virtualization in Virtual Machines

Warning

This feature is experimental and tested only on Linux guests. Operation of nested virtual machines may be unstable.

Virtuozzo Hybrid Server supports nested Intel VT-x virtualization in virtual machines.

To enable nested virtualization, do the following:

  1. Stop all running or paused virtual machines on the node.

  2. Unload the kvm-intel module from the kernel:

    # rmmod kvm_intel
    
  3. Add the line options kvm-intel nested=y to the dist.conf file:

    # echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf
    
  4. Load the kvm-intel module:

    # modprobe kvm_intel
    
  5. Restart libvirt:

    # systemctl restart libvirtd
    
  6. Enable nested virtualization in the virtual machine:

    # prlctl set MyVM --nested-virt on
    

Take note of the following:

  1. A guest operating system in a nested virtual machine will not be able to obtain an IP address via DHCP if ipfilter, macfilter, and preventpromisc parameters of the host VM’s bridged network adapter are set to no.
  2. You cannot change CPU features mask for nested virtual machines using the prlsrvctl set --cpu-features-mask command.