Optimised synchronisation of LVM snapshots over a network

For minimal-downtime inter-machine migration, rsync is really the gold standard. You pre-sync everything while the service is still up, then take down the service and run rsync again to copy just the changes.

That works great for a filesystem, but what about when whatever you need to synchronise is a raw block device (such as, say, a VM)? Until now, your only option was to dd the whole thing across while the system was down.

But not any more! With the magic of lvmsync, you can synchronise just the changes made to an LV since a snapshot was taken, typically resulting in an orders-of-magnitude improvement in the downtime required to transfer a block device between systems.

The only requirements are Ruby, SSH, and an LVM-managed block device at the source end (the destination can be anything you like).

Sound useful? Head on over to the git repo and download it today.

Full documentation is provided in the README, and further background is available in the announcement blog post.

Vital Statistics