Provided by: cman_3.1.7-0ubuntu2_i386 bug

NAME

       fence_node - a utility to run fence agents

SYNOPSIS

       fence_node [OPTIONS] nodename

DESCRIPTION

       This  utility  runs a fence agent against nodename.  The agent and args
       are  taken  from   the   running   cluster   configuration   based   on
       cluster.conf(5).

       fence_node is a wrapper around the libfence functions: fence_node() and
       unfence_node().  These libfence functions use libccs to read  the  node
       fencing  configuration,  which  means that corosync (with cman and ccs)
       must be running to use fence_node(8).

       The fenced(8) daemon is the main user of libfence:fence_node(), and the
       configuration  details for that function are given in the fenced(8) man
       page.

   Fencing vs. Unfencing
       The main use for unfencing is with storage/SAN (non-power) agents.

       When using power-based fencing agents, the  fencing  action  itself  is
       supposed to turn a node back on after first turning the power off (this
       happens  automatically  with  a  "reboot"  action,  and  needs  to   be
       configured explicitly as "off" + "on" otherwise.)

       When  using  storage-based  fencing  agents,  the fencing action is not
       allowed to re-enable a node after disabling it.  Re-enabling  a  fenced
       node  is  only  safe once the node has been rebooted.  A natural way to
       re-enable a fenced node's access to storage, is for that  node  to  re-
       enable  the  access  itself  during its startup process.  The cman init
       script calls fence_node -U (nodename defaults to  local  nodename  when
       unfencing).   Unfencing  a node without an <unfence> configuration (see
       below) is a no-op.

       The basic differences between fencing and unfencing:

       Fencing

       1. libfence: fence_node(), command line: fence_node nodename

       2. Turns off or disables a node.

       3. Agents run with the default action of "off", "disable" or "reboot".

       4. Performed by a cluster node against another node that fails (by  the
          fenced daemon).

       Unfencing

       1. libfence: unfence_node(), command line: fence_node -U nodename

       2. Turns on or enables a node.

       3. Agents run with the explicit action of "on" or "enable".

       4. Performed  by a cluster node "against" itself during startup (by the
          cman init script).

OPTIONS

       -U     Unfence the node, default local node name.

       -v     Show fence agent results, -vv to also show agent args.

       -h     Print a help message describing available options, then exit.

       -V     Print program version information, then exit.

FILES

       The Unfencing/unfence_node()  configuration  is  very  similar  to  the
       Fencing/fence_node()  configuration  shown  in fenced(8).  Unfencing is
       only performed for a node with an <unfence> section:

       <clusternode name="node1" nodeid="1">
               <fence>
               </fence>
               <unfence>
               </unfence>
       </clusternode>

       The <unfence> section does  not  contain  <method>  sections  like  the
       <fence>  section does.  It contains <device> references directly, which
       mirror the corresponding device sections for <fence>, with the  notable
       addition  of  the  explicit  action  of  "on"  or  "enable".   The same
       <fencedevice> is referenced by both fence and unfence  <device>  lines,
       and the same per-node args should be repeated.

       <clusternode name="node1" nodeid="1">
               <fence>
               <method name="1">
               <device name="myswitch" foo="x"/>
               </method>
               </fence>

               <unfence>
               <device name="myswitch" foo="x" action="on"/>
               </unfence>
       </clusternode>

SEE ALSO

       fenced(8)