I have 2 old computers (Pentium III and Celeron computers circa early 2000′s) that I currently use as servers for file storage, backups, and testing. I thought it was about time to consolidate these servers I had, up the performance, and set up a flexible test environment for my coding endeavours.
VMWare’s free ESXi hypervisor piqued my interests earlier last year. It’s comparable to XenServer but apparently has better support for Windows virtual machines. Being a bare-metal hypervisor, it should give better performance than a usual virtual machine sitting on top of a full-blown operating system. So I set my eyes on building an inexpensive but powerful ESXi whitebox that would take over the roles of my old computers.
I did a lot of research on ESXi and compatible components from various sites, blogs and forums. I learned that ESXi was quite picky in what hardware it would run on. I definitely wanted to buy the correct components that would work with ESXi 5, aiming to get everything under $500.
This is what I came up with (prices after price matching/rebates):
- AMD Phenom II X6 1055T Thuban 6-Core 2.8GHz Processor @ $122.17
- ASRock 990FX EXTREME3 Motherboard (ATX, AM3+, DDR3, SATA3) @ $156.60
- Mushkin Enhanced Blackline Frostbyte PC3-12800 8GB 2x4GB Memory Kit @ $44.99
- Gigabyte Radeon HD 5450 Low Profile Video Card @ $14.99
- Coolermaster Elite 350 Black ATX Case with 500W PSU @ $49.69
- Western Digital Caviar Green 2TB WD20EARS
- Trendnet Gigabit Network Adapter TEG-PCITXR
This selection got me well within my $500 budget even after taxes. The hard disk and network adapter were components I already had.
Here are a few reasons why I chose the specific components.
- AMD processors seemed to give the most bang for the buck.
- The ASRock motherboard has IOMMU (for direct passthrough of hardware to the virtual machine), AM3+ support (for upgrading the CPU down the line), and SATA3 (for faster disk performance).
- The video card was the cheapest I could find. Again as an ESXi host, there isn’t much to be shown on the screen.
It was my first time doing a computer build (yes! first!) so I wanted to get it right. In addition to the instructions that came with the motherboard and CPU, I enlisted some help from YouTube videos just to be sure. Here are some in specific:
The build was easier than expected.
Then came the installation of ESXi itself. It was quite uneventful so I won’t bore you with the details, but here are the important bits I found:
- Grabbed the download from VMWare’s site
- Loaded up the ISO onto a USB stick using UNetbootin (I had no CD drive in the new computer)
- Installed ESXi, choosing the same USB stick as the install destination. (This allows full utilization of your hard disk as your VM data store).
- As expected, the integrated network adapter wasn’t recognized, so I found one lying around (the Trendnet TEG-PCITXR) and stuck it into the machine and luckily it worked. I believe ESXi 5 is a lot more lenient with network adapters than its predecessors, and it saved me from purchasing an expensive Intel card. Yay!
Luckily the hardware worked out. Now on to installing the individual virtual machines.
Update [Apr 10, 2012]: Here is the vSphere Client summary page for the host.
I also ended up purchasing an Intel network card (Intel Gigabit CT Desktop Adapter @ $27.00 after price match) so that I could free up my entire PCI bus to be able to be passed through to a virtual machine if I wanted to (you must pass through the entire PCI bus to VMs, however, you can pass through individual PCIe devices).
DirectPath I/O is working as expected. I have passed through the display card and the USB3 controller to one of my Windows VMs so that the box can act as a workstation.
Passing through the video card is working, although there was a problem with Adobe Flash hanging on videos with a green screen. I noticed that others with the same card had the same problem while searching online. The workaround is to disable Flash from using hardware acceleration, but this is not ideal as this increases CPU usage. I’m still looking for a real solution to this, not sure if it’s just this video card I’m using.
Looking forward I probably will also get more memory in the box since Windows VMs take up quite a bit.