I built an ESXi 4.1 test environment in workstation 9 to test and document an upgrade from vSphere 4.1U2 to 5.1U1a
My test box is:
- Dell PowerEdge 2900 with (2) dual core Intel Xeon 5160’s
- 24GB RAM
- iSCSI Lun attached to hold my VMDKs
- 2008 R2 Enterprise SP1 with VMware workstation 9.0.2 (upgraded from 8.0.2)
I wanted to install some 64-bit VMs inside of my ESX servers and after some cursory reading and searching, I was under the impression that I could. The first thing was to make sure that CPU could handle a 64-bit OS (Intel® 64) VT (Intel® Virtualization Technology (VT-x) and XD (Execute Disable Bit). I went to the Intel site and looked up my processor. Looks like I was ready to go. (I missed the part about EPT=No at the bottom as Mike would say, “RTFM”)
After installing the DC,SQL, vCenter server and making sure communication between the 3 was working, I created my 1 ESXi VM and when I powered it on I got this warning:
There is a setting on the VM under processors that should be enabled. I checked the box, proceeded with my installation.
I configured the host, added it to the cluster. So I thought I was in the clear. Somewhere along the line, before I tried to install a guest, I saw this message.
I searched this message and the previous one and found several posts that suggested confirming the bios settings on the machine that’s running workstation, enabling VT in the settings (we did that) vmx or /etc/vmware/config hacks to fix it and nothing worked. I went so far as to update the bios on the server just in case there were some features that were not exposed on the version I was currently running.
Here are several errors I got when I tried to install 2003 R2 64bit on the ESXi host:
I posted on a vmware community for workstation and got a response that I really didn’t anticipate:
The implication of the message, “Virtualized Intel VT-x/EPT is not supported on this platform,” is that your host does not support EPT.
OK, so there is one more technology that is required to run a nested 64-bit environment. But what is EPT and when did it become so important?
The ability to run a nested environment is fairly new. The newer processors (AMD and Intel both) have begun to include Extended Page Tables (EPT) in to their procs (Nested page tables in AMD). EPT allows each guest VM to have it’s own page table to keep track of virtual & physical memory.
I have my nested environment running fine, there just aren’t any 64-bit VMs running on any of the ESXi 4.1 hosts.
For more info on EPT and Memory Management read here and here.