From: Philipp Reisner <philipp.reisner@linbit.com>
To: drbd-dev@lists.linbit.com
Cc: "Montrose, Ernest" <Ernest.Montrose@stratus.com>
Subject: Re: [Drbd-dev] DRBD8: Split-brain false positive on Primary/primary potential patch
Date: Sat, 18 Nov 2006 12:00:40 +0100 [thread overview]
Message-ID: <200611181200.41393.philipp.reisner@linbit.com> (raw)
In-Reply-To: <BD7042533C2F8943A6A4257A9E31C45439C826@EXNA.corp.stratus.com>
Am Dienstag, 7. November 2006 00:47 schrieb Montrose, Ernest:
> When running Primary/Primary if the Heartbeat connection goes down when
> we recover we always split brain. Simon had an idea which I have
> implemented. He is on vacation so this may not reflect his exact idea.
>
> Essentially with this change, we do not create a new current UUID on the
> node unless I/O is seen. This prevent Split-Brain mitigation when both
> nodes are primary but only one node is originating I/O and never the
> other. He is only stand-by in that case.
>
> Take a look and let me know.
>
Hi Ernset and Simon,
I found an good examply why I do not like this approach:
N1/P --- N2/P/M both primary, FS mounted on N2 and is completely idle.
N1/P - - N2/P/M network breaks (still unchanged UUIDs on both sides)
N1/P/M - - N2/P/M users mounts FS on N1 (and modifies data, new UUID N1)
N1/P - - N2/P/M users umounts FS on N1.
N1/P ->- N2/P/M Network gets repaired. Sync from N1 to N2.
With the patch you sent, we would get a resync from N1 to N2, instantly
corrupting all the cached information that the FS on N2 might have from
the data!
I understand you test scenario therefore I introduced this solution to your
problem:
Implemented a new after-slit-brain-0pri policy:
"discard-zero-changes"
Auto sync from the node that modified
blocks during the split brain situation, but only
if the target not did not touched a single block.
If both nodes touched their data, this policy
falls back to disconnect.
And a new after-sb-1pri & 2pri policy
"violently-as0p" Alsways take the decission of the "after-sb-0pri"
algorithm. Even if that causes case an erratic change
of the primarie's view of the data.
This is only usefull if you use an 1node FS (i.e.
not OCFS2 or GFS) with the allow-two-primaries
flag, _AND_ you really know what you are doing.
This is DANGEROUS and MAY CRASH YOUR MACHINE if you
have a FS mounted on the primary node.
Now you need to configure it like this:
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
And you can do the tests with the behaviour you expect, but other
users are free to select an other behaviour.
-Phil
next prev parent reply other threads:[~2006-11-18 11:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-06 23:47 [Drbd-dev] DRBD8: Split-brain false positive on Primary/primary potential patch Montrose, Ernest
2006-11-16 9:10 ` Philipp Reisner
2006-11-18 11:00 ` Philipp Reisner [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-11-16 12:52 Graham, Simon
2006-11-17 14:04 ` Lars Ellenberg
[not found] ` <5e77099e0611180419s77b9e3f5u172d853634174bd8@mail.gmail.com>
2006-11-18 12:20 ` Sudhakar Mekathotti
2006-11-20 12:39 ` Lars Ellenberg
2006-11-20 13:38 Montrose, Ernest
2006-11-20 13:53 ` Philipp Reisner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200611181200.41393.philipp.reisner@linbit.com \
--to=philipp.reisner@linbit.com \
--cc=Ernest.Montrose@stratus.com \
--cc=drbd-dev@lists.linbit.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.