Running nested KVM on public clouds such as AWS and Google has traditionally been a challenge because hypervisors like KVM hypervisors are designed to run on physical x86 hardware and rely on virtualization extensions offered by modern CPUs (Intel VT and AMD SVM) to virtualize the Intel architecture. It is now possible with Ravello’s nested virtualization technology.
Ravello’s nested virtualization technology is called HVX - it runs on the public cloud and implements virtualization hardware extensions (Intel VT and AMD V) functionality in software. Now HVX exposes a true x86 platform type to the "VM" running on top of the public cloud. This allows enterprises to run hypervisors like KVM on AWS. From an implementation perspective, we have adapted our binary translation so that it recognizes the double-nesting, and effectively removes one layer of nesting and runs the guest directly on top of HVX. As a result, the performance overhead is relatively low. In addition, we have also implemented nested pages support inside HVX which will make running a hypervisor on top of HVX even more efficient.
Currently, Red Hat uses Ravello to run their global training for OpenStack with nested KVM on AWS - in various regions all over the world.
Here is a step by step guide on how to install and run RHEV with nested KVM on Ravello. If you all you need is a host with KVM, you can use one of the vanilla VMs provided in the Ravello library, enable the nested flag and go ahead. .