Crazy Inspiration: XensServer or DSL/Puppy running Xen for Development
Sorry for all the Win requirements but I can't help that...
I'd like to know if anyone has any ideas on a clustered virtual machine server using several different desktops to serve out developer VMs and test VMs with better performance than 4 Corei7 Desktops with 8GB RAM Win7 64-bit hosts and Vista 32-bit guests. Disscussion follows:
Okay, so at work I'm trying to come up with a better solution for our developers who are required to develop on virtual machines where network connectivity outside the room is not allowed.
What we have now is various Windows hosts running Windows 7 64-bit Enterprise, each with between 1.0 and 1.5 TB HDD, 8GB RAM, and 32-Bit Vista guests both as the dev VM and as the target platform. They are using VS 2008 (but have 2010 installed) and MS SQL Server 2005 Express Advanced/SQL Server Management Studio 2005, as well as some other software that I don't feel is important for the purposes of this topic unless someone knows of any specific compatibility issues.
In addition to all that, we have to shut our systems down at night and remove our HDDs and we don't typically boot up all the systems unless we're surging our team, so any clustering options would need to be scalable. Two of the systems are used no matter who is in the lab, but the other 8 really depend on which developer or tester is in the lab. Two static systems and between 1 and 9 more are added based upon our shifts.
Our customer requires that the target is Vista 32-Bit but is working an upgrade to 7 64-bit. We are planning to migrate to Win7 64-bit Dev VMs using VS 2010 unless we can get our 2012 purchase put through. We are also trying to upgrade from SQL Server 2005 but the customer will have to purchase that.
We only have 4 licenses for VMWare Workstation 7 but 10 development systems, and we're being asked to consider open source alternatives to purchasing more (and upgraded) licenses to use more of the Dev Hosts as actual hosts (instead of backups in case a host goes down) and that means I get to play with Linux at work!
What we want is a solution that allows for developers to use their Dev VMs, debug on remote target systems as well as VMs cloned from the target systems.
I've been reading some dated but well documented information on Xen, XenServer, ESXi, as well as some others I'd bever heard of, and I got this wild hair about the notion of using cluster computing, hypervisors, a clustering hyperviser, or an extremely lightweight distro with Xen or KVM.
My favorite distro out of the box has been PCLinuxOS (PCLOS) for a few years now, but its feature-packed and I want to allow our VMs to garner as much of the HW resources as possible, I want to be load-bearing, automate backups, quick recovery/reverting to snapshots, and allow the developers to do remote debugging.
One of the current limitations to development is that the Win7 64-bit hosts with Core i5 and Core i7 CPUS and 8GB RAM are only able to run 2 32-bit Vista VMs at a time. A third VM makes their systems so sluggish that the devs get frustrated and sometimes go home early, or worse, VERY late. I know that Vista hogs memory. We tried making VS 2008 and the Vista VMs large address aware so that they could use more than 3.x GB RAM but currently the dev VMs are set to 3 GB and the test VMs are set to 1, 1.5 or 2 GB but even with the Dev VMs set to 4 GB and 2 test VMs set to 1 GB, the DEV VM is still quite sluggish.
HW upgrades and non-free SW upgrades are out of the question at the moment.
So with all these requirements and goals in place, does it seem feasible to try clustering 10 systems using a hypervisor such as XenServer (preferable clustered), Xen running in a minimalist distro such as DSL, or does anyone have any other idea?