So I’ve decided I need to get with the times and build myself a small VMware ESXi 4 lab at home. I will be using the lab to consolidate both my pfsense router (currently on an old P3 desktop), my Debian mail/web/dhcp/dns server (currently on an old Compaq EVO P4 1.6 desktop) and to use as a test environment to play with and train myself on the latest technologies. I estimate I will be running around 6 VMs at one time. My file server will remain physical.
I am prepared aiming to spend around $2000AU on this project.
I spent a bit of time toying with whether I would be better purchasing a second hand ~4 year old Dell/HP/IBM server off eBay or whether I was prepared to have a go building a “whitebox” ESX server. The benefit of a brand name server was guaranteed hardware compatibility and also good disk performance using SAS drives and hardware RAID controllers – disk IO and performance is critical in VMware. In the end I came to the conclusion that if I chose the right compatible parts, I would have a much faster system for a similar price if I built it myself. I also figured that using comodotity off the shelf parts it would be far easier to get replacement parts from the local computer shop if something failed rather than hunting around on eBay and waiting for delivery. The spare 4RU Antec rackmount case I had lying around may have persuaded me as well!
Once I’d made that decision it was time to sort out a CPU platform to use. Looking at the parts for sale at my local computer shop, the choice I had was between using an older Core 2 Quad Q9400 platform or a new Core i7 930 platform. Obviously the Core i7 was going to be faster but it was also more expensive! So I did some more research. The decision was soon made when I discovered that the maximum RAM I was going to be able to use with the Q9400 was 8GB whereas the Core i7 chipsets supported up to 24GB. Core i7 it is!
Now it was time to sort out a motherboard. This is where compatibility with ESX can be a problem! I considered a standard desktop board but didn’t want to have to pay for a deluxe model with useless features just to get dual LAN and wanted something I knew would be 24/7/365 server quality. I had a look around on various whitebox ESX forums and and soon came across the Supermicro X8SAX, an Intel X58 chipset server motherboard with 2x ESX compatible Gigabit Intel LAN ports – handy! The problem was… Distribution of Supermicro gear is pretty limited in Australia and this motherboard was nowhere to be found. I started hunting around on eBay and soon found the motherboard for roughly $350AU delivered from the US. Done!
Researching online, it soon became clear that no onboard SATA/RAID controller was going to be up to the task of deliverying good disk performance for VMware ESX. Being familiar with HP servers everyday in my job, I soon honed in on the HP P400i 512MB BBWC SATA/SAS PCIe controller. This controller can be quite expensive however I managed to pick one up for a steal on eBay and there are many more still to be found. If using the P400i, make sure you purchase the additional battery with 512MB cache and not just the standard 256MB model as the controller is not able to do write caching without it and write performance will be poor.
Update 31/03/2010:
I’ve had to make some changes to my original server hardware configuration after realising that Intel Core i7 processors do not support ECC memory. I have now decided to go with an Intel Xeon W3520 processor for around $20 more than the Core i7 930 I was originally planning on using.
Update 13/04/2010:
After doing some research, I’ve decided not to go with a redundant power supply and have purchased an Antec TruePower 550W. The ATX form factor redundant power supplies I found were generally quite expensive and not very high wattage. I would also find it difficult to find a replacement power unit if one were to fail. The TruePower is a good quality power supply and given the server will be protected by an APC Smart-UPS I envisage it lasting a long time. If it does happen to fail then I can pick another one up from the local computer shop!
I was really worried about the performance I would achieve with SATA disks, even WD VelociRaptors, in a ESX environment so bit the bullet and decided to go with SAS disks. Unfortunately SSD was out of the question given the cost per gigabyte. I managed to find brand new HP 146GB 15000RPM SAS drives on eBay for an absolute bargain so have purchased 4 disks. I plan to run the disks in a RAID10 for maximum performance.
I have purchased a SNT-3051 5 disk SATA/SAS hotswap enclosure from eBay to install the SAS drives in. These are available in both single and dual port configurations. I am yet to test how well these work but they are excellent value for money and make it easier to monitor the status of individual drives and replace them in case of failure. If they work well then I will purchase another two enclosures for my file server.
Project cost so far: ~$3000AU. $1000 over budget
Update 20/04/2010:
It’s alive! I still haven’t received the SAS disks I ordered off eBay, although TNT reports they are in Perth, but in my excitement last weekend I decided I would setup the server with a single SATA disk for now and migrate the VMs to the SAS RAID when the disks arrive. I purchased a 4GB Kingston USB memory stick to install VMware ESXi on so I didn’t have to worry about moving the install later (instructions here). The X8SAX has internal onboard USB ports which makes this a very sexy setup!
Little did I know the issues I was in for with my new ESXi server!
I put everything together and the server POST first time perfectly… however, the spare SATA disk I had was faulty (unbeknownst to me) and the HP P400i controller would not pick it up. I did not realise that with no disks detected the controller would not present the F8 option to boot into the controller settings so spent quite a long time trying to figure out if there was something wrong with the RAID controller. In desperation I tried another SATA disk, it was picked up straight away and the controller now let me select F8 at POST and enter into the controller settings.
Now it was time to install ESXi… where I ran into more problems, which I will document soon as I need some sleep! Stay tuned.
Update 25/04/2010:
Unfortunately I have been quite busy so have not had time to update this post. My new ESXi server is now complete and is running brilliantly. I have now installed the SAS disks and have decided to use a RAID5 configuration to try and get more usable space and also to allow for easier expandability later on if required. I realise I may be giving up some performance over RAID10 but this a sacrifice I’m prepared to make. Given the low load of this server as a home lab setup, and the high cost of SAS disks, I think next time I would definitely consider higher capacity SATA disks in a RAID10 configuration rather than SAS for my purposes, I’m running 6 VMs (4x Windows Server 2008) the VMs flew even when I was running with a single SATA disk! Despite not being quite the quality of a HP/Dell/IBM enclosure, The SNT-3051 5 disk SATA/SAS hotswap enclosure I purchased is working brilliantly with both the SAS and SATA disks and comes highly recommended!
So anyway, about the issues I ran into with the X8SAX… basically, despite this motherboard being listed as compatible in the whitebox HCL, I was unable to get VMware ESXi to install or boot with ACPI enabled. The server would simply display a PSOD (Purple Screen of Death – it’s definitely more pink than purple!) after loading the initial boot images.
The error I received was near identical to the one described in this VMware Communities forum post.
Panic from another CPU cpu 0 world 0
To install ESX I was forced to disable the ACPI APIC Support option in the BIOS under ACPI Configuration. I assume I could also have passed the noapic option to the installer but did not try this. Trying to find the source of the issue I tried everything from reseating RAM, changing video cards, removing the RAID controller, various BIOS settings (I am running the latest 1.1 BIOS revision) and everything inbetween but no luck.
With ACPI APIC Support disabled ESX would install and run without issue however would PSOD on shutdown with an ACPI or APIC related error. I have now disabled the VMkernel.Boot.ACPI option on the ESX server (Configuration > Advanced Settings on the host in the vSphere Client) and the server shutdowns cleanly.
Unfortunately without ACPI support I cannot use hyperthreading or any power management features. I have received many hits on this blog specific to the X8SAX and VMware ESX so plan to contact Super Micro to see if there are any obvious solutions or reasons behind the ACPI issue.
[IMPORTANT] Update 15/04/2010
Thanks to Adrian’s comment, I was motivated to spend a bit more time investigating this issue. I checked the post I had made on the vm-help.com forums regarding the X8SAX, and was pleasantly surprised to find 2 users had replied saying that they had managed to get ACPI functioning by using the 1.0c BIOS revision.
I went to SuperMicro’s support website to try and download 1.0c but was unable to find it. What I did find however, was BIOS revision 1.1a which was released only 2 weeks ago on 29/04/2010.
I have now flashed my BIOS with version 1.1a and have enabled ACPI. I am no longer suffering from any ACPI issues and now have hyperthreading and power management!
The hardware:
- CPU – Intel Core i7 930 2.8Ghz Xeon W3520 2.66Ghz (Quad Core)
- Motherboard – Supermicro X8SAX
- Storage Controller – HP P400i 512MB BBWC SATA/SAS
- RAM – 12GB un-buffered ECC DDR3-1333
- Power Supply – Antec TruePower 550W Modular Power Supply
- Disks – 4x HP 146GB 15000RPM 3.5″ SAS
- Case – Antec 4U22ATX
- 4GB Kingston USB Memory Stick
I will keep this post updated as I move forward with this project.
Oh how I wish I had found this post 6 hours ago. The board you are using is on the VMWare HCL in the Supermicro 5036T-TB barebones system which I’m using and getting the exact same issue. Once I disabled ACPI APIC everything started working for me too.
I’ve been talking with a friend from VMWare and Supermicro support all afternoon though so I wouldn’t worry too much about opening that ticket. (: I’m referenceing your post when I update them. Email me if you want me to include you on the thread.
Link | May 15th, 2010 at 6:21 am
I had ESXi 4 running smoothly however didn’t have Intel VT activated. I have a E8500 CPU and am using an Intel DQ35JO but the motherboard was from an OEM and had a custom bios image which for some reason had many options hidden including Intel VT.
I flashed the bios to the latest version and I had the same panic error:
Panic from another CPU cpu 0 world 0
Determined to not roll back i began disabling all of the features (which takes ages when esx is booting and there’s an issue btw).
Finally after about 7 rounds of narrowing down the culprit i got it down to Intel Trusted Execution Technology. I disabled this and ESXi booted up fine again with Intel VT !
Link | July 12th, 2010 at 6:56 pm
Congrats on your build Sam!
I’m also planning on building this can you give the ebay site where you got your motherboard.
How many VM’s are you currently running with this setup?
Also did that board came with a bracket to hold the Intel BXSTS100C cpu cooler
thanks
Link | July 30th, 2010 at 1:38 pm
Hi Ken,
I purchased the motherboard from the following eBay seller: http://cgi.ebay.com.au/SUPERMICRO-X8SAX-MBD-X8SAX-B-BULK-MB-FREE-BIOS-UPDATE-/270391328078?cmd=ViewItem&pt=Motherboards&hash=item3ef4943d4e
I am running 8 concurrent virtual machines but am finding 12GB of RAM limiting when running 64bit Windows Server 2008 VMs. In my environment, the CPU and disk performance is ample and I am sure would cope with more concurrent virtual machines with ease. I plan to upgrade to 24GB of RAM soon to test this out.
The board does allow you to mount the stock CPU cooler that comes with the Xeon w3520 but does not come with any additional brackets. I assume the BXSTS100C requires a metal bracket to mount the cooler? If this is the case, you may need to purchase the bracket separately.
Sam
Link | July 30th, 2010 at 6:35 pm
Hi Sam,
Many thanks for the info. My specs for the one I’m planning to build is Xeon E5520, 24gig ecc, adapted 2405 and four 1 tera wd black caviar. do you think this will be able to handle two vm manchines one for primary domain controller and the second one will run msexchange 2007 with 150users
Many thanks sam and more power
Link | July 31st, 2010 at 9:59 pm
Hi Ken,
Just remember that you will need un-buffered ECC DDR3 on this motherboard – unfortunately it costs about twice as much as buffered ECC!
With SATA disks I would encourage RAID10 if possible for maximum performance. If you are able to move to Exchange 2010 you will see even more performance improvements as it has 50% less disk I/O than Exchange 2007 and is optimised for SATA disks. See here: http://www.microsoft.com/exchange/2010/en/my/storage.aspx
Link | August 7th, 2010 at 12:34 am
Hi Sam,
Reading through your blog I am looking at building very similar server.
Same board
Xeon E5640
16GB of Ram DDR3 Unbuffered.
I wanted to ask, if you were to complete a build again would you run a similar setup? I was looking at the option to buy a ASUS board with i7 but find that if I spend a little more I can get the better quality board etc.
Also wanted to ask have you tired Vsphere 4.1 yet? I assume that this shouldn’t have any issues working.
Cheers!
Link | August 11th, 2010 at 8:32 pm
Hi Nick,
Hard to say what I’d do if I was doing things again…
I think you need to set a clear plan and budget from the start as I quickly went from a $2k investment to what ended up being over a $3.5k AU investment when I decided I wanted “just that little bit more”. Something that stung me was the price of unbuffered ECC memory. It costs a fortune compared to regular registered/buffered ECC which you normally see in multiprocessor servers.
Although my CPU easily deals with as many VMs as I can throw at it, and disk performance is excellent, the most limiting factor seems to be the amount of RAM I have, especially with 64-bit Server 2008 VMs loving RAM (remember, less available RAM just means more paging which means more DISK I/O!). This makes me think I could probably have made do with an i7 and SATA disks and choosing to invest in RAM instead. In saying that, I am very pleased with the machine and see it serving me well for a few years to come! (Once I purchase some more RAM! $$)
For a budget “homebrew” setup, I think that a Core i7, ASUS motherboard (check the whitebox HCL: http://www.vm-help.com/esx40i/esx40_whitebox_HCL.php), non-ECC DDR3, 4 – 6 disk SATA RAID5 or even RAID10 would be more than sufficient!
If you want a Xeon CPU i’d be more inclined to save money and go with a W3530 or similar workstation level Xeon. I’m not sure i see the benefit of purchasing a multiprocessor capable E5640 for nearly 3 times the price to achieve only slightly higher performance and possibly slightly lower heat and power consumption with the smaller die size.
I haven’t upgraded to vSphere 4.1 just yet but plan to soon and don’t foresee any issues. Will update my blog when I upgrade!
Hope that helps!
Link | August 11th, 2010 at 10:41 pm