<!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>&nbsp;&nbsp; &nbsp;after-sb-0pri discard-zero-changes;</div>
    <div>
      &nbsp;&nbsp; &nbsp;after-sb-1pri discard-secondary;</div>
    <div>&nbsp;&nbsp; &nbsp;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&nbsp; 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">&lt;<a
          moz-do-not-send="true" href="mailto:dbarker@visioncomm.net">dbarker@visioncomm.net</a>&gt;</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>&nbsp;</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.
          &nbsp;I'll answer the DRBD+GFS2 part. &nbsp;The GFS2+NFS part can be
          examined without DRBD. &nbsp;I'd suggest looking at:&nbsp;<a
            moz-do-not-send="true"
            href="http://sources.redhat.com/cluster/doc/nfscookbook.pdf">http://sources.redhat.com/cluster/doc/nfscookbook.pdf</a>&nbsp;&nbsp;</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>common {</div>
        <div>&nbsp;&nbsp;&nbsp;startup {</div>
        <div>&nbsp;&nbsp; &nbsp;wfc-timeout 0 ; &nbsp; &nbsp; &nbsp; # Wait forever for initial
          connection</div>
        <div>&nbsp;&nbsp; &nbsp;degr-wfc-timeout 60; &nbsp;# Wait only 60 seconds if this
          node was a degraded cluster</div>
        <div>&nbsp;&nbsp;}</div>
        <div>&nbsp;&nbsp;net {</div>
        <div>&nbsp;&nbsp; &nbsp;# these split-brain options automatically repair common
          cases with GFS2</div>
        <div>&nbsp;&nbsp; &nbsp;# and at a minimum ensure integrity</div>
        <div>&nbsp;&nbsp; &nbsp;after-sb-0pri discard-zero-changes;</div>
        <div>
          &nbsp;&nbsp; &nbsp;after-sb-1pri discard-secondary;</div>
        <div>&nbsp;&nbsp; &nbsp;after-sb-2pri disconnect;</div>
        <div>&nbsp;&nbsp; &nbsp;cram-hmac-alg sha512;</div>
        <div>&nbsp;&nbsp; &nbsp;shared-secret "replace this secret";</div>
        <div>&nbsp;&nbsp;}</div>
        <div>&nbsp;&nbsp;handlers {</div>
        <div>
          &nbsp;&nbsp; &nbsp;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>&nbsp;&nbsp;}</div>
        <div>&nbsp;&nbsp;disk {</div>
        <div>&nbsp;&nbsp; &nbsp;# be safe, go into diskless mode</div>
        <div>&nbsp;&nbsp; &nbsp;on-io-error &nbsp; detach;</div>
        <div>&nbsp;&nbsp;}</div>
        <div>
          &nbsp;&nbsp;syncer {</div>
        <div>&nbsp;&nbsp; &nbsp;verify-alg md5;</div>
        <div>&nbsp;&nbsp;}</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>&nbsp;&nbsp;[...]</div>
        <div>
          <div>&nbsp;&nbsp;net {</div>
          <div>&nbsp;&nbsp; &nbsp;allow-two-primaries;</div>
          <div>&nbsp;&nbsp;}</div>
          <div>&nbsp;&nbsp;startup {</div>
          <div>&nbsp;&nbsp; &nbsp;become-primary-on both;</div>
          <div>&nbsp;&nbsp;}</div>
        </div>
        <div>}</div>
        <div><br>
        </div>
        <div>That what you need from DRBD for GFS2. &nbsp;You'll need to
          assure fencing somehow. &nbsp;I personally use power-fencing. &nbsp;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>