[ClusterLabs] DLM fencing
Eric Ren
zren at suse.com
Tue Mar 29 08:34:25 UTC 2016
Hello Ferenc,
Just want to communicate thoughts, AFAIC.
>
> I've ment to explore this connection for long, but never found much
> useful material on the subject. How does DLM fencing fit into the
> modern Pacemaker architecture? Fencing is a confusing topic in itself
Yes, unfortunately, maybe the best material is source code so far, such
as resource agent(ocf:pacemaker:controld) scripts
(/usr/lib/ocf/resource.d/pacemaker/controld), and libdlm/dlm_controld/, etc.
> already (fence_legacy, fence_pcmk, stonith, stonithd, stonith_admin),
> then dlm_controld can use dlm_stonith to proxy fencing requests to
> Pacemaker, and it becomes hopeless... :)
What you said about dlm_stonith is true. It just invoke an API of pcmk
to tell pacemaker who and when should be fenced. Pacemaker do the horse
work, according to what fencing method is used, I guess the fencing
request will finally reach its destination - a resource agent for fencing.
I'm just starting learning about the way these components cooperate
together. Could you share any updates if you've learn something? I would
be grateful;-)
>
> I'd be grateful for a pointer to a good overview document, or a quick
> sketch if you can spare the time. To invoke some concrete questions:
> When does DLM fence a node? Is it necessary only when there's no
When fencing here is limited within DLM, the time DLM will actively make
request to fence is when uncontrolled lockspace has been found in
kernel. Only a rebooting can make that node clean.
> resource manager running on the cluster? Does it matter whether
> dlm_controld is run as a standalone daemon or as a controld resource?
According DLM's man pages and codes I've read, DLM provide us two
options: daemon(I guess it's short of dlm_daemon) fence, and
dlm_stonith. Daemon fencing is with DLM itself, which have
configuration(man dlm.conf) and lots of
code(dlm/dlm_controld/{fence*|daemon_cpg.c}) to handle fencing. But I
never configured DLM fencing stuff, as defalt, it (may) use dlm_stonith
as proxy, then pacemaker things...
So I think corosync that provide membership knowledge is a must for DLM,
but pacemaker is optional if DLM fencing has been configured and you
don't want other RA, which I also never tried;-)
> Wouldn't Pacemaker fence a failing node itself all the same? Or is
> dlm_stonith for the case when only the stonithd component of Pacemaker
> is active somehow?
>
Please correct me if there's any problem.
Eric
More information about the Users
mailing list