On 02/08/2012 01:03 PM, Stefan Hajnoczi wrote:
If you intend to run an unmodified drbd server on the rephub, then it may not be possible to get point-in-time backups. (Although this probably depends since things like btrfs or zfs may allow you to get back to arbitrary transactions or timestamps.)
I'm not sure what's the overhead, but btrfs copy-on-write (reflinks) may help.
But you could consider drbd as a network protocol and implement your own server which speaks the protocol. Then you can add any functionality you like, just like the case with the proprietary rephub server you mentioned in your patch. So the only difference is that instead of using a new custom protocol the rephub would need to speak the drbd protocol.
So you're suggesting DRBD-over-NBD on the client, and for the replication hub a custom server speaking the DRBD protocol? I didn't find any documentation for DRBD and the code is only in the kernel, so this sounds like a lot of work.
What about taking the existing Ceph/RBD driver in QEMU and changing it to support arbitrary image formats rather than just raw? That sounds much much easier. The main advantage is that Ceph has a user-space library for use in the replication hub. It also supports snapshots.
Paolo