25th May 2017

VSphere 6 ESXi inside Ravello

ESXi 6 installation part one of a cloudy Home-lab

below is a step by step guide for running vSphere 6 ESXi inside Ravello cloud.

Download the media

A) Your going to need the media. Download the ISO files for vSphere ESXi 6 from VMware.  You’ll need a VMware account to access the files.  The ISO for ESXi is about 300 MB.

Upload the media

B) Now you have the media, you need to upload it to Ravello.

  1. To import your own images, you need to download and install the Ravello VM Import Utility.
  2. From the Library page select Disk images.
  3. Click the Disk Images and then the ‘+import disk image’ link to upload a disk image (ISO).
  4. You will be prompted to download VM Import Utility if you haven’t already done so.
  5. Follow the on-screen instructions to download and install.  It comes in a GUI or a CLI variant.  I’m not sure that it really makes any difference, so pick the one your most comfortable working with.
  6. Now the client is defiantly  installed, you can upload your image or ISO file. Go to Library page > Disk Images and ‘+import disk image’ link.
  7. This will in fact launch the application you’ve just installed. When prompted, enter your Ravello password.
  8. Select upload and you will then be prompted to select what type of file your uploading.  From here you can upload, OVF, OVA, ISO, VMDK or QCOW formats.  You can also make a connection to an existing VMware environment and extract and upload those. we want to upload a disk image, and manage the installation ourselves.  Therefore select ‘Upload a disk image (ISO, VMDK, QCOW)’.
  9. Browse for the correct file and click ‘upload’
  10. You can track the progress of the upload on the console.  When it’s finished the file will be available for use.

Configure the application and VM

C) The next steps should be familiar even if the terminology might be different. Much like we would create an empty VM within the VMware stack, attach an ISO and install a guest OS.  Within Ravello, you create an application, add VMs to that application and attach ISOs to those VMs.

  1. Create an application in Ravello and give it a name.  This is just a label really.
  2. In the application, add ‘Empty ESX’ from the VM library. This is a virtual machine that Ravello have configured with the correct CPUID to enable nested virtualization.
  3. The configuration of these VM objects becomes available when you highlight them on the canvas.  This should be quite familiar to those that work with VMware technologies.  There are some limitiations for the hardware specification.  4 CPUs will be your maximum and 16 GB RAM. I didn’t hit anything else just yet.
  4. Point the ‘cdrom’ to use the ESXi ISO uploaded earlier.
  5. It probably also pays to ensure that ‘allow nested virtulisation’ is checked on the VM system configuration tab.
  6. Publish the application.

Install ESXi

D) We’re now going to install ESXi.  I’ll assume that this is a task most people can do in their sleep. So I’ll skip a bit here.

  1. first thing to note is that the application icon will change to a green play icon when it’s available.
  2. From within the canvas view, selecting the running ESXi object will enable a ‘console’ button in the bottom right.  This gives you access to the console to complete the installation.
  3. Don’t forget to eject the CDROM before rebooting at the end of the installation.
  4. After the reboot, log onto the server and enable ssh. We’re going to need that to configure the ESXi host to accept nested virtulisation.


E) Ravello is NATing the internal IP schema created thus far, for those NICs identified as having a public IP, to a set of published access points.  The services that are available on those published access points, are selected on the services configuration of the VM object.  From the canvas select the ESXi VM object and browse to the services configuration tab.  This tab allows you to configure the ports and protocols that will be made available externally.  The ‘Empty ESX’ VM object we’re working already has a published ssh service. If you wanted to open up specific ports and protocols you can configure it here.  ‘ALL’ is equivalent to ‘ANY’ in these screens.

ESXi Host Configuration

F) Now ssh is enabled and we have access to configure the next few bits.

      1. On ESXi run –‘esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1
      2. To be able to power on VMs running on ESXi, and avoid the need to configure each of guests with the ‘vmx.allowNested’ flag. Run ‘vi /etc/vmware/config’. Add the following to the file ‘vmx.allowNested = "TRUE"’ and save.
      3. Run ‘/sbin/’. Ignore any warnings.

If you wanted you could now disable ssh to these hosts, it all depends on your requirements.

You should now have a VMware vSphere 6 ESXi host available in the cloud for your home lab.