[DRBD-user] Tracking down sources of corruption examined by drbdadm verify

Philipp Reisner philipp.reisner at linbit.com
Wed May 7 15:28:17 CEST 2008

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


Am Mittwoch, 7. Mai 2008 14:26:17 schrieb Martin Gombac:
> On 2008.5.7, at 10:39, Philipp Reisner wrote:
> > Am Montag, 5. Mai 2008 21:41:03 schrieb Szeróvay Gergely:
> >> I done the testing, my experiences are the following:
> >
> > [...]
> > To my knowledge this was a bug in EXT3 that has been fixed in the
> > meantime
> > an all relevant branches (sucker and upstream).
> >
> > We like XFS very much for various reasons, but EXT3 is also an
> > excellent
> > choice for sure.
> >
> > -phil
>
> Hi Phil,
> I've been following this thread for some time now. Please correct me,
> if my assumption is wrong.
> ReiserFS is not appropriate for running over DRBD, since it can cause
> data loss/damage od slave node?
>

No, this is not what I wrote. I never said that this might cause data loss/
damage. What I said is that the way ReiserFS treats the block API,
causes that (probably unused) data blocks are out of sync, when using
DRBD underneath ReiserFS.

This does not corrupt ReiserFS's ondisk data structure, since the
out of sync blocks (are probably) not part of it as long as they are
out of sync. 

What ReiserFS (and the swap code does) is:

1) Hand over an BIO (=in kernel address & size) to the block API, and
   ask the IO stack to write it out to a storage media.

2) Then it modifies that data area again.

3) Finally the driver (DRBD in this case) signals completion via the
   block API back to the initiator of the request.

The consequence is that the initiator of the IO requests actually does
not know which version of the data actually got to disk. (The data
before the modification in step 2 or the data after the modification
in step 2.)


The consequences are:

  * You can not use online-verify with ReiserFS or swap-space.
    If you do so anyways you will get false positives.

  * You can not use the data-integrity-alg feature with ReiserFS or
    swap-space.
    If you do so anyways you will get false positives.


But ReiserFS or swap-space works on top of DRBD for purposes like
like failovers and switchovers.

> I should set all my new clusters with XFS over DRBD but leave old
> ones that use Reiser as is? :-)
>

If there is no other reason to go away from ReiserFS, then yes.


The consequence for us is that we have to rephrase some of the
warnings DRBD prints, and that we need to make this clear in
the documentation.

-Phil
-- 
: Dipl-Ing Philipp Reisner                      Tel +43-1-8178292-50 :
: LINBIT Information Technologies GmbH          Fax +43-1-8178292-82 :
: Vivenotgasse 48, 1120 Vienna, Austria        http://www.linbit.com :



More information about the drbd-user mailing list