Hosting a virtual machine inside a virtual machine
KVM trickery for conceptualisation and testing.
If your server/host supports VT-x, it goes to say so should the guests. When trying to setup a oVirt node with hosted engine in KVM I was coming to a grinding halt with the following error.
*[ ERROR ] Failed to execute stage 'Environment setup': Hardware does not support virtualization*
Turns out the the VT-x capabilities of the host CPU was not being passed through to the guest OS. This would have been avoided with a bit of care when creating the the original guest image (which has since be cloned a few times to the guest I’m tring to setup now).
Fortunately, this is relatively easy to correct in 2 to 3 simple steps.
Check if nested KVM is enabled:
~# [cat](https://www.server-world.info/en/command/html/cat.html) /sys/module/kvm\_intel/parameters/nested
y
If the cat command returned a ’n’ the fix could be a bit more complex, but a good start would be to run.
~# [echo](https://www.server-world.info/en/command/html/echo.html) 'options kvm\_intel nested=1' >> /etc/modprobe.d/qemu-system-x86.conf
Then reboot.
OK! after confirming that nested KVM is anabled on the host, edit the configuration file for the virtual guest (while the virtual guest is powered down.
~# virsh edit <name of guest>
Chnage change “cpu mode” so it reads
<cpu mode='host-passthrough'>
Power on the guest and continue with creating nested virtual machines.