On Fri, May 20, 2011 at 10:21 AM, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Shriram Rajagopalan writes ("[Xen-devel] [PATCH] remus: support DRBD disk backends"):
Normally, "drbd:" disk strings would be handled by
> remus: support DRBD disk backends
> DRBD disk backends can be used instead of tapdisk backends for Remus.
> This requires a Remus style disk replication protocol (asynchronous
> replication with output buffering at backup), that is not available in
> standard DRBD code. A modified version that supports this new replication
> protocol is available from git://aramis.nss.cs.ubc.ca/drbd-8.3-remus
/etc/xen/scripts/block-drbd, I think ? Why does remus need to do
something different ?
Yep. So, remus does use that. But DRBD does not have the replication protocol
that remus needs. Its asynchronous/synchronous replication does not fit Remus'
requirement's of a checkpoint based replication, wherein, the backup has to "buffer"
the disk writes in memory and release them only when the checkpoint is being made.
So, the DRBD version supplied in the link above supports a new protocol D, that does
just that. Now, in order to send the tell to the backup that it can "flush" the buffered
disk writes to disk, some sort signalling has to be done from remus, after VM is
suspended. And this patch does just that.
The block device handling in libxl is in a bit of a state of flux but
perhaps it would be useful to start thinking about whether remus could
use it ?
Dont understand. I do realize that libxl style of block device handling is not stabilized,
and it doesnt support DRBD at the moment. But I am working on remus patches for
libxl support :). I ll start a separate discussion soon on that, but I wanted to get this
one out of the way first.