Recently in our groovy Community Forum, goLfie (one of our groovy readers) asked a Question about Computer Component Advice. Over time the discussion turned to questions about building a Virtual Server. As I was typing my response to the thread, I figured this topic was worth a front-pager so without further ado…
Server Case and Hard Drives/IO
The first thing you need to do is find a nice tower case. The primary reason for this is drive space. Now granted, if your planning to use an eSata drive enclosure full of drives, this probably isn’t as important.
One of the most common problems I’ve seen in Corporate America when building out a Virtual Farm is they buy the biggest server with tons of CPU and Memory and then throw only a few drives on the box. Guess what happens? Yup, Disk IO constraints. Trust me, skimp on the disk, and it will QUICKLY become your bottleneck guaranteed!
A friend of mine did this recently by building a nice Home Server with tons of CPU and Memory. He then bought a single 1TB drive and partitioned it 80Gigs for OS and the balance for his Virtual Machines. After installing just 4 VMs on the box, the performance was awful on the host and VMs. Just imagine five servers all trying to pull from a single drive spindle. Ouch.
SO, be sure you don’t skimp on the disk. I honestly believe it’s one of the of the most important factors (second only to memory) when building a Virtual Server Host. Try to put as many Drives into the box as your case will hold. The more Drive Spindles, the better. After all, for a few hundred bucks you should be able to get 5-6 500 Gig drives. You can find em on NewEgg for ~$50 each. Optimal config would be a Mirror of the System drive and a Raid 10 (if you have a lot of disk) or good ole Raid 5 for the Volume holding your VMs. If you’re low on disk, just Stripe all the disks into a Raid 5 and build away.
To run any of the Hypervisors out there, you need to ensure you buy a Processor which supports On-Chip Virtualization. Intel calls this Intel VT and AMD, AMD-V. Microsoft’s Hyper-V Server 2008, for instance, won’t even run or install on a Server 2008 box without the VT or AMD-V CPUs.
Additionally, since this is a home system and you probably won’t be buying a motherboard with four sockets, be sure your CPU has at least two cores (preferably four.) That way if you go two sockets and w/4 cores each, you should be good to go from a CPU standpoint.
The heart of any Virtual Server Host is its Memory. Without enough memory, you lose all the gains of being able to host multiple Servers and Desktops on a single Server. Memory is inexpensive these days. Therefore my recommendation is to install 8 Gigs at a minimum. That should give you enough RAM to host up to 8 – 10 Mid-Sized Virtual Machines.
Make sure your motherboard supports multiple CPUs (sockets) up to 16 Gigs or more of RAM (that way you can grow the box as needed), plenty of SATA, eSATA connections, and a built-in raid is also a plus.
If you can, get Video onboard. Don’t waste your money buying a big fancy video card for your Virtual Server host. After all, in most cases, after you build your host you will probably NEVER need to login locally again. A lot of people think you need a big fancy Video card to do things like Aero over an RDP connection. That’s plain wrong. ALL my virtual hosts are headless (no monitor attached) and sitting on a rack in my garage, and I have no problems running my Virtual Vista boxes with Aero Theme via RDP (and trust me, the video cards in my servers are uuuuugggllly.)
For centuries (well not that long) VMWare was the ruling king with the ESX product line and management suite… and you paid for it. On the average, it was $5k a CPU. With the added pressure from Microsoft, Citrix, SUN, and Oracle (yeah, Oracle has a VM product) the King is starting to feel the heat from the pack. That’s good news for us!
The pressure started with Microsoft releasing Microsoft Virtual Server 2005 R2. Although not free at first, Microsoft quickly reduced the price to $0. VMWare responded with the release of VMware Server. Microsoft then bundled it’s latest Virtual Server called Hyper-V with the Windows Server 2008. About six months later they released a free stand-alone Hyper-Visor called Microsoft Hyper-V Server 2008 a direct response to the Stand-Alone Free release of its ESX product line called VMWare ESXi.
And that brings us to NOW. Personally, I run a little of EVERYTHING. My home lab contains one or more of EACH the products I mentioned above MAINLY because many of my older boxes don’t have the Hardware Requirements. As far as MY recommendation, here’s what I would suggest in order:
- ESXi – Free, latest technology, easy install. Just be sure to read up on all the HW Requirements. Important to note Intel-VT or AMD-V is not required unless you want to run 64Bit VMs. I would highly recommend it however for performance reasons.
- Microsoft Hyper-V Server 2008 – Free, great technology, easy to migrate older Virtual Machines running Virtual Server 2005 R2. Should note – Intel-VT and AMD-V Processors are required.
- Windows Server 2008 W/Hyper-V – This allows you to host the VMs you need AND, use the Host to do other things as well. My primary Hyper-V server, for instance, is also my Primary Domain controls with all my FSMO roles on it. Backup Domain Controller is Virtual of course. ;)
AND… that’s about it.
What did I forget? Anyone have any further suggestions?