Yes, it’s another blog post about how to create a nested ESXi 5.1 for lab purposes. The reason why I decided to write one was because of my frustration with the guides out there that I tried to follow but didn’t work. Well, technically, it did work but what I wanted to do was to enable 64-bit guest OS inside the virtual ESXi host. I already had several template VMs that I can just clone from my physical ESXi to virtual ESXi host, so in theory, it should be a lot faster than building a 32-bit based VM. Well, guess what? It didn’t happen. I spent quite some time to get it to work the way I envisioned it since the guides that I followed missed the extra step. If I left it alone with 32-bit, then I would’ve probably saved time! But, it really bugged me because my ESXi host has a CPU that allows me to have 64-bit guest OS inside a virtual ESXi host, so I had to find a solution to make it work.
My ESXi host has been neglected so I was running the original ESXi 5.0 image since I built it. Yesterday, I decided to get it updated and build my virtual ESXi lab for the purpose of Nexus 1000V and probably for VCP studies. I have until the second week of December to use the exam voucher that I received from my VMware Academy course that I took last year for the VCP5-DCV exam. If you’re interested in updating your ESXi 5.0 to 5.1, please follow this guide. Now, that guide doesn’t update to 5.1 U1 so you may want to use this instead.
CPU Requirement
To virtualize ESXi, you should have the right CPU or nested virtualization will not be possible. Below are the CPU requirement:
- Intel VT-x or AMD-V for nested 32-bit VMs
- Intel EPT or AMD RVI for nested 64-bit VMs
Preparing Physical ESXi Host
Before creating the our vESXi, we need to edit a config file on our physical ESXi, which is the /etc/vmware/config file. There are two ways that I found on how to do this and are shown below. One way is to use echo command to append it to the config file, which is shown in the left side of the image, and the other way is to use the good old VI editor, shown on the left side. I actually prefer the latter.
Note: This is assuming you’ve enabled SSH services of your ESXi host. Mine has been configured that way since I use vmkfstools command to clone VMs.
If you do not know how to enable SSH service, please use the steps below. Otherwise, please skip and go to the next step.
- Go to configuration tab.
- Click the Security Profile link and a new view is presented. Click Properties link
- Once Services Properties shows up, click the SSH and click Options. A new window will appear labeled SSH (TSM-SSH) Options. Click Start button. This will temporarily enable SSH until the next reboot. If you prefer to enable it completely, please feel free to tick the Start and Stop with host option and click the OK button.
Creating Virtual ESXi 5.1 (vESXi) Host
- Create a standard VM just like you’re used to.
- Once you’re in the Guest Operating System section, choose Linux as the Guest OS and Other 2.4.x Linux (64-bit) as the Version. Once everything is done, do not power on the VM yet.
- Before powering up the VM, there are more settings that needs to be edited. Go to edit the VM properties and check the following: CPU needs to have a minimum of two virtual sockets or cores, at least 2GB of RAM, and of course do not forget about the ISO image on the virtual optical drive.
- Once you’re done with the Hardware tab of the Virtual Machine Properties, go to Options tab and choose General Options settings. Change the Guest Operating System to Other and Version to VMware ESXi 5.x (experimental). If you do not see this, make sure the RAM is at least 1.x GB. Though, I recommend using 2GB of RAM since I’ve encountered issues when I changed it to 1.5 GB of RAM when booting up, YMMV.
- The vESXi host is now ready to be powered on for the first time. Follow the installation process. Don’t worry if you see a warning about HARDWARE_VIRTUALIZATION. Just finish the installation and we’ll fix it later. This is the one that is missing in a lot of the guides out there so that 64-bit OS will work. It may have worked for their lab but mine didn’t work at all using their guide.
- Once vESXi is up and running. Configure the network settings to static or use DHCP reservation. Up to you what you want to do but I like mine static since it reduces broadcast in my network. I also like to add the IP address on my computer’s host file since I do not have internal DNS server at home yet.
Hardware Virtualization Warning
As mentioned earlier, ignore the Hardware Virtualization warning since I was able to figure out on how to fix it. Follow the step in the preparing physical ESXi host section but this time, connect to your vESXi and make the change. Again, this is assuming you’ve enabled the SSH service.
UPDATE: This step is no longer needed. The preparing physical ESXi host section will do the job. Apparently, I was confused on how I fixed the issue. At first, I was using vhv.allow = “TRUE” so that’s the reason why it wasn’t working then made a lot of changes and not tracking what I’ve done.
Modifying vSphere Standard Switch
I do not really know why this is needed but I wasn’t able to start my 64-bit OS without modifying the switch settings. To modify the standard switch, please follow the steps below.
- Go to Configuration tab. Click Networking on the left pane of the screen under Hardware. Find the vSwitch that corresponds to your Virtual Machine connection type. In my case, I have three NICs so that’s why there are two NICs on the screenshot. Once the correct vSwitch has been found, click Properties.
- The vSwitch Properties window will appear. Click the LAN and click Edit. LAN Properties window will appear. Go to the Security tab and tick the Promiscuous Mode box. By default, this is set to Reject so change it to Accept. Once selected, click OK. Close all the windows and you’re done.
Cloning An Existing VM
This step is optional. I’ve only included this for my notes and probably help other people on how to clone VMs on ESXi.
- Create a new folder on your shared storage.
- Issue the vmkfstools -i command as shown below.
- Create the custom VM on the vESXi host and make sure to use the existing disk pointing to the newly created VMDK file.
Thoughts
This is a really great feature that VMware included on their hypervisor. Not a whole lot of people or organizations out there has the luxury of building a lab that consists of physical hardware. That said, having virtual ESXi lab allows individual and/or organization to study VMware related certifications or test before deploying to their production environment. I wish Cisco followed their suit a long time ago but much anticipated release of VIRL (Virtual Internet Routing Lab) then I can’t complain. Though, we’re still missing a lot of information about the VIRL. I know that people are saying there will be free and paid version. I wonder what will be the limitation of the free version. Hopefully, the free version will be able to create a CCIE topology so once the version 5 comes out then individuals who are studying for the lab won’t need to buy new gears and IOS 15 licenses to access all the technologies.
Reference
Want to get certified?
VCP5-DCV Official Certification Guide
Mastering VMware vSphere 5
Mastering VMware vSphere 5.5
Mastering VMware vSphere 6
Disclosure
NetworkJutsu.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.