lvmsync
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
- Licence: GPLv3
- Send Bugs/Patches/Questions To: theshed+lvmsync@hezmatt.org
- Source Code: Available on Github