<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi JP,<br>
<br>
Thanks for replay. I really appreciate it. I've examined your piece
of config file and most of all I accepted and understood. But my
main previous question was not "how" but "why". <br>
For example, why you choose these parameters:<br>
<div> after-sb-0pri discard-zero-changes;</div>
<div>
after-sb-1pri discard-secondary;</div>
<div> after-sb-2pri disconnect;</div>
<br>
As far as I see the most common configuration consist of two nodes.
If one of them Primary and other Secondary and you have split brain
how your system will react? Secondary node will try to implement
changes from Primary node (after-sb-0pri discard-zero-changes) and
Primary node at the same time will try to discard all changes which
Secondary node doesn't have (after-sb-1pri discard-secondary). Do I
understand it correct? If so, I can't imagine what we will have
finally. I see this settings in lots of examples in the Internet and
my question is "why". Why lots of people chose it? Apparently, my
understanding of split brain behavior is wrong. Could you explain
me, please, how a system from two nodes will self recovery with
these settings? <br>
<br>
Thank you in advance,<br>
<br>
Ivan. (Sydney)<br>
<br>
On 01/13/2011 05:44 AM, J. Ryan Earl wrote:
<blockquote
cite="mid:AANLkTikBzDf56XdMT5FCLRrwRAWp=_7cEH0QC=MzdqgT@mail.gmail.com"
type="cite">
<div>Reply inline:</div>
<div><br>
</div>
On Wed, Jan 12, 2011 at 8:50 AM, Dan Barker <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:dbarker@visioncomm.net">dbarker@visioncomm.net</a>></span>
wrote:
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
As to the I/O handling with DEBD+GFS2+NFS Primary/Primary, I
do not know the<br>
answer. Maybe someone else on the list can help.<br>
<br>
Dan, in Atlanta (the Top Poster)<br>
</blockquote>
<div><br>
</div>
<div>Oh we got a RFC-1855 heretic here ;-)</div>
<div> </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div>
<div class="h5"><br>
-----Original Message-----<br>
From: <a moz-do-not-send="true"
href="mailto:drbd-user-bounces@lists.linbit.com">drbd-user-bounces@lists.linbit.com</a><br>
[mailto:<a moz-do-not-send="true"
href="mailto:drbd-user-bounces@lists.linbit.com">drbd-user-bounces@lists.linbit.com</a>]
On Behalf Of Ivan Pavlenko<br>
Sent: Tuesday, January 11, 2011 4:29 PM<br>
To: <a moz-do-not-send="true"
href="mailto:drbd-user@lists.linbit.com">drbd-user@lists.linbit.com</a><br>
Subject: [DRBD-user] DRBD settings difficulties with
understanding<br>
<br>
Hi ALL,<br>
<br>
I'm a new to DRBD and have some difficulties with
understanding of drbd<br>
settings. I've been reading manuals hard but still have
lots of questions.<br>
<br>
1) Configuring I/O error handling strategies I see detach
method is highly<br>
recommended but pass_on is still default method. Why? What
differences<br>
between these methods? Why we have unrecommended method as
default instead<br>
of the first one? I have<br>
DEBD+GFS2+NFS Primary/Primary solution. What should I use
in my case? Why?<br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>First off, break this into 2 parts: DRBD+GFS2 and GFS2+NFS.
I'll answer the DRBD+GFS2 part. The GFS2+NFS part can be
examined without DRBD. I'd suggest looking at: <a
moz-do-not-send="true"
href="http://sources.redhat.com/cluster/doc/nfscookbook.pdf">http://sources.redhat.com/cluster/doc/nfscookbook.pdf</a> </div>
<div><br>
</div>
<div><br>
</div>
<div>common {</div>
<div> startup {</div>
<div> wfc-timeout 0 ; # Wait forever for initial
connection</div>
<div> degr-wfc-timeout 60; # Wait only 60 seconds if this
node was a degraded cluster</div>
<div> }</div>
<div> net {</div>
<div> # these split-brain options automatically repair common
cases with GFS2</div>
<div> # and at a minimum ensure integrity</div>
<div> after-sb-0pri discard-zero-changes;</div>
<div>
after-sb-1pri discard-secondary;</div>
<div> after-sb-2pri disconnect;</div>
<div> cram-hmac-alg sha512;</div>
<div> shared-secret "replace this secret";</div>
<div> }</div>
<div> handlers {</div>
<div>
split-brain "/usr/lib/drbd/notify-split-brain.sh
<a class="moz-txt-link-abbreviated" href="mailto:sysadmin@fixme.tld">sysadmin@fixme.tld</a>";</div>
<div> }</div>
<div> disk {</div>
<div> # be safe, go into diskless mode</div>
<div> on-io-error detach;</div>
<div> }</div>
<div>
syncer {</div>
<div> verify-alg md5;</div>
<div> }</div>
<div>}</div>
<div><br>
</div>
<div>In your resource you need this to make it dual-primary:</div>
<div><br>
</div>
<div>resource some-resource {</div>
<div> [...]</div>
<div>
<div> net {</div>
<div> allow-two-primaries;</div>
<div> }</div>
<div> startup {</div>
<div> become-primary-on both;</div>
<div> }</div>
</div>
<div>}</div>
<div><br>
</div>
<div>That what you need from DRBD for GFS2. You'll need to
assure fencing somehow. I personally use power-fencing. Once
you have the DRBD+GFS2 specifics above down, you probably want
to research GFS2+NFS.</div>
<div><br>
</div>
<div>-JR</div>
</div>
</blockquote>
</body>
</html>