Thoughts on VMWare ESXi

So earlier this week I needed to build a new VMWare server in the lab because the existing VMWare server had a few production instances running on it. Our Lab is mostly hand-me-down hardware and not the best. I didn’t want the VMs I needed to create to impact those legacy production servers.

A coworker had installed VMWare Server 2.0 a few months back and we had several issues with it. It was slow and the Web GUI was nowhere near as easy to use as the VMWare Server client in v1.x. I needed to test out VMWare’s latest offerings before settling on the path forward for work and (by extension) home.

That’s when I discovered that VMWare had released a version of their Bare-Metal Hypervisor ESX under a no-cost license. Woot! I’d rather not be running my multiple VMs under a heavy-weight OS where someone could accidentally compress the running filesystem and leave a time bomb for the next time VMWare was restarted.

Well, the first issue I had was getting ESXi to install on a box with an IDE or SATA drive. Work has its own HW platform we ship to the field (1U, half depth, P4 3.4GHz, 4GB Ram 250GB SATA), and I have a loaner in my lab. ESXi was designed to run on enterprise class HW. The Spec sheet names Dell and HP as the only approved vendors. The installer will only install to a box with 2+GB of RAM and a SCSI or SAS/SATA drives/controllers.

Tip: If you have a Supermicro PDSMi-LN4 motherboard and you want to install ESXi, in the bios set SATA mode to enhanced and enable the Intel RAID driver.

Consulting my research assistant Dr. Google, I discovered there is a way to fool ESXi’s installer into installing to an IDE disk. When you get to the first menu prompt, hit ALT-F1. Login as root (no passwd).

vi /usr/lib/vmware/installer/Core/TargetFilter.py

Change the line:

``

return interface.GetInterfaceType() == ScsiInterface.SCSI_IFACE_TYPE_IDE

to:

return interface.GetInterfaceType() == ScsiInterface.SCSI_IFACE_TYPE_ISCSI

Then type install

You must then hit ALT-F1 again! Install will switch you back to the first installer instance with the old code.

You should be able to Install ESXi to your IDE drive. If you have difficulties, from the command prompt run an fdisk -l to be sure the installer kernel sees your disks.

Thoughts

I must say the ESXi client (VMWare Infrastructure Client or VI Client) is pretty slick. I like the performance graphs and the ability to add NFS shares as data stores.

There are quite a few disadvantages. Some I’m afraid may be show stoppers for what I need at home and at work.

  • The VI Client only runs on Windows. That’s not a big deal for work as we all run or have access to Winders to do our jobs. Its a problem for me at home because I want to virtualize my Windows Box (Doenitz) and that would leave me no way to manage my ESXi server.
  • The VI Client doesn’t support IDE hard-disks in guest VMs. This is the most puzzling because they support them in their other products. Many of the servers I need to virtualize are currently physical boxes with IDE drives. Many times I’m virtualizing our product which, to be useful in testing, has to be exactly like its physical instance. I can’t be creating a custom kernel for SCSI disks, or editing my fstab for device name changes. I also suspect this may play havoc with my efforts to virtualize my Windows box.
  • VMWare Server supports USB pass-through to guest VMs. I don’t see the ability to add a USB device to an ESXi guest.

I have not yet played with VMWare’s networking stack, but the little I’ve seen makes me think it would be real nice fo emulating customer networks. You can tag multiple VLANs to each physical interface and then connect each VM to one or more of those VLANs.

One slight hurdle is that ESXi uses a different VM format than Server. I’m going to have to convert them all from server to ESXi (assuming I can figure a work around for the IDE Disk issue). VMware provides a nice tool Converter to migrate those VMs and also to capture physical boxes and convert them to VMs. I’m gonna mess around with it some more soon.

I think ESXi may be an excellent tool for consolidating some of my production servers to reduce my power and RU footprint in anticipation of seeing a large number of new servers going into our racks. But I’m thinking for Lab purposes it won’t cut the mustard. My next post on this topic may be a review of VMware Server 2.x.

Oh, and if you must poke around in the guts, instructions for enabling SSH on the ESXi server.