[Ocfs2-devel] Fencing in OCFS2

Sum Sha sumsha.matrixreloaded at gmail.com
Mon May 22 02:42:47 CDT 2006


Thanks for giving this information. I will wait for your proposal
assuming that today OCFS2 fencing will work as per what I have
mentioned in my previous mails.

Thanks.
Sumsha.
On 5/20/06, Daniel Phillips <phillips at google.com> wrote:
> Sum Sha wrote:
> > Don't know if I am looking at very old code or not getting what you
> > want to say.
> > Code for OCFS2 version 1.2.0-1 says that "if a node detects that it's
> > not part of quorum, then panic itself".
> >
> > Inside fs/ocfs2/cluster/quorum.c: o2quo_make_decision() {
> > -> A Node detects if it's part of quorum
> > -> If it's not, then it calls o2quo_fence_self()
> > -> o2quo_fence_self() function stops all the regions by calling
> > o2hb_stop_all_regions() and then calls panic() directly with the
> > message "ocfs2 is very sorry to be fencing this system by
> > panicing\n"...
> > }
> >
> > Now tell me if in this case fencing means panic or not?
> > If you want to stop a node from accessing a shared storage, then
> > panicking may be a good idea (that's what you are doing here), but
> > don't understand if this algorithm stops all the nodes and causes
> > complete cluster shutdown, then how it can be a good idea !
> >
> > Probably I am looking at the older version of the code or some more
> > explaination is needed here :)
>
> You are looking at a quick hack appropriate for a first try.  Now let's look
> at
> what has to be done to make this more generic and less panic-oriented.
>
> 1) Self-fencing is just one possible fencing method, so we need a way of
> plugging
> in and configuring other fencing methods.
>
> 2) There are really two parts to self-fencing:
>       * Target.  Each fencing method includes a specified behavior of the
>         node that is to be fenced.  We must define such behavior accurately,
>         or we won't be able to use self-fencing.  For fencing methods other
>         than self-fencing we still may want to define target behaviour, such
>         as rebooting, or attempting self-cleanup and rejoin.  Each target
>         fencing method specifies the initiation method to be used in order
>         to fence this node.
>
>       * Initiator.  Fencing must be initiated by some quorum node.  A
>         particular fencing method initiates fencing by some means.  For a
>         self-fencing target the initiator method simply waits some number of
>         heartbeats then reports success.
>
> OCFS2 only implements one degenerate form of self-fencing target, and no
> methods
> of initiation.  This needs to be fixed.  I am preparing a specific proposal
> for
> a better fencing harness for OCFS2.  Since it is too long to write in the
> margin
> of this email, I will send it to the list next week in its own email.
>
> Regards,
>
> Daniel
>



More information about the Ocfs2-devel mailing list