[DRBD-user] Confused about no-disk-drain

Lars Ellenberg lars.ellenberg at linbit.com
Thu Feb 2 16:37:31 CET 2012

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, Feb 02, 2012 at 10:27:05AM -0500, Jake Smith wrote:
> Lars,
> 
> I didn't want to hijack a different thread so I started a new one.  I
> want to understand better why you said in another thread today not to
> use no-disk-drain (quote):
> 
> > Will people please STOP using no-disk-drain.  On most hardware, it does
> > not provide measurable performance gain, but may risk data integrity
> > because of potential violation of write-after-write dependencies!
> 
> I also found you said in another older thread:
> 
> >Do not use "no-disk-drain", unless you are absolutely sure that nothing 
> >in the IO stack below DRBD could possibly reorder writes. 
> 
> Unfortunately I'm not that knowledgeable on storage so this may be a ignorant question but...
> 
> In the man page for drbd.conf (version 8.3.7) it states using none is
> the best performance choice if using a storage device with BBWC.

Which it is. But as you are not the only one confused about this,
we felt the need to clarify and improve the man page, see there:

http://git.drbd.org/gitweb.cgi?p=drbd-8.3.git;a=commitdiff;h=f952dcfe

.-- Commit message:
| doc: clearly document no-disk-drain as DONT USE
| 
| When used carelessly, because it is documented as the method to get
| "best performance" (which it is, but only if used on a suitable IO
| stack), it can theoretically cause write-reordering (potential data
| corruption), and will disturb the drbd protocol causing spurious
| disconnect/reconnect cycles, like:
| 
| block drbd0: BAD! BarrierAck #822515458 received, expected #822515457!
| block drbd0: peer( Secondary -> Unknown ) conn( Connected ->
| ProtocolError ) pdsk( UpToDate -> DUnknown )
| 
| There are very few cases where using that option is "legal",
| and even then the performance increase is marginal.
| 
| Document as DONT USE.
'--

Actual diff (and new man page text) see url above.

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



More information about the drbd-user mailing list