XenServer and VMware ESXi, scalability and budget considerations?

In my organization, we are looking to virtualize servers (a dozen of Linux and Windows servers or so).

I am looking for a solution what would scale over the years and that would allow us maximum flexibility (i.e., moving virtual machines from one physical machine to another one when the old hardware becomes obsolete for example).

Which solution would you recommend in the short run and in the long run?


Solution 1:

Citrix Xenserver Free is free. Note that this is a commercialised version of Xen, with management tools around it. It is not the same as installing your favourite distribution and adding Xen to it.

Citrix Xenserver Free gives you central multi-host management, no limit on physical hosts, resource pooling, SAN (iSCSI, FC, SAS) and NAS (NFS) shared storage, live migration between hosts (if using shared storage), P2V and V2V conversion, and so on. And it's free - no limits whatsoever. You can start with a couple of servers, and scale up and out as you grow.

Once you start needing more complicated infrastructure, you can upgrade to one of the pay-for solutions, which gets you high availability, VM provisioning, workload management, etc. It's not free, however :)

Solution 2:

My experience with ESXi has been great. I'm currently using ESXi 4 on Core 2 Quad and Core i7 machines. The free license seems to support only 1 x 6-core physical CPU so if you have dual Xeon's you may want to investigate other free solutions.

Positive:

ESXi seems to run everything. I've run 32-bit and 64-bit versions of Linux, FreeBSD, Windows and even Mac OS X tiger successfully.

Memory overcommitment is a very pain reducing feature. Without this feature you have to micro-manage each VM's memory footprint or else the machine would not start. Most of the time the actual memory in use is far below the physical threshold and you can fire up more and more VM's. ESXi seems to scale to about 4 VM's per core as long as they are not all busy.

Scaling up to the enterprise is as easy as adding an ESXi host to a vCenter Server cluster. Enterprise features of vSphere are currently unmatched by competitors, e.g. vCenter can run two VM's in virtual lockstep allowing instantaneous failover without missing a cycle if a host dies. Another new feature is the automatic powering down of hosts during idle times. The running VM's on these hosts are moved off to other hosts.

Negative:

We did not have good experiences with VMware support. We ended up solving most problems ourselves. Maybe it's just because they're new in South Africa.

You have to be careful with cheap hardware. It's certainly possible to get it to work on hardware not on the HCL list, but you'll have to do some homework. The most important to look out for is NIC, SATA and 64-bit guest support. For 64-bit guest support your host must have hardware virtualization. Note that installing ESXi on the hard drive does not guarantee that you're going to be able to create VM's on it.

Windows Vista and Server 2008 caches very aggressively. This does not work well with overcommitment of memory because Vista will use all memory assigned increasing memory pressure. This does not affect Microsoft's Hyper-V since Hyper-V does not offer overcommitment. Vista and Server 2008's behaviour will probably change in the next version of Hyper-V since overcommitment is on the road map for Hyper-V.

Microsoft support will probably require reproducing the error on physical hardware before they will look at it. The good thing is that those Microsoft products that are supported on Hyper-V are usually also supported on ESX.