Yesterday I prepared a lab for a presentation for my customers about Zerto 4.0 new features and replication between VMware vSphere and Microsoft Hyper-V 2012 R2. Unfortunately I didn't have enough physical machines to install mentioned hypervisors so I decided to run/install Hyper-V hosts as virtual machines (nested). Yes, it is possible to run some Hyper-V hosts on VMware vSphere 🙂 I used one physical HP DL 380p G8 with 128GB of RAM.
To be able to run nested Hyper-V hosts, you need to follow the below steps:
- Create a new VM on vSphere with Windows 2012 R2 installed on it.
- Power off the VM.
- If use Web Client please right click on VM and select Edit Settings. On Virtual Hardware tab, collapse CPU and change CPU/MMU Virtualization option to Hardware CPU and MMU.
via Standard Client: please right click on VM and select Edit Settings. On Options tab please click on CPU/MMU Virtualization option and select Use Intel VT-x/AMD-V for instructions set virtualization and Intel EPT/AMD RVI for MMU virtualization.
- Click OK to save new settings.
- Right click on VM and remove it from inventory.
- Locate the VM folder on datastore, download a VM .vmx file to your desktop.
-
Open the VM vmx file and add two below options at the end of file. Save the file.
hypervisor.cpuid.v0 = "FALSE"
vhv.enable= "TRUE" - Upload the file again to datastore.
- Add to inventory/Register the VM again.
- Power on VM and please add Hyper-V role. (Server Manager --> Add Role --> Hyper-V)
- As you can see everything works well and virtual machines can be created inside nested Hyper-V as well 🙂
If you do not do steps 3-9 (miss adding the parameter: hypervisor.cpuid.v0 = "FALSE") you will get the following error:
Hyper-V cannot be installed: A hypervisor is already running