Monday, February 9, 2015

How do you backup your Hyper-V virtual machines?

By Steve Endow

So, how do you backup your Hyper-V virtual machines?  You DO back them up, don't you?

Today I spent a rare day working on my "data center infrastructure".

Specifically, I was working on my Hyper-V backups.  For the last several years, I've used batch files and VBS scripts to save my VMs and then copy the VHDs to a file server.  While not fancy, this actually worked okay for me for several years.

But since I retired my Windows file server and replaced it with a Synology NAS, I stopped compressing my VHD files, and started to also implement offsite backups as well.  So my VHD files get copied to the Synology, then the Synology has a backup job to copy the VHDs to external drives that are rotated each week.  Since I was no longer compressing the VHD files, my 2TB external drives were filling up, so I had to finally come up with a better system.

While copying VHD files seems adequate for basic situations, there are some challenges.  The obvious downside is compression.  Even if you have plenty of storage, having terabytes of backups sitting around isn't ideal.  And in my case, my limitation was not my main storage, but my external drives that I rotate each week.  In addition to capacity, managing multiple backup versions on the external drives was a hassle.

I looked into using Windows Backup on each VM, but if you attempt to backup to a network share (a NAS, in my case), Windows Backup only supports a single full backup.  It will not do differential backups, and it will not retain multiple backups on a share.  So that option was quickly ruled out.

I then searched for Hyper-V backup software.  After perusing the search results and a few forum posts, I probably found a dozen different names mentioned.  There are a lot of options and I couldn't possibly evaluate them all, or even a half dozen.  But two names seemed to have a focus on Hyper-V, and seemed to have positive feedback.

The two I chose to evaluate are:

I've done some initial testing of both products, and both vendors offer a free limited version, as well as a full trial version.  Both appear to work well, but they seem to be pretty different products in terms of their features and presumed target market.

Veeam seems to be focused on "higher end" features and enterprise requirements with a full set of configuration options for nearly everything, while Altaro has a very good set of features and a simpler design that can get you running backups in a few minutes with less configuration.

Veeam seems to install a ton of "stuff"--it's installer is over 800 MB, with a 139 MB service pack.  The Veeam solution takes quite a while to install, requiring .NET 4 and SQL Server Express, among other things.  Altaro is a relatively svelte 144 MB, with a very fast, simple installation.  It seems obvious that the Veeam installation is larger and more involved because it has some pretty advanced and powerful features--a few of which I don't understand.  The question I have to answer is whether I want those features and whether the potential overhead is worthwhile.

I don't believe that my comparison of the two products will be focused on whether one product is "better" than the other.  It will be a question of whether they can completely fulfill my current requirements, fulfill any possible future requirements I can think of, how easy they are to use and manage, and how much they cost.

From the list prices I've seen, Veeam is a little bit more expensive than Altaro, but offers some additional feature and more flexibility, such as with the configuration of multiple backups and destinations.  The difference is only a few hundred dollars, so price alone isn't a primary driver for me between the two.

My initial impressions are that, objectively, Altaro is probably the more appropriate solution for me.  While I may like a few of the more advanced features and configurability of Veeam, those items are probably not essential for my business.  Nice to have?  Sure.  Critical?  No.  Overhead that I probably don't need to be thinking about given my simple requirements?  Probably.

But would I like just a little more configurability in Altaro?  Yes.  And while it is probably not important technically, I find Veeam's backup files and folder structure to be fantastically simple, while Altaro produces a messy pile of directories and files that look baffling.

My guess is that this difference is due to how the two manage their backup logs and histories.  Veeam appears to use SQL Server Express, so it can maintain metadata in SQL and have a very clean backup file and folder structure, whereas my guess is that Altaro stores the backup metadata on the backup drive, so that's why you see dat files and GUIDs on the backup drive.  Once I do some restores I suspect I'll have a better feel for the merits of each approach.

I just started evaluating the two products today, so I'm going to compare them over the next two weeks to see which one might be a better fit.

UPDATE: 3/10/2015:  After testing both Veeam and Altaro, I ended up purchasing Veeam.

To my surprise, the biggest difference that I noticed between the two was performance.  Veeam was significantly faster, particularly with differential backups that required a compare process.  Also, it seems that Veeam has very good deduping logic when backing up multiple VMs, so if you have 20 GB of identical files on 5 VMs, it doesn't backup 5 copies of the same files, resulting in very efficient use of disk space.

And as I suspected, Veeam offers much more detailed control over everything from backup destinations, archive destinations, and schedules, which makes it more flexible and configurable.

When I went to compare the final prices of the two, Veeam was only slightly more expensive, so the price difference was negligible for me.

I now have almost all of my VMs setup for backup to my main NAS and rotating external drives and it has been working flawlessly.  I'm very impressed, and I wish I would have made this purchase years ago.

UPDATE: 1/16/2015:  I've been using Veeam for months now, and honestly, it appears to be working so well that I've forgotten about it, and completely forgotten about my Hyper-V backups.  I recently purchased a new NAS, so I had move my backup files and then open up Veeam to point it to the new NAS share.  But other than that, I haven't touch Veeam in months.

I did find one minor limitation with Veeam.  It has a feature that allows you to archive backups to a second backup destination.  This is a really nice feature that lets you write one copy of the backup to your main backup repository, and a second copy off site or to a set of backup drives that are rotated off site.  The issue I had was that Veeam expects all backup destinations to be online at all times.  So if I didn't have my external archive drives turned on, Veeam would constantly send me error messages warning me that the drives were not available.  After working with Veeam support over the course of a few days, the tech concluded that there was no way to change how Veeam checks for the backup destinations.  It was a little surprising that my small environment had a configuration that stumped the software, but I suspect that my external USB archive drives (that are typically powered off) are not the typical configuration for Veeam, as it is more enterprise oriented.

Overall, I think it's a great solution and have recommended it to others who want care free VM backups.  And for those who have more demanding VM management needs, the features of the Enterprise version of the Veeam software, such as Instant Recovery, are very impressive.

Steve Endow is a Microsoft MVP for Dynamics GP and a Dynamics GP Certified IT Professional in Los Angeles.  He is the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

You can also find him on Google+ and Twitter


Savas Papadopoulos said...

Since you say you would like better options for configurations, a smaller install, and you like a meaningful folder structure, you may want to have a quick look at BackupChain, too

Hyperoo Backup said...

Hi there,

You should check out too. It's secure, fast and completely free. Comes with Live Backup & Cloud Backup options too.