* [Drbd-dev] Failed to reconnect in different volume's size over the 3 nodes
@ 2016-08-11 5:48 박경민
2016-08-11 13:53 ` Lars Ellenberg
0 siblings, 1 reply; 2+ messages in thread
From: 박경민 @ 2016-08-11 5:48 UTC (permalink / raw)
To: drbd-dev
[-- Attachment #1: Type: text/plain, Size: 769 bytes --]
Hello
After 2 commit below
585554e drbd: resize: reduce own sanity checks, trust peer
c09ce4b drbd: resize loop avoidance band-aid
It can't reconnect just in case different volume's size.
That was only occurred over the 3 nodes configuration.
The scenario is below
A(100mb) - B(100mb) - C(90mb)
1. Success to connect at Inconsistent state
2. C node does "Primary --force "
3. All nodes agree 90mb size
4. C node does down
5. A node does down
6. A node does up
7. A and b agree 100mb size
8. C node can't connect because of lower size
I was looking for the code,and I think it was recalculated forcibly because
below
in receive_sizes()
/* Maybe the peer knows something about peers I cannot currently see. */
if (is_handshake)
ddsf |= DDSF_FORCED;
Thank you,
[-- Attachment #2: Type: text/html, Size: 1377 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Drbd-dev] Failed to reconnect in different volume's size over the 3 nodes
2016-08-11 5:48 [Drbd-dev] Failed to reconnect in different volume's size over the 3 nodes 박경민
@ 2016-08-11 13:53 ` Lars Ellenberg
0 siblings, 0 replies; 2+ messages in thread
From: Lars Ellenberg @ 2016-08-11 13:53 UTC (permalink / raw)
To: drbd-dev
On Thu, Aug 11, 2016 at 02:48:38PM +0900, 박경민 wrote:
> Hello
>
> After 2 commit below
> 585554e drbd: resize: reduce own sanity checks, trust peer
> c09ce4b drbd: resize loop avoidance band-aid
>
> It can't reconnect just in case different volume's size.
> That was only occurred over the 3 nodes configuration.
>
> The scenario is below
>
> A(100mb) - B(100mb) - C(90mb)
> 1. Success to connect at Inconsistent state
> 2. C node does "Primary --force "
> 3. All nodes agree 90mb size
> 4. C node does down
> 5. A node does down
> 6. A node does up
> 7. A and b agree 100mb size
> 8. C node can't connect because of lower size
>
>
>
> I was looking for the code,and I think it was recalculated forcibly because
> below
>
> in receive_sizes()
> /* Maybe the peer knows something about peers I cannot currently see. */
> if (is_handshake)
> ddsf |= DDSF_FORCED;
>
Maybe. Maybe not.
That "force" may not do what you think it does,
or what the name of the flag seems to imply.
Size handshake, and resize, with DRBD 9 and "flaky connections",
is very erratic still. We will have to eventually fix that properly,
maybe by using some extension of the cluster wide transactions we
already have.
* don't do that, then
* maybe you want to explicitly set a size limit in the config
* please send logs of the connection attempts,
always from all nodes, always time synced.
Thanks,
--
: Lars Ellenberg
: LINBIT | Keeping the Digital World Running
: DRBD -- Heartbeat -- Corosync -- Pacemaker
: R&D, Integration, Ops, Consulting, Support
DRBD® and LINBIT® are registered trademarks of LINBIT
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-08-11 13:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-11 5:48 [Drbd-dev] Failed to reconnect in different volume's size over the 3 nodes 박경민
2016-08-11 13:53 ` Lars Ellenberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox