
On Wed, Apr 23, 2014, at 16:13, Craig Sanders wrote:
dd would perform an exact byte-by-byte duplicate of the *entire* disk *every* single time you performed the backup. rsync only backs up the files that have changed since the last backup.
I haven't tried this, but I wonder what would happen if you ran rsync directly on the block devices, rather than on files in the mounted filesystem. There's no reason in principle why rsync's rolling-block algorithm wouldn't work on a block device. Of course, this would require a full read of both devices and then writes of just the changed chunks, so it's not as good as it might seem. But there might be some scenarios in which it could be beneficial -- remote device at the other end of a slow comms link, where the time would be dominated by transfer of blocks down the wire. But building on this idea, you could image a scheme where you keep block-checksums (for some reasonable size of block) for a device, and when the time came, just transfer changed blocks. Of course, this would require cooperation from the driver. You could imagine some sort of virtual device that sits on top of a physical device, but also keeps track of checksums for this sort of incremental device backup -- just like a raid or crypto device sits on top of physical devices, or even LVM. In a way, it's such an obvious idea, that I'd be surprised if it hasn't been tried somewhere already. -- Smiles, Les.