[Drbd-dev] Running Protocol C with disk cache enabled

Graham, Simon Simon.Graham at stratus.com
Tue Jun 19 17:16:40 CEST 2007


I've been thinking recently about making sure that DRBD handles failures
properly when the disks are run with their caches enabled - in most
cases, I believe that the existing activity log code in DRBD will
correctly handle this by ensuring that portions of the disk that _might_
have been in cache only when a failure occurred are resynchronized.

 

However - there is one case that I don't think is covered currently;
it's entirely possible that I'm missing something, but I wanted to
check; the case in question is if the Secondary system suffers an
unexpected power loss, therebye potentially losing some writes that were
acknowledged prior to the failure. Now, I think that the activity log
maintained by the Primary actually includes the necessary information
about blocks which should be resynchronized _but_ I don't see any code
that would actually add these blocks to the bitmap when such a failure
occurs.

 

Conversely, if the Primary suffers an unexpected power loss, when it
comes back up, it will add all the blocks described by its on-disk
activity log to the bitmap as part of the attach processing on that
node.

 

Maybe this is overkill, but perhaps the Primary should add the contents
of the current AL to the in-memory and on-disk bitmaps whenever it loses
contact with the secondary unexpectedly?

 

Simon

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linbit.com/pipermail/drbd-dev/attachments/20070619/25fb3783/attachment.htm


More information about the drbd-dev mailing list