[Ocfs2-devel] Fencing in OCFS2

Sum Sha sumsha.matrixreloaded at gmail.com
Fri May 19 09:40:42 CDT 2006


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 :)

Thanks.
Sumsha.

On 5/19/06, Daniel Phillips <phillips at google.com> wrote:
> Zach Brown wrote:
> > Sum Sha wrote:
> >
> >>With some experiments and going through OCFS2's quorum code, I am sure
> >>that in case of serial split-brain, quorum algorithm will surely break
> >>and will cause complete cluster shutdown. It will cause all the
> >>subcluster nodes to panic themselves. Please correct me if I am
> >>wrong...
> >
> > Can you provide the details that lead you to be sure of your analysis?
>
> It seems to be the intended behavior.  No node is a member of a quorum
> group so all nodes should be fenced.  This is correct.
>
> What is wrong is the idea that fencing is equivalent to panicking.  No!
> Fencing means preventing a particular node from writing to shared storage.
> The FAQ item is incorrect.  How about this instead?
>
> Q03     What is fencing?
> A03     Fencing is the act of preventing a node from writing to shared
>          cluster storage.
>
> Regards,
>
> Daniel
>



More information about the Ocfs2-devel mailing list