We're in the middle of P2V'ing most of the network, so the current backup method is likely the worst - the backup agent is still installed on the guest OSs, and the backup device is dutifully pulling them onto tape, one file at a time.
I suspect there's a clever way to script (PowerShell?) a suspend on the VMs, then backup of the .vhd files, and unsuspend the VMs. This seems like it would provide big speed benefits, while losing file-level restore (might be best for things like DCs and app servers).
What methods/policies have you hammered out?
Regular file-level backup of only data should still be used - regardless of if the machine is virtual or not. Backing up the disk file however is a great aid in increasing recovery speed for disasters if the entire guest fails.
There are several approaches to backing up the guests with scripting. You could shut it down, copy the vhd and start it again. A clean system backup. But what you probably want though is creating a snapshot. There's also a mount tool to get to the shadow copies programatically so you could actually move them off the volume as well. There's some debate on how stable the VSS-based snapshot system really is and people have lost data. It's a bit (ok, much more) involved than the approach used by Vmware as far as I can tell and is a bit more annoying to deal with.
I think there's a service pack or patch to the Windows Server 2008 Backup tool that makes it capable of backing up the guests transparently by the way?
Also see Microsofts planning for Backup with Hyper-V.
We use System Center Data Protection Manager (DPM) for backing up our Hyper-V machines. It's not exactly a 'cheap' solution but we've found it to be excellent.
You can configure it to automatically take snapshots at varying intervals of your virtual machines. Restoring a virtual machine from a previous time is also a breeze. We have a SAN for DPM's primary storage, but in addition, we also have a decent tape library (which DPM integrates with very nicely) which stores older generations of our VMs.
Additionally, DPM has specific support for SQL/Exchange backups. Certainly works a treat if you have the resources.
I have yet to configure this myself, however...
If you are using a iSCSI (or other SAN) device then that device can often have a feature to backup live images.
If you don't have this option you can use the Hyper-V VSS Writer in Windows 2008 server backup on the host. See here. Or you can use any backup app that supports VSS writers.
The easiest (and cheapest) method is to just use Windows Server Backup in Server 2008.
How to back up Hyper-V with Windows Server Backup
Snapshots should be used as a short-term rollback solution and should not be used for traditional backup purposes. See here for a brief explanation.
I did exactly what you said. Each night, I shut down the VMs, then do an export and restart the VMs. Then I copy the exports to some other physical location. This is a powershell script that is scheduled with Windows scheduler. The only drawback is that you have to shut down while exporting - which is not always acceptable.
I'm unable to reply to the comments above, so I'll add a few general comments here.
So, in no particular order:
I rather like Windows Server Backup - it gets a lot of stick for dropping tape support but got me out of a jam following an unnoticed RAID5 failure recently. Unfortunately, there's a hard limit of 2TB per volume if you want a block level volume recovery. Any more than that and you're stuck with file/directory selection. The version that ships with R2 isn't bad at all - it's not Backup Exec, but frankly, I could never be 100% sure that BE was actually working and what I want are point in time deltas, not a tape era 3-generation model.
DPM - I may be mistaken but last time I checked I don't think it had support for USB attached storage. In a data-centre, perhaps that isn't an issue, but if you can get DPM for free on one of the MS subscription products, what could be a feature rich, low cost option isn't available.
I've just ran a Windows Server backup to backup a newly running Hyper-V host which only has a couple of VMs. Job ran fine. I'm just restoring to a test server now. The only downside is that I have to restore the entire set of VMs.
I saw on this blog: http://blogs.msdn.com/taylorb/archive/2008/08/20/backing-up-hyper-v-virtual-machines-using-windows-server-backup.aspx that the guy was somehow able to restore an individual VM from the command line tools. I can't quite make out the commands he used since it was only in a small image. So any suggestions on what he did to restore a specific VM would be helpful if anyone knows.
I disagree. I found the cheapest solution is the one that saves backup storage space in the long-term. We found a nice tool for this after a long time of browsing and experimenting and I documented it on my blog here: How I Backup Virtual Machines
Hope this will help someone Peter
BackupAssist is another very good tool. Sql Server backups, Hyper-V backups, restore individual files from entire guest backups, etc.
ARCserve Backup r12.5 id the best solution for VM backups as it can do File Level Restores from Raw/Image Level Backups of Virtual Macines. Also, with the latest Vsphere Patch it sends data straight from the ESX stores to Tape and back without a VCB Proxy.