Can you use VMware ESXi in a home or small office environment? In short, absolutely! What started out as a simple experiment to help me learn more about VMware ESX has now turned into a full blown experiment running my current Windows Home Server setup, along with two Linux servers used for an online FEAR Combat gaming server (for the kids of course) and a private WordPress website development environment.

In summary, it all works extremely well on a single low cost Dell server and I am now able to create and tear down “server sandboxes” right next to my “leave alone” server setups (i.e. Windows Home Server) given the relative ease with which I can now create new virtual servers. More experimentation is necessary to get to streaming high definition videos which seem to struggle, but standard resolution and audio seem to work fine so far. This certainly seems like virtual servers are now well within the reach of the tekinerd and small business operations.

Here’s what I now have running after a few weeks of learning and experimenting:

Hardware:

  • Dell T110 server (2x 160G drives in my particular setup), 2G DRAM (~$399 special at Dell)
  • VIA Artigo A2000 for the iSCSI storage box with 2x WD 500G drives (~$350 all in)

(Note – the other Artigo shown in the picture is running the dedicated server for the Earthquake monitor project)

Software

  • Dell: VMware ESXi v4 (free download from VMware)
  • Dell: Client OS#1: Microsoft Windows Home Server ($99)
  • Dell: Client OS#2: OpenSUSE 11.2 ($0) setup as a FEAR Combat Server ($0)
  • Dell: Client OS#3: OpenSUSE 11.2 ($0) setup as a WordPress Development Server ($0)
  • VIA Artigo A2000: Openfiler v2.3 ($0) configured with 2 iSCSI targets (317G + 465G available)
  • Laptop: VMware vSphere Client software ($0)

Setting Up the VMware Host Environment

This was relatively straight forward. The ESX software was downloaded as an ISO image file from VMware who emailed a free license key, which I burnt to a DVD and loaded onto the Dell T110. This took very little time and pretty much self-configured. The only change I made directly on the Dell ESX installation was to change the VMware management IP address to a static one vs. one assigned by my home router automatically. Once complete, I downloaded the also free vSphere client software onto my laptop, installed it and made sure I could log into the VMware ESX host over the LAN. This required I knew the IP address of the ESX server running on the Dell which was displayed clearly on the Dell VGA screen directly attached (Dell’s T110 built in remote server capability, iDraq, for this price doesn’t support console redirection as with the SuperMicro reviewed here). This was the last time I needed a monitor on my Dell. Once up and running, the vSphere console allowed me to view the hardware configuration, create virtual server setsups, carve out the various memory and hard drive resources on the Dell and also allowed me to remotely install the operating systems required for the next phase.

Linux O/S Install

I downloaded the open source version of OpenSUSE 11.2 from the Novell site as an ISO image onto my laptop hard drive. Using vSphere, I created a new virtual machine or VM (under File/New or simply right click on the ESX server IP address) and selected the Linux generic 32 bit operating system. I was also asked to assign the virtual machine to a local hard drive store and choose how much of the hard drive (or datastore) I wanted to allocate for the new VM and it’s operating system, which in this case I set to 30G for the relatively simple setups required for FEAR or WordPress. Rather than burn the ISO image to a physical DVD, when firing up the virtual machine (VMware provide the equivalent of “play” button as you find on your everyday DVD, iPod or CD player to start up the VM), I was able to mount the downloaded ISO file on my laptop as a virtual DVD/CD ROM through the vSphere console interface which represents the virtual VGA screen output from the new virtual server just created. For some reason, VMware doesn’t allow you to mount the host file as a virtual bootable DVD drive until you’ve started the virtual machine up (“Connect to ISO…” is grayed out while the VM is powered off), so by the time you’ve assigned the ISO file, the VM will most likely have passed the point where it can boot from the virtual DVD drive. To get around this, with the console still open after the failed boot attempt (as shown in the screen capture), after mounting the local SUSE ISO file as a DVD drive, simply reboot the VM using the VM/Guest menu option “Send Ctrl-Atl-Del” (or if you click in the console window, you can press “Ctrl-Alt-Ins”). The regular Linux install screen should then appear in the console interface as desired.

The process was repeated for the second Linux server and the FEAR Combat Linux server downloaded and installed for one, and the WordPress/XAMPP environment for the other (installation/setup of these environments not addressed here).

Creating a Virtual Windows Home Server

Installing Windows Home Server (WHS) was a little more complicated as VMware ESX doesn’t natively support the older IDE disk driver required by the WHS install environment as it is based on Windows 2003 Server. It is still possible to install however using the LSI or older BusLogic SCSI drivers which can be downloaded at LSI’s web site. You can also find more information on where to find the driver at a useful blog post here or use the version I created: [lsi scsi driver ZIP file]. Before starting the installation, the floppy disk image file needs to be mounted as a virtual floppy so it is ready for when the WHS installer requests a driver for the install hard drive.

When creating the virtual machine for WHS, the minimum memory and allocated disk space need to be 1GBytes and 70G respectively, otherwise the install will not work. Also, during the VM creation, the operating system type selected should be Microsoft Server 2003 Standard 32 bit selection. For the O/S install, I used the Microsoft WHS installation disk loaded into my laptop DVD D: drive, which I mounted using the vSphere console interface (press the CD ROM icon) as a virtual DVD once the VM had been started. You may have to wait a few seconds before restarting the VM after mounting the virtual DVD so it is recognized correctly prior to the VM searching for a bootable DVD image. Depending on the speed of your LAN connection, the install may be a little slower than normal as the VM is reading the DVD over the home or small office network rather than directly.

Once the installation loads completely, it will reach a point where it reports “Hard drive capable of hosting Windows Home Server was not found….” which is where the LSI floppy driver comes in. With the mouse clicked on the console so it is active in the window shown, answer yes and navigate to the floppy drive or A: and select the .inf file showing on your virtual floppy disk. If you don’t see a file, recheck that the virtual floppy drive is setup correctly or that the .flp mapped to the virtual floppy drive is the correct version.

If all goes well, the Windows installer should proceed as expected and the virtual WHS can be configured per the regular installation instructions via a client PC using the WHS Connector software utility or via Windows Remote Desktop Connection to the newly created home server .

Setting up the Optional iSCSI Storage for WHS

For the WHS bulk storage requirements (70G is insufficient to backup most home PC environments), my first preference was to simply connect my old USB drive from the standalone WHS to the Dell T110’s USB port and reuse it directly. Unfortunately, VMware ESX does not natively support USB drives in the v4 installation I was using. However, ESX does support an iSCSI device natively quite well. So I decided to build a low cost iSCSI storage device given there were a number of free open source options out there. The one I used was OpenFiler (www.openfiler.com) which is a very nice unified NAS/iSCSI solution based on Linux rPath, and more importantly has a relatively straight forward remote web based configuration tool allowing it to be configured as either a NAS or iSCSI SAN storage device. More information on Openfiler as a low cost iSCSI solution and attaching to ESX can be found here and other blogs.

Given I had a spare shoebox sized VIA Artigo A2000 box, I installed Openfiler onto the Artigo which housed two 500G WD SATA hard drives. The 1GHz CPU with 1G RAM was more than adequate to handle the iSCSI storage requirements for regular home server backup plus light weight file storage and audio streaming (e.g. iTune library). I had some trouble initially using the two WD drives (OpenFiler would allow me to create physical partitions or volumes) which I had used in a prior configuration under Windows. This was corrected after performing a low level quick erase on the drives using the free WD disk utilities which cleared the drives back to their factory/new state.Obviously Openfiler is a sensitive to this. Once installed and running, I used the Openfiler remote web admin console to create two iSCSI target devices of the max available 317G and 465G capacities presented, then via the vSphere ESX utility enabled the built in iSCSI software I/O adapter and attached it to the now visible iSCSI targets being presented on the home network by the Artigo/Openfiler box. The two new ESX iSCSI datastores were then assigned to the WHS VM via the Edit Settings option available when you right click on the WHS VM name in the left hand pane of the vSphere utility. 

Once the two devices were added to the virtual machine, moving across to the Window Home Server management console, I could now see the two new hard drives added and proceeded to add them to the storage pool that WHS uses for backup and general file shares, etc as illustrated. Note, ESX only allowed up to 256GB to be provisioned up to the client operating system as shown, so adding further amounts needs to be done in 256GB chunks which WHS will aggregate into a single large storage pool.

Wrap Up

In summary, VMware ESX is certainly a tool that can be used in a geek environment. The FEAR combat server has been pretty much thrashed by outside gamers for serveral weeks now and I like the fact it is not running on the same server as the primary WHS backup or Linux WordPress server. So being a VM where it can be self-contained, rebooted and isolated from the main servers has worked well so far with no visible signs of performance degradation operating via a virtual machine. The setup will not handle high definition video streaming as well as I’d like (though it was fine with the standard sample videos provided with Microsoft Vista). I am still in the process of moving my client PC backups over to the new virtual home server, but expect to do this over the next few months though still need to determine how to migrate my old backups without losing them. One thing for sure, once in the VM environment, moving virtual PCs and servers around my mini-cloud and upgrading to new hardware in the future will be so much easier in theory. Time will tell.