I have now built a couple ESXi machines at home and it can be tough finding hardware that you know is going to work with ESXi. I thought I would contribute a couple working configurations.
Motherboard: Gigabyte GA-P965-S3 rev 1.0
When I built this, onboard SATA ports and NIC wouldn’t work with ESX 3. I couldn’t even get the IDE channel to work when I bought a SAS card to use. It would boot off the IDE cdrom, get to a certain part and die. I ended up having to buy a sata cd-rom. One of the reasons I bought this board is it had 4 pcie ports which would be helpful when none of the onboard items worked.
Storage Controller: LSI SAS3442E-R PCIe
I got a pretty good deal one one of these hunting ebay. It has an internal and external port. To use 4 internal SATA disks, you’ll need a sff-8484 to 4 sata sff-8448 cable.
Video: PCI Radeon 7000 card (Important since the LSI card takes up the 1 – 16x PCIe slot)
When you manage to put together a supported config, ESXi is a very simple install. If you don’t have supported hardware, it fails and tells you pretty quickly. I ran both ESX 3.0 and ESXI 4.0 on the above hardware.
Once I got it up and running, it’s been a good system. I recently caught the ZFS bug though and I needed a new system to allow me to continue running ESXi and another system to start using OpenSolaris.
After scouring craigslist, I found a Supermicro AS-1021M-T2+B system used. It has a H8DME-2 motherboard. I was a little concearned about whether or not I was going to have to jump through hoops to get this to work. I searched a lot about the NVidia MCP55 chipset. It seemed like I would have to do some work and maybe buy either a new NIC or storage card. Turns out ESXi 4.0 installs without a hitch. Both GigE nics are supported as well as the onboard SATA controller. I even did an informal IOMeter test and I got better iops on this than on my other machine with SAS card.
Now I’m repurposing the Gigabyte machine to be my OpenSolaris machine. As I’ve come to expect, that’s not going as smoothly as I hoped. But that’s another post.