Friday, January 28, 2011

Feasability of running a Virtual Network

I used to run an Active Directory domain on my home network, but have since migrated back to a plain old Workgroup. However, since my job is in .NET software development, I'd like to be able to work with some Windows based server technology, which means running a domain (technically you don't have to, but for all intents and purposes, you do).

I kind of like not having a ton of old computers lying around jacking up my power bill, so I'm hesitant to build/buy more hardware. Enter Virtualization. I currently run a bunch of VM's for various things, but spinning up more than a couple at a time really starts to bog the system down, especially if they run a server OS.

It could just be that I simply need more memory (at 4GB right now), or would something else be of better use? I'm running VMware Workstation. I'd need to run the domain controller (Win 2008), a SQL Server (2008), TFS (2008), maybe SharePoint (2007), and an XP client or two, though not necessarily all at once.

Would I see better performance running a server based VM (like whatever VMware's version of Virtual Server is)? I'd prefer to keep it on my workstation, but would it be better suited to build a separate server to host all the VM's?

  • VMWare ESX (the server version you mention) IS in fact more efficient and faster than Workstation but is a bare-metal OS - i.e. it takes over the whole machine.

    I think you can do what you need with a few tweaks, in particular I'd max out your memory (it's cheap at the moment) AND switch to a 64-bit version of your OS of choice, or it won't use the memory. You might also consider running the VMs from a different disk and also consider adding more processors or more cores. If you can put some of these changes in place you'll be able to run all of these VMs well enough to keep your knowledge up to date.

    Waldo : I would also recommend looking at fast 10k+ hard drives, maybe even raid 0, if you plan on running more than a couple of them at a time.
    From Chopper3
  • The host really needs to be 64bit and needs more RAM, fill the machine up! Also you might consider Hyper-V on Server 2008 if you have an MSDN subscription they may be included and are possibly faster than VM Workstation and moving slightly more towards ESX in terms of performance.

    Chopper3 : You're 100% right about 64-bit & memory but HyperV is a dog performance-wise and VMW WS is much quicker in all but one or two synthetic situations.
  • We run an extensive VMware ESXi network here for testing, however Server 2008 as a DC uses a lot of RAM. SQL server is likely to be pretty heavy on resources as well.

    Really you're going to want a separate box. Enter VMware ESXi. Most people don't understand is that ESXi has limited hardware support, it's only designed to run on server class hardware. There are plenty of posts around the next saying How can I get ESXi to recognise XXX or YYY. The short answer is you cant. The good thing is install only takes a few minutes so you won't waste much time figuring it out :) If you put together something like the hardware I've listed below however, you'll have a home virtualization server with performance second to none and will get all your buddies drooling with jealousy :D

    • Quad core Xeon processor (speed doesn't really matter here, it's got 4 cores, get the one with the most cache you can afford)
    • Intel server motherboard
    • minimum 4Gb RAM (6 would be better, giving you ~1.5Gb per server host. You'll need FBDIMMS for a Xeon by the way)
    • Cheap RAID controller (Adaptec 2405 is about the cheapest supported by ESXi, you'll also need a SAS->SATA breakout cable unless you use SAS drives)
    • 1x SATA disk for booting (any old drive will do)
    • 2x SATA or SAS disks running in a RAID10 array for VM storage

    I put together an dual-quad-core core server with 8Gb RAM and 4x1Tb disks for under $2000, if you've got some spare drives for storage you should be able to put something that will support 4-5 server guests and a few XP guests for under $1000.

    swilliams : I see that ESXi is free, but it looks like managers for it cost money. How feasible is it to run ESXi without one?
    berberich : You get the VMware Infrastructure Client for free, which is really all you need to manage it. It's only when you want to create clusters of hosts and use features like Vmotion, load balancing, and high availability that you need to pay for VMware Virtual Infrastructure Server.
    From sascha
  • If you have any experience with Linux you will find VMWare Server 2.0 on Ubuntu Server 8.04 (64bit) runs very well. With Ubuntu Server, unlike Windows, you run without a full GUI environment which frees a lot of resources for your virtual machines. This is exactly what ESXi does, but as Sascha points out ESXi has a very limited list of supported hardware.

    Also keep in mind that the area where ESXi support is very limited is RAID controllers. I have had many "unsupported" computers (desktops & servers) run ESXi fine sans RAID support. In a development/testing environment this maybe for your needs. If this is the case download ESXi and give it a try on hardware you already own before splashing out some pricy HP or Dell gear.

0 comments:

Post a Comment