Converting our budget-strapped dev environment to ESXi - how to maximize availability on the cheap

We've already run through the process of virtualizing our production servers and now we want to do the same with our dev environment. However, our provider took care of all of the ESX host and cluster configuration (SAN, physical switches, host profiles, etc).

Now we want to virtualize our dev environment using the free ESXi, and I know it "works" out of the box as soon as you install the hypervisor, but I want to try to set it up "right" with some redundancy in place, even if it is a poor man's solution.

So here is what we've got:

  • 3 Dell R710 (or similar) servers (one is equipped with 1.3 TB, the other two with 600 GB). We are equipping 1 of them with 36 GB RAM. The other two have 8 GB combined.
  • 4 crappier servers of varying abilities
  • Two small office server desktops, one with SCSI controller and 600 GB storage

The questions I have:

  1. Where should I store the data? Locally on the big hard 1.3 TB, or set up a FreeNAS box using one of the small office servers (like the SCSI one)
  2. Is it OK to rely on 1 ESXi server if there are consistent backups?
  3. Is there a cheap or free replication solution available?

What strategy do you recommend?


Solution 1:

If consistency in technology is not a concern and you really are looking for a poor man's solution, KVM might be the answer you are looking for.

KVM seems to be getting some traction in the virtualization scene with alot of the industrial strength capabilities of a headless virtual solution similar that of vmware. Here is a site that give a good overview on what the setup might look like. Ubuntu already has some distro's that come with native support for KVM, so theres some active communities/forum's that are available.

As a consideration to your hardware, availablity and latency are you biggest concern in terms of usability for you developers. IMHO, bigger is better and would try to keep the virtual platform off the wire as much as possible (within reason to your desired # of guests, resources allocated to each guest, etc).

Solution 2:

  1. I would store sensitive data on a system with RAID (snapshots , backup ) . If not possible(yap ...budget ) , I would go with FreeNas(installed on the most healthy - not the most powerful of the 4 second lane servers . You could manually setup backups with scripts to a second server (on the one with 600 GB storage ) .
  2. I guess so , but doing increment backups and preparing a second instance of the the free ESXI or Xen Server , to have in back (so any outage could be easily overcomed (because you have the Snapshots-full backups on the FreeNas).
  3. I guess scripts should do :) and easy ones because as I understood you'll only be backing up simple backups . For easy backups you could try Cobian Backup(windows ) , or try to implement an rsync system (online if you will also backup a lot of smaller files ).

Solution 3:

2) Is it OK to rely on 1 ESXi server if there are consistent backups? yes if you can suffer some down time.

3) Is there a cheap or free replication solution available? I might be unclear as to what you are asking but if you use a nfs based datastore if one host goes down switch to the other host boot vm. the same thing can be done with an iscsi based solution I just prefer nfs.

if you want a more robust solution get a zfs/nfs based datastore then you can do remote replication etc.. I'd suggest openindiana as the zfs host.