1FENCE_NODE(8) cluster FENCE_NODE(8)
2
3
4
6 fence_node - a utility to run fence agents
7
8
10 fence_node [OPTIONS] nodename
11
12
14 This utility runs a fence agent against nodename. The agent and args
15 are taken from the running cluster configuration based on clus‐
16 ter.conf(5).
17
18
19 fence_node is a wrapper around the libfence functions: fence_node() and
20 unfence_node(). These libfence functions use libccs to read the node
21 fencing configuration, which means that corosync (with cman and ccs)
22 must be running to use fence_node(8).
23
24
25 The fenced(8) daemon is the main user of libfence:fence_node(), and the
26 configuration details for that function are given in the fenced(8) man
27 page.
28
29
30 Fencing vs. Unfencing
31 The main use for unfencing is with storage/SAN (non-power) agents.
32
33
34 When using power-based fencing agents, the fencing action itself is
35 supposed to turn a node back on after first turning the power off (this
36 happens automatically with a "reboot" action, and needs to be config‐
37 ured explicitly as "off" + "on" otherwise.)
38
39
40 When using storage-based fencing agents, the fencing action is not
41 allowed to re-enable a node after disabling it. Re-enabling a fenced
42 node is only safe once the node has been rebooted. A natural way to
43 re-enable a fenced node's access to storage, is for that node to re-
44 enable the access itself during its startup process. The cman init
45 script calls fence_node -U (nodename defaults to local nodename when
46 unfencing). Unfencing a node without an <unfence> configuration (see
47 below) is a no-op.
48
49
50 The basic differences between fencing and unfencing:
51
52 Fencing
53
54 1. libfence: fence_node(), command line: fence_node nodename
55
56 2. Turns off or disables a node.
57
58 3. Agents run with the default action of "off", "disable" or "reboot".
59
60 4. Performed by a cluster node against another node that fails (by the
61 fenced daemon).
62
63 Unfencing
64
65 1. libfence: unfence_node(), command line: fence_node -U nodename
66
67 2. Turns on or enables a node.
68
69 3. Agents run with the explicit action of "on" or "enable".
70
71 4. Performed by a cluster node "against" itself during startup (by the
72 cman init script).
73
74
76 -U Unfence the node, default local node name.
77
78 -v Show fence agent results, -vv to also show agent args.
79
80 -h Print a help message describing available options, then exit.
81
82 -V Print program version information, then exit.
83
84
86 The Unfencing/unfence_node() configuration is very similar to the Fenc‐
87 ing/fence_node() configuration shown in fenced(8). Unfencing is only
88 performed for a node with an <unfence> section:
89
90 <clusternode name="node1" nodeid="1">
91 <fence>
92 </fence>
93 <unfence>
94 </unfence>
95 </clusternode>
96
97 The <unfence> section does not contain <method> sections like the
98 <fence> section does. It contains <device> references directly, which
99 mirror the corresponding device sections for <fence>, with the notable
100 addition of the explicit action of "on" or "enable". The same
101 <fencedevice> is referenced by both fence and unfence <device> lines,
102 and the same per-node args should be repeated.
103
104 <clusternode name="node1" nodeid="1">
105 <fence>
106 <method name="1">
107 <device name="myswitch" foo="x"/>
108 </method>
109 </fence>
110
111 <unfence>
112 <device name="myswitch" foo="x" action="on"/>
113 </unfence>
114 </clusternode>
115
116
118 fenced(8)
119
120
121
122
123cluster 2009-12-21 FENCE_NODE(8)