This is the first post on how to backup your Hyper-V environment.
Over the past few years since the introduction of virtualization and virtualization backups, the whole backup industry has changed.
If once backups used to be a speciality of their own, it’s now a big part of any Hyper-V implementation and not a bi product.
I’m not saying that backup specialist are irrelevant anymore, but the game field has changed, there are of course still many types of backups, infrastructure, application level and even network appliances such as routers, firewalls and switches need a backup plan.
Backup storage – on site, on tape, on disk, offsite, over the WAN, in the cloud are also big decisions that need to be made.
However as I said the field has changed, if once upon a time every server needed to be backed up individually at the application level, today we can back up the entire server at the VM level. We no longer need to find a backup solution that fits every application we have, Windows, Linux, SQL, Exchange, Oracle and so on, instead we now have backup solutions that backup up Hyper-V VM’s therefor protecting every server that is running in the Hyper-V environment.
Having said that there are of course factors that still need to be taken into account. A basic backup of a running VM is going to be crash consistent. For those who aren’t familiar with the phrase – Crash consistent backups are non application aware backups and powering on a crash consistent backup is like powering on a VM or a server after a power outage. Now 99.9% of the time the backup will work fine, however there is alway that small chance that the server lets say it was a Microsoft SQL server was in the middle of a transaction and backing it up mid transaction may cause database corruption, now restoring your backup to find that it has a corrupted database isn’t very good is it? To be honest most modern databases know how to cope with a failed transaction and avoid database corruption but the possibility still has to be factored into your backup plan.
So how do we make sure that we have Consistent backups? We use VSS. I’m not going to deep dive in VSS, you can read the Wikipedia entry here, I’ll just explain that this is Microsofts technology to perform consistent backups of both operating system and databases (SQL, Exchange, Sharepoint…). SO basically a good Hyper-v Backup will include VSS support. The support needs to support two levels
a. The Hyper-V Host
b. The os & applications running in the VM
Basically the first part is informing the Hyper-V host of the backup and therefore putting the Hyper-v host in to a VSS aware state for backup, this allows us to back up the actual VM. This will Guarantee that the actual VM is consistent but not necessarily what is inside the VM. Therefor the backup program needs to inform the underlying operating system (The VM itself) of the backup and therefore put the VM into a VSS aware state for a consistent backup. both of these factors will guarantee a consistent state of both VM and operating system.
All of this can be achieved without agents on the VM’s as all VM’s running integration tools can have VSS applied via the hypervisor itself.
We still however need to take into account VM’s running operating systems or applications that don’t support VSS such as Linux. In these cases you may still be required to perform an application level backup to guarantee consistency. The backup can be to a local disk on the same server that will in turn be collected by the Hyper-v backup when it backs up the VM.
The last thing to factor is item level restore. Just because a user deleted a file or E-mail doesn’t mean that we want to restore an entire VM. Therefore the backup plan or backup software needs to include the ability to restore items from inside the backed up VM such as Files, E-mails, Active directory users and so on.
In this post I’ve outlined the main factors that need to be taken into account for a succesfull Hyper-V backup. In my next posts I’m going to mention software that can be used to achieve this.