Wednesday, March 11, 2015

Nesting Hyper-V with VMware ESXi 5.5

This weeks posting focuses on the setup of my home virtual lab.  I recently setup my home lab consisting of the following specs:
  • Supermicro X7DAL
    • 2 - Quad Core Intel Xeon E5440 @ 2.83 GHz (8 vCPUs)
    • 2 - NICs
    • 24 GB of RAM
    • 2 - 1 TB Hard drives
  • Evaluation version of ESXi 5.5
Most of my experience has been with VMWare so I choose this as my base system.  Now I wanted to learn more about Hyper-V and have read it could be nested within ESXi.  The following will guide you through configuring a ESXi 5.5 system to allow for nested Hyper-V usage.

In some places there are multiple ways to accomplish the same process through the vSphere client, CLI, or using a tool like WinSCP.  The end result is to modify the config files so how ever you feel comfortable.  I will be utilizing WinSCP to access the files and modify using a Windows text editor.  You can download WinSCP here: http://winscp.net/eng/index.php

  1. To start we need to ensure SSH access is enabled.  I configured mine through vSphere client but you could do this through local access also.
    • Launch vSphere and connect to ESXi system
    • Ensure your system is select in left navigation box
    • Click "Configuration" tab in right navigation box
    • Under software click "Security Profile"
    • Click "Properties" for "Services"
    • Select "SSH" and click "Options"
    • Select desired startup policy
      • I choose to automatically start
    • Click Okay until back at main vSphere page
  2. Now we need to modify our ESXi config file.  This file is located at /etc/vmware/config.
    • Launch WinSCP
    • Connect to your ESXi server through a SFTP connection
    • Navigate to root level and then to /etc/vmware/
    • Select config and Edit
    • Add the following
      • vhv.allow = “TRUE”
    • Save and close the editor
  3. Next we need to create the Hyper-V system profile, we will not be installing yet.
    • Go and create a new VM with specs you desire
      • I configured mine with following:
        • VM Hardware version 8
        • 4 vCPUs
        • 12 GB of RAM
        • 2 NICs
        • 40 GB Thin Hard drive
        • 100 GB Thin Hard drive
  4. Now we need to edit the VM Profile
    • In WinSCP navigate to VM location
      • /vmfs/volumes/[DateStore]/[VM Name]
    • Select [VM].vmx file and Edit
    • Add the following lines:
      • monitor.virtual_exec = "hardware"
      • hypervisor.cpuid.v0 = "FALSE"
    • Save and close the editor
  5. Before we install our OS we still need make some changes to our VM settings
    • Within vSphere access your VM's settings
    • Select "Options"
    • Enable CPU/MMU Virtualization for our VM
      • Under Advanced Select "CPU/MMU Virtualization"
      • Select "Use Intel VT-x/AMD-V for instruction set virtualization and Intel EPT/AMD RVI for MMU virtualization"
    • Expose CPUID to guest
      • Under Advanced Select "CPUID Mask"
      • Select "Expose the NX/XD flag to guest"
      • Click "Advanced"
      • Locate line ecx and modify to following:
        • ---- ---- ---- ---- ---- ---- --H- ----
      • Okay back to main vSphere window
  6. Finally we can install our Hyper-V OS
    • Proceed to install as normal and enjoy creating Hyper-V VMs within ESXi environment.

Following resources we used:

1 comment: