Need advice: build a "VM Box"

binjured

Limp Gawd
Joined
May 22, 2002
Messages
231
Hey all. Well, I think I've finally determined the most cost-effective and efficient setup for my home-office network. Now I just need some advice on what sort of hardware I'm going to need and a quick confirmation that what I want to do is relatively easily achieved.

I have attached an image below that gives an overview of a piece of the setup. This post concerns the "VM Server" piece.

network.png


Okay, so in an attempt to limit the ridiculous amount of computers I may well have (aka my electric bill) I want to put together an all-purpose VM Server. The two main tasks in its charge are outlined in the cloud, but here's a brief list:
  • Development Server: This is essentially a clone of our current dedicated server that will be used for local development. It will need to run Apache on port 80 and all that standard stuff
  • Testing Servers: These are VMs of various OSes, configurations, etc. that will be used to test stand-alone apps we sell prior to release to ensure the best compatability across platforms.
  • NAS: I'd also like this box to handle NAS for the network. I assume this can be done in any VM.
I would like all these VMs running simultaneously so that they can routinely check for new SVN check-ins and run tests. Here are my two questions:
  • Does this look sane?
  • Assuming 12-20 simultaneously running VMs, what kind of hardware setup (generic recommendations are fine) do you recommend? How much RAM/HDD per VM, for example?
As always, thanks guys (and gals)!
 
For a VM server as you described, you will first want to load up on RAM above all else, then get the faster server/workstation grade multi-core processor (or processors) you can find. Lastly, I would suggest a RAID-5 array to maximize usable storage space over cost, without sacrificing data redundancy. SAS is best if you can afford it, but a SATA array should be more than suitable. Peripheral components, such as the video card, are less important.

I assume with your setup that you plan to run OS X in a virtual machine. I'm not even sure if there is a product that will allow you to do this -- and if there is, I would assume that it would require Macintosh hardware (and OS X running as the host OS.) If this is the case, the only solution is to buy a Mac Pro or an X-Serve. The question then becomes a matter of budget. If we knew more about your budget, we could give more specific advice as to what proc configuration to purchase, how much RAM to get, etc.

Mark.
 
For a VM server as you described, you will first want to load up on RAM above all else, then get the faster server/workstation grade multi-core processor (or processors) you can find. Lastly, I would suggest a RAID-5 array to maximize usable storage space over cost, without sacrificing data redundancy. SAS is best if you can afford it, but a SATA array should be more than suitable. Peripheral components, such as the video card, are less important.
Here's what I've got in the line-up so far:
  • ASUS P5M2/2GBL T (LGA 775) Intel 3000 ATX Server Motherboard
  • Intel Xeon 3050 Conroe 2.13GHz LGA 775 Dual-Core
  • 2x Kingston 4GB(2 x 2GB) 240-Pin DDR2 SDRAM DDR2 667 ECC Registered DC Model KVR667D2D4P5K2/4G
  • 4x SAMSUNG SpinPoint T Series HD501LJ 500GB (RAID 5)
  • Nvidia 6600GT (from an older box)
  • LIAN LI PC-V2000Bplus II

The question then becomes a matter of budget. If we knew more about your budget, we could give more specific advice as to what proc configuration to purchase, how much RAM to get, etc.
One thing to take into consideration is that these will be web-based apps thus the hardware requirements are less than if I were compiling and testing large desktop apps. As for budget, I'm shooting for the lowest I can go while still getting the performance necessary. My main concern is building something far outside of my needs, which I tend to do ;)

Right now the configuration has 1.5TB of storage and 8GB of RAM. I have a suspicion that the storage may be unnecessarily high considering I plan to have the NAS portion of the server on a separate RAID, likely another RAID 5 array. I am considering adding a 3ware 9650SE-4LPML to the list for the primary RAID and let the mobo handle the secondary array. As for the RAM, assuming an allotment of 256mb/VM, I could run quite a few (30-ish) VMs.

Please educate as necessary :p

Edit: You can ignore the part about OS X, the Mac Pro already slated for purchase can handle testing on that platform if necessary, though I doubt it will be as it's Unix-like enough that the other *NIX VMs can cover it.

Edit 2: Right now I think the place I'm in the dark most on is the PSU requirements. Considering an end-game of 8 SATA II drives and everything else, what kind of power am I looking at needing? 800W?
 
Why would each web-based app need to be tested on its own VM?
Well, we'll need to test different configurations as far as OS's go in addition to different web servers / versions, databases, language versions, etc. Excluding the different OS's I suppose it would be possible to create a bunch of different configurations on one server, running various web servers, databases and languages simultaneously, but that would also be a giant pain in the ass and isn't indicative of how real setups are run.

If we were doing all simple, PHP-based drop-in applications I wouldn't be able to justify such a setup even to myself, but as it stands we're not. The box will also be used to run various internal applications, some of which are only available for Linux, others only for Windows. Besides just a VM box I'm trying to create a complete solution for everything we'll need as far as local development and business goes, that will serve us well now and in the future.

Basically, I want 1 computer for everything instead of half a dozen boxes sitting around heating the entire building (and creating an enormous electric bill). Virtualization seems like the best path for that.
 
Well then it looks like you have the basis for a good setup. While I don't have experience with VM machines created to suite your specific needs, for general VM work I would increase the proc to a quad core (and skimp back on the hd space, if necessary, to save some cash.) Note, however, that with a three 500 gig drives running in a RAID-5 array you'll have 1TB of usable space, not 1.5TBs. If you plan to store a lot on NAS, then perhaps 500 gigs of usable space is all you'll really need.

Mark.
 
Well then it looks like you have the basis for a good setup. While I don't have experience with VM machines created to suite your specific needs, for general VM work I would increase the proc to a quad core (and skimp back on the hd space, if necessary, to save some cash.) Note, however, that with a three 500 gig drives running in a RAID-5 array you'll have 1TB of usable space, not 1.5TBs. If you plan to store a lot on NAS, then perhaps 500 gigs of usable space is all you'll really need.
Ah yes, I was quoting the space on 4 drives not 3, but since it is RAID 5 I suppose I can just use 3. I am thinking 3x250gb drives in RAID 5 will be more than sufficient for the VMs. Then another RAID 5 of 4x500gb or something for NAS. I'll look into the Quad Core, too.

I still don't know what I'm gonna need power-wise :\
 
Back
Top