About me

Paolo Iannelli Picture

Paolo Iannelli

Big Daddy at Mega Labs

Amsterdam Area, Netherlands
Information Technology and Services
C, Python, Big Data, Scalability, High Availability, Performance
Expert Software Engineer with more than 12 years of experience.
Strong in critical thinking, problem solving and high performance architectures.
Paolo Iannelli Labs Rss

Running ESXi 4 inside ESXi 4

Posted on : 22-03-2011 | By : Paolo Iannelli | In : System Administration, Virtualization

Tags: , , , , , , , , , , ,


Today I had to test a setup of ESXi 4 but I didn’t have any physical server to test, so I decided to virtualize ESXi 4.1 in my existing ESXi 4.1 instance.
It took a while, browsing VMware knowledge base and some forums, but then was even easier than what expected.

In this short post I will make you a simple list of what to do to get everything working in a snap of fingers.

Before you start : bear in mind that you can’t launch 64 bit machines virtualized in the already virtualized ESXi server. This is a known limitation.

So if you plan to create only 32 bit VMs, this tutorial is fine for you.

To begin, you need to create a Virtual machine with at least the following specs :

  1. 2 CPU
  2. 2 Gb RAM (with less you can’t install ESXi)
  3. 1 or more NICs of type E1000 (flexible or VMXNET2/3 won’t work)
  4. SCSI bus Logical Parallel or Logical SAS (no paravirtualized)
  5. Allocate a good amount of disk space for the datastore.
  6. Set Guest Operating System to Red Hat Linux version 5 or 6, 64  bit.

After you created the virtual machine go in :

Edit Settings -> Advanced -> General -> Configuration Parameters

click Add Row and set monitor_control.restrict_backdoor to TRUE

Go now in the vSwitch properties relative to the virtual machine you just created and under the Security  tab enable the Promiscous mode (Accept)

Now you can install your ESXi host simply mounting the ISO image as usual. Once installed you can either attach the server to an existing vCenter instance or use the server as standalone.

In short :

  • You create the VM as above
  • Set the configuration parameter specified
  • Configure promiscous mode
  • Install and use the ESXi host !


Why would you do that?

Well in some cases it may sound OK to test some functionality of ESXi (getting familiar with CLI or API for instance) without having a real hardware for it. I think is enough as a valid reason, isn’t ?

Remember one thing : try always to change the MAC address of the created VMs inside the virtualized ESXi instance else you may get a MAC address conflict and loose connectivity on one of the affected VMs.

If you have any question just leave me a comment below !