Last month I wrote a blog post about how I thought that Hyper-V was ahead of VMware in the backup race. If you haven’t read, you should read it before reading this follow-up. Before you read that post, however, you should probably know about what’s in this post that explains Windows VSS and why you should care.
Now that we’re all caught up, let’s summarize, shall we? Although the vStorage API fixes most of the problems with VCB, it still has one gaping hole to be fixed. It does not fully leverage Windows VSS to the point that it is not possible to get an application-consistent backup of Windows 2008 guests without putting some kind of agent in the VM. You can get app-consistent backups of Windows 2003 apps, but the apps won’t know you backed them up because VMware uses VSS_COPY and not VSS_FULL_BACKUP when it creates the snapshot. And that’s why we’re here.
I made a number of recommendations in that post. I listed a few storage systems and backup products that can allow you to work around this little problem, but I left some out. That’s what this post is about. The following is a more comprehensive list of products that have worked around this problem.
- Storage Systems
- NetApp FAS Arrays & the SnapManager line
- FalconStor IPStor
- Backup Software
- Backup Exec
All of these products have a similar approach. They each put some kind of agent in the guest that coordinates the backups. it doesn’t work the same way a typical host-based backup agent does; it’s only purpose is to do what VMware should be doing — putting the apps and filesystems into backup mode at the appropriate time.
Until VMware addresses this limitation, I think these products are your best bet for getting application-consistent backups without having to run guest-level backups.
Update 3/8: As pointed out in a comment, there are other ways of backing up VMs that are better than putting traditional agents in the guest. Both source-dedupe and CDP help with the I/O problem that traditional backup agents in the guest cause because both of them significantly reduce the amount of I/O the guest-level backup causes. The point of this post, however, was how you could do proper backups of a VM without having to do any guest-level backups — even very small ones. But I thought a clarification was in order.