[Users] backups

Martijn Grendelman martijn.grendelman at isaac.nl
Wed Nov 27 10:24:15 UTC 2013


Hi Charles,

> How are you folks doing your hypervisor level backups?
> 
> Under ESXi I used GhettoVCB which basically took a snap shot, copied the 
> disk image to another location, then deleted the snap.

Thank you for this hint, I didn't know about GhettoVCB and I'm
definately going to have a look at it.

> I haven't been able to find too much information on how this can be done 
> with ovirt.  I see discussions on the new backup API, but I'm not 
> interested in spending big bucks on an enterprise backup solution for a 
> home lab.
> 
> Only discussion I saw on using snapshots for backups said don't do it 
> because the tools don't sync memory when the snapshots are taken.

The problem with snapshot-based backups is, that they are usually only
crash-consistent, meaning that they contain the state of a system's
disks as they would be if you pulled the power plug on a server. If you
restore a system from this type of backup, you would see file system
recovery happening at the first boot, and you risk data loss from -for
example- database servers.

The process that GhettoVCB uses according to your description above is
the same. Your backups are only crash-consistent.

If you need application-level consistency, you need a mechanism to
inform applications that a backup is going to take place (or rather: a
snapshot will be taken) and that they should place themselves in a
consistent state. For example: sync data to disk, flush transaction
logs, stuff like that. Microsoft Windows has VSS for that. For Linux,
there is no such thing (that I know of). Common practice for "quiescing"
database servers and such on Linux is making consistent SQL dumps in a
pre-backup job.

I my case, for most guests a crash-consistent backup, containing a
recent MySQL or PostgreSQL dump is sufficient. I use LVM snapshots (not
oVirt snapshots) for backups, and I use Rsync to transfer the data. I
have been experimenting with Virtsync [1], but I'm having a bit of
trouble with that, so for the moment, it's just Rsync.

Efficiently backing up sparse images with Rsync can be a bit of a
challenge (that's why Virtsync was created in the first place, IIRC),
but using '--sparse' on the inital backup and '--inplace' on subsequent
backups seems to do the trick.

[1] http://www.virtsync.com/

I hope this helps.

Cheers,
Martijn.



More information about the Users mailing list