Distributed Replicated Block Device (DRBD) development
 help / color / mirror / Atom feed
* [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