1.) Base-OS: Linux (Debian, Ubuntu, whatever)
2.) Hypervisor with stable Click-UI and following features:
2.a.) One-click Copy/Backup of VMs, preferably ones that are actually still running; reasonable disaster recovery behavior (the Hypervisor and VM shouldn’t wet their pants if not all virtual/real Hardwarefeatures are present — it should be possible for a VM to run with a standard base set of features provided by the Hypervisor — in a pinch I want to be able to Launch a backuped VM on a Laptop to rescue data and such)
2.b.) zero-fuss virtual-to-real NIC configuration and zero-fuss NIC/bridging configuration on the base OS/Hypervisor, all with a click-UI — preferably with neat network diagrams (in a pinch the system should be operateable by part-time student admins)
2.c.) copy/paste/instancing of preconfectioned VMs. Launching a fresh extra Linux or Windows installation shouldn’t take more than 5 minutes or so and be as idiot-safe as possible
2.d.) Zero-fuss dynamic storage management across all running VMs. (see below)
3.) Storage abstraction: I know this issue is separate from CPU virtualisation, but none-the-less the same scenario camp: I’d like to be able to virtualize storage. That is, be able to allocate storage as I wish to any VM in any size I want, with dynamic storage assignment options (max. expansion parameters and such). This probably involves two stages: combining all storage from a storage rack into one monolithic storage block with dublication across HDDs for safety and then a Hypervisor with the ability to dynamically assign virtual storage to each VM as configured. Is this sort of correct?
What experience do you guys have with storage virtualisation? As I mentioned, I have no problem with the base OS doing the first stage on its own, without some killer NAS setup that costs as much as a Ferrari, but I do prefer some Click-UI solution that provides zero-fuss storage management.
4.) Nice to have: Dynamic CPU assignment based on time and/or usage. I’d like a render VM to get extra CPUs at night and would like to time that — for example, a VM gets extra CPUs between 1 and 7 o’clock for extra rendering power while the other VMs get to share CPUs.
I’m thinking two *big* failover Linux PC setups (dublicate setup), 2-3 storage racks and one or two professional applications that do Hypervisor/VM stuff and storage as mentioned above and can also cost a little (500 — 3000 Euros).
OK, so that’s a broad overview. For perspective: The setup is for an agency with digitial and print production pipelines and the only web-consultant/web-dev as the single non-intern IT person. That would be me. I know my way around the Linux CLI and have been doing Linux since the 90ies, but do my deving and daily work on OS X and, as you can image, have no time for "scripting-masturbation“ or any setups that come to a grinding halt if I’m not around when a VM runs out of space or memory. We also have no time for downtime longer than 2-3 hours if disaster strikes.
What do you suggest? What are your experiences with FOSS setups and perhaps with proprietary pointy-clicky apps? Hoping for some educated input on this. Thanks.