I've been using Hyper-V for years, probably since shortly after it was released. After I started running several virtual machines, I was faced with a problem. How do I backup these virtual servers?
I started by occasionally copying the VHDs to a file server. As I used more VMs and as the VHDs got larger, I had to start compressing the VHDs with 7-Zip. Which took FOREVER.
So, being clever, I came up with some command line scripts to pause my VMs, compress the VHD to a backup file, then move that backup file to my file server. I thought I was just so smart. The process worked, but it still took FOREVER.
And sometimes it wouldn't work. Sometimes it would fail and I wouldn't know. Sometimes I had to work late and I had to cancel the job. It was untenable.
Then I finally had enough and started to look into Hyper-V backup software packages. I was willing to pay a few hundred dollars to get rid of this administrative mess and headache.
I ended up choosing Veeam for my Hyper-V backup. Of the two packages I tested, Veeam seemed to have incredible performance. It seemed clear that the designers and developers had gone to great lengths to make it very fast and very efficient. I have been using Veeam for a few years now, and tonight I was once again reminded why I appreciate Veeam.
Tonight I was working on a new VM that will be dedicated to testing and development related to the Dynamics GP 2016 Web Client. Active Directory, SQL, Visual Studio, GP, and all of the other fun stuff required to run the GP Web Client on a single machine.
After installing over 200 Windows Updates on the machine, I wanted to make sure and get a backup of the VM. So I opened Veeam on my Hyper-V server, right clicked on my backup job for that VM, and clicked Start.
2 minutes and 30 seconds later, it had completed the backup. A backup of a 100 gigabyte VHD.
Think about that. If I try and copy that 100GB VHDX file between two Samsung 850 SSDs on the same machine, even that copy process takes over 4 minutes. And that's with no file analysis or extra overhead required during a backup process.
Here's the status update from Veeam.
In under 2 minutes, it has read the 100GB file, detected the changes in the file, performed a differential backup of those changes, written that diff backup file to my Synology NAS, and finished the job.
The "DATA" section shows that it only had to read 13.6GB of that 100GB file, and after compression, it only had to write 3.3GB to my NAS, and that process took 2 minutes and 5 seconds. This is phenomenal.
It even performs an analysis that tells me where the bottleneck is in that process, and emails me a status summary if I want.
So now I have my backups of all of my VMs safely tucked away on my NAS, and have the ability to manage a restore if I ever have the need.
If you run VMs that are of any importance, and if you aren't using a Hyper-V backup solution, I highly recommend you start using one.