Did you know with the release of vSphere 5.1 and vCloud Director 5.1, there are now APIs that allow you to enable/disable Nested Virtualization aka (Virtual Hardware Virtualization) on a Virtual Machine?
Disclaimer: Nested Virtualization is not officially supported by VMware.
In the vSphere 5.1 API, there are two new properties related to Nested Virtualization:
- nestedHVSupported is a new capability property which indicates whether your physical ESXi 5.1 host supports Nested Virtualization. This property is only true IF your physical CPU supports BOTH Intel-VT/EPT OR AMD-V/RVI. For more details, please refer to this article.
- nestedHVEnabled is new property on a Virtual Machine which allows you to enable or disable Nested Virtualization. You will need to ensure you are running a Virtual Machine with ESXi 5.1 Compatibility (e.g. virtual hardware 9) and your physical ESXi 5.1 host supports Nested Virtualization.
Here is a screenshot of performing the same operation manually using the new vSphere Web Client:
In the vCloud Director 5.1 REST API, there two new operations related to Nested Virtualization:
- /action/enableNestedHypervisor is a new operation on a Virtual Machine that enables Nested Virtualization. Here is an example using the curl utility enable VHV:
curl -i -k -H "Accept:application/*+xml;version=5.1" -H "x-vcloud-authorization: xX4IrWWi+Ofq77zOqPJaMEYHHJt4jxrwP+ntkO2tecQ=" -X POST https://vcd.primp-industries.com/api/vApp/vm-d9870545-a29a-4175-bff4-ae075f1c1bc0/action/enableNestedHypervisor
- /action/disableNestedHypervisor is a new operation on a Virtual Machine that disables Nested Virtualization. Here is an example using the curl utility to disable VHV:
curl -i -k -H "Accept:application/*+xml;version=5.1" -H "x-vcloud-authorization: xX4IrWWi+Ofq77zOqPJaMEYHHJt4jxrwP+ntkO2tecQ=" -X POST https://vcd.primp-industries.com/api/vApp/vm-d9870545-a29a-4175-bff4-ae075f1c1bc0/action/disableNestedHypervisor
Here is a screenshot of performing the same operation manually using the vCloud Director UI:
If you plan to leverage Nested Virtualization in your environment, you now have simple way of automating this feature for Virtual Machines that you wish to support Nested Virtualization.
Dominic Duncan says
App developer in Melbourne uses several kind of programs such as API and VPN to be able to address to whatever the public's need when it comes to their mobile services. And yes, it really is good to see blogs that explains how to make a software work.
Navin R. Thadani says
Interesting post. Just ran into it. In fact its very closely related to something that Im working on. Its called Ravello Systems http://www.ravellosystems.com. We have developed some technology that we are very proud of and are offering a completely free beta. Its essentially a high performance nested hypervisor (we call it HVX) along with an IO overlay (SDN). It allows you to take a multi-VM application running on VMware (or KVM) in a datacenter and run it unmodified on AWS/Rackspace/HP Cloud - on both PV and HVM VMs. So you can simple upload your vmdk/vmx and deploy to any cloud. Thats it. Any users willing to give it a shot and provide some feedback?