[DRBD-user] Write order

Lars Ellenberg lars.ellenberg at linbit.com
Tue Jun 14 13:11:53 CEST 2011

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

On Thu, Jun 09, 2011 at 09:40:52PM -0700, LangTuSJ wrote:
> Hi,
> I'm a newbie here and have a quick question.  I did a search in the user
> guide but I can't see how or whether DRBD supports write-order.  I would
> appreciate any pointer here.

What DRBD does not support are upper layers trying to submit "barriers".
What DRBD transparently supports are the more recent linux "FLUSH" and
"FUA" flags (if supported by lower level drivers as well).

In addition to that, DRBD does "reorder domain detection", which we also
call "epoch", and separates those with barriers or flushes on the peer,
unless disabled.

> Another question is whether DRBD provides a recovery from an incomplete
> async replication.  Let's say my primary machine is in the process of
> replicating some data and it goes dead completely. Now my secondary machine
> is in a partially-replicated state.  Does DRBD give me an option to roll
> back to previous checkpoint?

If this was during normal operation ("Connected"), there is no need for that.
the replica is consistent as is, and the file system (or whatever else
lives on top of it) can do it's file system journal replay or any other
crash recovery procedure as usual.

> Kind of like all-or-nothing sync mode but for async replicating.

During a resync, of course, the SyncTarget is inconsistent.
You can use the "before-resync-target" handler to take a (lvm or
hardware raid box or san level) snapshot, and the "after-resync-target"
handler to release it again.

: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
please don't Cc me, but send to list   --   I'm subscribed

More information about the drbd-user mailing list