Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm looking forward to getting your thoughts on consolidating/virtualizing 3 Windows 2008 Servers and 2 Linux Debian Servers into 1 (powerful) machine.

What is the most cost-effective Virtualization software available to accomplish this. VMWare looks awfully expensive!

share|improve this question

4 Answers 4

up vote 6 down vote accepted

VMWare ESXi is free and is a true hypervisor in that it doesn't require a host OS to run on; it's also the most mature and arguably the most widely-supported VM platform out there.

However, KVM is a big up and comer; Xen is also popular, but since KVM is built into the Linux kernel (as opposed to a separate micro-kernel for Xen), it's quickly catching up with IBM using it for their cloud initiative and all the major distros of Linux now supporting it.

If you're comfortable with Windows, there's also Hyper-V; several flavors are inexpensive or free depending on your current licensing (Enterprise gets you 4 guest VMs using the same "parent" license).

share|improve this answer
    
hi gravyface, thanx for the reply! I get the impression then that there is no way to "mix up" windows AND Linux OS's into one machine? I've heard about Hyper-V on Windows, but this will not allow linux –  Shalan Apr 22 '10 at 0:43
    
Ah, Xen looks like it does! :) –  Shalan Apr 22 '10 at 0:45
    
SUSE and RHEL are supported Linux distros: microsoft.com/windowsserver2008/en/us/… You can "mix up" whatever you want, just like "real" servers in a network, as long as the OS is supported as a guest (VM). –  gravyface Apr 22 '10 at 0:46
    
That's fantastic! Thank u gravyface! –  Shalan Apr 22 '10 at 0:48

Xen - http://www.xen.org or KVM - http://www.linux-kvm.org/page/Main_Page

KVM is the new kid on the block for this, My work has had KVM systems in production from 3 months now and they are a very efficient solution.

We are running it off a base install of Centos.

share|improve this answer

Have you considered taking all the eggs out of your fridge and putting them in one basket? It's probably more efficient, but also relatively fragile. Please make sure you can cope with the loss of all the services on this super-duper consolidated single point of failure at the same time, before you go further into technicalities.

share|improve this answer
    
On the flip side, there are fewer eggs to drop so fewer issues to deal with. Plus, with everything virtualized, moving the VMs to a new machine means no worries about hardware. I would be sure to have good spares in place, tho. –  uSlackr Apr 22 '10 at 2:07
1  
You should seriously consider a clustered, or at least redundant set up for this. Two lower spec'ed servers could run half the VMs each. If one died or you needed to take it offline, you could move all VMs to one. Perhaps you need to take one offline, or give some less memory, but that is a far more robust solution. I'd take slower performing VMs with uptime over downtime any day. If you have a SAN then that is excellent, if not make sure you are able to transfer VMs relatively painlessly. –  Gomibushi Apr 22 '10 at 6:42
    
Thanx Gomibushi, thats great advice! –  Shalan Apr 22 '10 at 8:20
    
@Gomibushi: we have opted for a NAS storage solution –  Shalan Apr 22 '10 at 8:26

Cost effective has different definitions to different situations.

As has been pointed out, KVM and VMWare ESXi are free. If your time is cheap or covered in the businesses (i.e. this is part of your duties and not tacked on to you) then hey, free! And capable of "mixing them up", as virtualization is virtualization. The OS's shouldn't "know" they're not physically on the same hardware.

On the other hand, if you're running critical business applications, then the lack of clustering and support can bite you in the rear. One server running everything on an ESXi server will mean maintenance takes everything down, or a blown power supply or controller or bad RAM will take out a number of servers rather than just the one. That's where the expensive support contracts or additional licensing comes in handy, so you can have availability and redundancy available when the users are outside the server room with pitchforks and torches screaming for your digital behind on a spit.

Small businesses could probably get away with 2 relatively cheap "white boxes" (google it), systems that are homebrewed but fit VMWare's specs to run ESXi for free, then coming up with a schedule to back up and duplicate VM's from the "production" box to the "backup" box, so if a machine dies you fire up the twin and have users use services from that while repairing the other, or splitting the services so that while VM's 1,2,3,4, and 5 are on both machines, you can actually run 1,2, and 3 on box one and VM's 4 and 5 on the other, firing all 5 up in the event of failure.

Or you can get 2 white boxes, connect them to external storage that gets backed up, and store your VM's on that so you have 2 front-end servers that can dole out VM's from the shared storage (which you'd need for full-blown migration and redundancy anyway in most cases).

I'd definitely want some form of hardware backup in case the server dies.

Otherwise you'll want some support contract or pay for migration, as I don't know if you'd want to learn how to get something like fencing and high availability on production systems. It can be done, though. If you search for "linux high availability" you'll find projects like heartbeat and DRBD that can get something working between 2 or 3 Linux servers with redundancy over Ethernet and it can be coupled with XEN. I'd be nervous about doing it with production systems as my trial by fire, but hey...I don't know how adventurous you are. Otherwise more "polished" tools are available from Red Hat and VMWare and Citrix.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.