High Availability system on a shoestring Budget

Difference between Fault Tolerant and High Availability.
The difference between high availability and fault redundant systems, as far as I’m concerned is that of “up times”. Fault tolerant systems will almost never have downtime. As a result of redundant disks and servers, fault redundant systems will have spare capacity kick in when one of these component fails. However, fault redundant systems are too costly.

High availability will have some downtime but can be designed to be less costly. High Availability is therefore perfect for budget constrained projects. Most clients are amenable to a 10-15 minute downtime when their servers fail. So this is our target time frame for service restoration.

Consolidate Servers for Savings
We use Microsoft’s HyperV technology to consolidate our servers. It allows us to be ‘green’ as HyperV allows us to retire as much as 10-12 servers into one powerful Quad Xeon server. We have saved money from power savings and less heat from less servers in our center. We have better capacity utilization on our HyperV host servers.

The issue with server consolidation with Microsoft HyperV as well as with other virtualization solutions like VMware and Parallels’ Virtuoso is that when the hardware host fails, ALL hosted Virtual Machines inside the host server also goes down.

Backup Strategy
Our team focused on a backup strategy that could be fairly quickly restored in under 10-15 minutes. We could do an ‘export’ of the VHD files to create the backups. However, this approach would ‘shut’ down the virtual servers. This is unacceptable to our clients.

Another alternative we had considered using was Snapshots. However, this is NOT a backup method. Creating snapshots will not update the base VHD. Normal backup routines would not be able to work with the VHDs as they are opened and in use by HyperV.

Thankfully, there is a little known way to backup VHDs in use by using Disk Shadow.
“DiskShadow.exe is a tool that exposes the functionality offered by the Volume Shadow Copy Service (VSS). By default, DiskShadow uses an interactive command interpreter similar to that of DiskRAID or DiskPart. DiskShadow also includes a scriptable mode.”

Combined with iSCSI storage, we created a viable alternative to backing up and restoring VHD files in under 10-15 minutes.

This means that for so long as we have a valid VHD backed up on an iSCSI partition we can mount it on a HyperV machine and the client’s applications will be up and running. Unlike the old days when we had to rebuild a server from scratch (*groan*). Rebuilding could take more than a day, as you had to apply the patches, and re-install the client’s web application and SQL databases.

Disk Shadow Steps:
1. Open the command prompt
2. Type diskshadow (your prompt will be changed to “DISKSHADOW”)
3. Type “set context persistent”
4. Type “add volume e: alias backupname”, where e: is the drive letter of what you want to backup.
5. Type “set verbose on”
6. Type “create”
7. Wait for the diskshadow to show you the shadow ID and copy it.
8. Type “expose g: (where g: is an unavailable drive letter)
9. It will tell you that the disk was successfully shadowed.

After step 9, you will be able to backup the drive e: to your iscsi partition!
Once you have the valid VHD in an iSCSI partition, you will have the ability to quickly restore these onto a spare hyperV server within 10 minutes.

And that is how you can create a low cost high availability solution using HyperV, iscsi and diskshadow command!