2011-06-06

The Rebirth of a Server, ESXi Edition

(This is written from the perspective of a couple of weeks ago; I have just been too lazy to finish it. >_< )

Alright, now as I said before, I suspect this blog will usually be used for documenting some of my many projects. (When and if I actually find the time of course >_>) The first such project is building a VMware ESXi infrastructure.

Now before I begin, I need to provide some background info.  I had a server running VMware Server on Ubuntu with several virtual machines.  For a long time, I have wanted to convert this system to an ESX/ESXi infrastructure, and also to provide the necessary hardware (a large raided storage space) to use as a backup server.  Unfortunately it was forcibly moved to the top of my priorities when both the main hard drive and the power supply failed within a week. No I did not have adequate backups, lets move on.

The core salvageable parts of the server are below:

After considering my options (and available cash) and doing a good deal of research, I decided to go with a three step plan to get the base infrastructure I want up and running.
  1. Get a server up as quickly and cheaply as possible running ESXi using the salvageable parts listed above.
  2. Build an external storage array that the ESXi server can connect to via SAN or NAS.  It should include at least four or five 2TB hard drives in RAID5.
  3. Build a new server to replace the server in step 1 using the latest and greatest hardware. (I am thinking at least 16GB of ram, if not 32GB)

This post will cover step number 1.

I decided I wanted to attempt to install ESXi onto a USB flash drive and use a new internal hard drive as my datastore.  I would also need to get a network card as the onboard Ethernet on that Gigabyte Motherboard is not compatible with ESXi, and ESXi would apparently refuse to install. I splurged a little bit (compared to everything else) on the network card and got a dual gigabit adapter with the assumption that I could just move this to the new server in step 3 when the time came. I also bought another stick of ram and of course a cheep (but still good) replacement power supply. Below is the hardware:
  • LaCie 130981 MosKeyto 4GB USB Flash Drive ( $17.99 - link )
  • Hitachi 7200RPM SATA 500GB Hard Drive ( $39.99 - link )
  • Intel PRO/1000 PT PCI Express x4 Dual Port Network adapter ( $167.99 - link )
  • Corsair XMS2 PC6400 800MHz 2GB DDR2 Desktop Memory ( $34.99 - link )
  • Diablotek PSDA600 600W ATX Power Supply ( $34.99 - link )

I assembled the hardware, downloaded ESXi from the VMware site ( http://www.vmware.com/products/vsphere-hypervisor/overview.html ), burned it to a CD, and boot up the system from the CD.  The installation took a bit, but went very smooth. I was able to select the USB drive, and everything completed successfully.

On reboot, I configured the bios to boot from my flash drive, and waited anxiously.  Here I met my first, and really only, problem. "PANIC: Failed to find USB boot partition" As you can imagine, I was quite lost as to what was going on.  Apparently that Gigabyte motherboard has more issues than just the Ethernet compatibility issue.  I got conflicting reports on what was actually happening, but it looks like it has something to do with the Gigabyte motherboard not properly emulating the USB as a hard drive.  In any case, I found the fix thanks to this blog post: http://doomdogus.wordpress.com/2009/10/27/booting-esxi-from-usb-on-gigabyte-motherboards/  The first comment by "Zoltan Csizmadia" shows the steps in a strait forward fashion:
[First boot from a linux live CD like Ubuntu]
fdisk /dev/sd*
choose x => extra functionality (experts only)
choose f => fix partition order
chhose w => write table to disk and exit

After this, I was able to boot properly into ESXi and was good to go.  My server has been reborn.  Step 1 complete!

~David