[DRBD-user] Automatic split brain recovery policies - after-sb-0pri - discard-older-primary

GAUTIER Hervé herve.gautier at thalesgroup.com
Tue Jan 6 14:38:32 CET 2009


Hi there !

After reading (one more time) the pretty DRBD user's guide
http://www.drbd.org/users-guide/s-configure-split-brain-behavior.html
I had noticed that the discard-older-primary policy for after-sb-0pri 
was not listed.
I am not sure to have understood what does this policy, and even if it 
still exists. Someone may explain me ?

I have seen this policy in a drbd.conf example on internet (I don't 
remember where), which describes it as following:

--8<--------------------------------------------------------------------------

    # In case the nodes of your cluster nodes see each other again, after
    # an split brain situation in which both nodes where primary
    # at the same time, you have two diverged versions of your data.
    #
    # In case both nodes are secondary you can control DRBD's
    # auto recovery strategy by the "after-sb-0pri" options. The
    # default is to disconnect.
    #    "disconnect" ... No automatic resynchronisation, simply disconnect.
    #    "discard-younger-primary"
    #                     Auto sync from the node that was primary before
    #                     the split brain situation happened.
    #    "discard-older-primary"
    #                     Auto sync from the node that became primary
    #                     as second during the split brain situation.
    #    "discard-least-changes"
    #                     Auto sync from the node that touched more
    #                     blocks during the split brain situation.
    #    "discard-node-NODENAME"
    #                     Auto sync _to_ the named node.
    #after-sb-0pri disconnect;
    after-sb-0pri discard-younger-primary;

    # In one of the nodes is already primary, then the auto-recovery
    # strategie is controled by the "after-sb-1pri" options.
    #    "disconnect" ... always disconnect
    #    "consensus"  ... discard the version of the secondary if the 
outcome
    #                     of the "after-sb-0pri" algorithm would also 
destroy
    #                     the current secondary's data. Otherwise 
disconnect.
    #    "violently-as0p" Always 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.
    #    "discard-secondary"
    #                     discard the version of the secondary.
    #    "call-pri-lost-after-sb"  Always honour the outcome of the 
"after-sb-0pri"
    #                     algorithm. In case it decides the the current
    #                     secondary has the right data, it panics the
    #                     current primary.
    #    "suspend-primary" ???
    #after-sb-1pri disconnect;
    after-sb-1pri consensus;

    # In case both nodes are primary you control DRBD's strategy by
    # the "after-sb-2pri" option.
    #    "disconnect" ... Go to StandAlone mode on both sides.
    #    "violently-as0p" Always take the decission of the "after-sb-0pri".
    #    "call-pri-lost-after-sb" ... Honor the outcome of the 
"after-sb-0pri"
    #                     algorithm and panic the other node.

    after-sb-2pri disconnect;

--8<--------------------------------------------------------------------------

Some other policies seem to have disappeared:
after-sb-0pri: discard-older-primary
after-sb-0pri: discard-node-NODENAME
after-sb-1pri: violently-as0p
after-sb-1pri: suspend-primary

Are they some old policies not anymore supported ?

Thank in advance.

-- 
Hervé GAUTIER




More information about the drbd-user mailing list