[prev in list] [next in list] [prev in thread] [next in thread] 

List:       drbd-announce
Subject:    [DRBD-announce] drbd-9.0.24-rc1
From:       Philipp Reisner <philipp.reisner () linbit ! com>
Date:       2020-06-22 13:48:00
Message-ID: CADGDV=XpX3=VWh-9DpdXpmT1W9rCeiutXOtOO2xGxvnF=BqAtw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

only two weeks after the 9.0.23 release I am already starting the
next release cycle. The main reason is a change that was sitting
in a branch that I wanted to postpone after the 9.0.23
release. It is about making the detection of split-brain
situations more reliable.

So far with all DRBD-9 releases, if you have two nodes primary
and they try to reconnect the abort establishing the connection
at the moment they find out that both are primary, and retry in
10 seconds.  DRBD-8.4 was a bit more elegant in such a
situation. It detected the split-brain first and the two go into
StandAlone and stop trying endlessly. That allows users to hook
special handling into the split-brain handler(s).  This release
restores this capability of drbd-8.4. With that comes a new
protocol version.

The other fix is relevant for LINSTOR users where workload might
run on diskless-primary nodes. The particular corner-case bug
triggered when:

- in a cluster of two storage nodes and one diskless node
- one storage node is primary gets hard rebooted
- the workload is moved to the diskless node while
  the storage node is down (primary role moves)
- the new primary does not issue any writes
- the rebooted storage node connects to the other storage node
  first, before it connects to the diskless node
then it stays "Inconsistent" after the resync.

A workaround applicable to all drbd9 versions before 9.0.24 is to
do a drbdadm disconnect / connect between the two storage nodes.

This is a release candidate, please help testing it.

Changelog:

9.0.24-0rc1 (api:genl2/proto:86-117/transport:14)
--------
 * fix deadlock when connecting drbd-9 to drbd-8.4 and the drbd-9
   side becomes sync-source
 * fix an issue with 3 (or more) node configurations; with a diskless node
   and two storage nodes; if one of the storage nodes was hard rebooted
   and came back and the diskless got primary and did not issue write
   requests and the returning storage node established a connection with
   the surviving storage node first, DRBD failed to upgrade the disk
   state to UpToDate after the resync
 * detect split-brain situations also when both nodes are primary;
   this is how it was in drbd-8.4; up to now drbd-9 did not realize
   the split-brain since it complains about the not allowed dual
   primary first; for this change a new protocol version was necessary
 * verified it compiles with Linux 5.7

https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.24-0rc1.tar.gz
https://github.com/LINBIT/drbd/commit/41bee98b3095a06948b9aa48258e9c877e0eadac

Best regards,
 Phil

[Attachment #5 (text/html)]

<div dir="ltr"><div>Hi,<br><br>only two weeks after the 9.0.23 release I am already  \
starting the<br>next release cycle. The main reason is a change that was \
sitting<br>in a branch that I wanted to postpone after the 9.0.23<br>release. It is \
about making the detection of split-brain<br>situations more reliable.<br><br>So far \
with all DRBD-9 releases, if you have two nodes primary<br>and they try to reconnect \
the abort establishing the connection<br>at the moment they find out that both are \
primary, and retry in<br>10 seconds.   DRBD-8.4 was a bit more elegant in such \
a<br>situation. It detected the split-brain first and the two go into<br>StandAlone \
and stop trying endlessly. That allows users to hook<br>special handling into the \
split-brain handler(s).   This release<br>restores this capability of drbd-8.4. With \
that comes a new<br>protocol version.<br><br>The other fix is relevant for LINSTOR \
users where workload might<br>run on diskless-primary nodes. The particular \
corner-case bug<br>triggered when:<br><br>- in a cluster of two storage nodes and one \
diskless node<br>- one storage node is primary gets hard rebooted<br>- the workload \
is moved to the diskless node while<br>   the storage node  is down (primary role \
moves)<br>- the new primary does not issue any writes  <br>- the rebooted storage \
node connects to the other storage node<br>   first, before it connects to the \
diskless node<br>then it stays &quot;Inconsistent&quot; after the resync.<br><br>A \
workaround applicable to all drbd9 versions before 9.0.24 is to<br>do a drbdadm \
disconnect / connect between the two storage nodes.</div><div><br></div><div>This is \
a release candidate, please help testing \
it.</div><div><br></div><div>Changelog:</div><div><br></div><div>9.0.24-0rc1 \
(api:genl2/proto:86-117/transport:14)<br>--------<br>  * fix deadlock when connecting \
drbd-9 to drbd-8.4 and the drbd-9<br>     side becomes sync-source<br>  * fix an \
issue with 3 (or more) node configurations; with a diskless node<br>     and two \
storage nodes; if one of the storage nodes was hard rebooted<br>     and came back \
and the diskless got primary and did not issue write<br>     requests and the \
returning storage node established a connection with<br>     the surviving storage \
node first, DRBD failed to upgrade the disk<br>     state to UpToDate after the \
resync<br>  * detect split-brain situations also when both nodes are primary;<br>     \
this is how it was in drbd-8.4; up to now drbd-9 did not realize<br>     the \
split-brain since it complains about the not allowed dual<br>     primary first; for \
this change a new protocol version was necessary<br>  * verified it compiles with \
Linux 5.7<br></div><div><br></div><div><a \
href="https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.24-0rc1.tar.gz">https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.24-0rc1.tar.gz</a><br></div><div><a \
href="https://github.com/LINBIT/drbd/commit/41bee98b3095a06948b9aa48258e9c877e0eadac"> \
https://github.com/LINBIT/drbd/commit/41bee98b3095a06948b9aa48258e9c877e0eadac</a><br></div><div><br></div><div>Best \
regards,</div><div>  Phil</div><div><br></div><div><br></div></div>



_______________________________________________
drbd-announce mailing list
drbd-announce@lists.linbit.com
https://lists.linbit.com/mailman/listinfo/drbd-announce


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic