1fence_virtd.conf(5) File Formats Manual fence_virtd.conf(5)
2
3
4
6 fence_virt.conf - configuration file for fence_virtd
7
8
10 The fence_virt.conf file contains configuration information for
11 fence_virtd, a fencing request routing daemon for clusters of virtual
12 machines.
13
14 The file is tree-structured. There are parent/child relationships and
15 sibling relationships between the nodes.
16
17 foo {
18 bar {
19 baz = "1";
20 }
21 }
22
23 There are three primary sections of fence_virt.conf.
24
25
27 fence_virtd
28 This section contains global information about how fence_virtd is to
29 operate. The most important pieces of information are as follows:
30
31
32 listener
33 the listener plugin for receiving fencing requests from clients
34
35
36 backend
37 the plugin to be used to carry out fencing requests
38
39
40 foreground
41 do not fork into the background.
42
43
44 wait_for_init
45 wait for the frontend and backends to become available rather
46 than giving up immediately. This replaces wait_for_backend in
47 0.2.x.
48
49
50 module_path
51 the module path to search for plugins
52
53
54 listeners
55 This section contains listener-specific configuration information; see
56 the section about listeners below.
57
58
59 backends
60 This section contains listener-specific configuration information; see
61 the section about listeners below.
62
63
64 groups
65 This section contains static maps of which virtual machines may fence
66 which other virtual machines; see the section about groups below.
67
68
69
71 There are various listeners available for fence_virtd, each one handles
72 decoding and authentication of a given fencing request. The following
73 configuration blocks belong in the listeners section of fence_virt.conf
74
75
76 multicast
77 key_file
78 the shared key file to use (default: /etc/clus‐
79 ter/fence_xvm.key).
80
81
82 hash the weakest hashing algorithm allowed for client requests.
83 Clients may send packets with stronger hashes than the one spec‐
84 ified, but not weaker ones. (default: sha256, but could be
85 sha1, sha512, or none)
86
87
88 auth the hashing algorithm to use for the simplistic challenge-
89 response authentication (default: sha256, but could be sha1,
90 sha512, or none)
91
92
93 family the IP family to use (default: ipv4, but may be ipv6)
94
95
96 address
97 the multicast address to listen on (default: 225.0.0.12)
98
99
100 port the multicast port to listen on (default: 1229)
101
102
103 interface
104 interface to listen on. By default, fence_virtd listens on all
105 interfaces. However, this causes problems in some environments
106 where the host computer is used as a gateway.
107
108
109 serial
110 The serial listener plugin utilizes libvirt's serial (or VMChannel)
111 mapping to listen for requests. When using the serial listener, it is
112 necessary to add a serial port (preferably pointing to /dev/ttyS1) or a
113 channel (preferrably pointing to 10.0.2.179:1229) to the libvirt domain
114 description. Note that only type unix , mode bind serial ports and
115 channels are supported. Example libvirt XML:
116
117 <serial type='unix'>
118 <source mode='bind' path='/sandbox/guests/fence_socket_molly'/>
119 <target port='1'/>
120 </serial>
121 <channel type='unix'>
122 <source mode='bind' path='/sandbox/guests/fence_molly_vmchannel'/>
123 <target type='guestfwd' address='10.0.2.179' port='1229'/>
124 </channel>
125
126
127 uri the URI to use when connecting to libvirt by the serial plugin.
128
129
130 path The same directory that is defined for the domain serial port
131 path (From example above: /sandbox/guests). Sockets must reside
132 in this directory in order to be considered valid. This can be
133 used to prevent fence_virtd from using the wrong sockets.
134
135
136 mode This selects the type of sockets to register. Valid values are
137 "serial" (default) and "vmchannel".
138
139
140 tcp
141 The tcp listener operates similarly to the multicast listener but uses
142 TCP sockets for communication instead of using multicast packets.
143
144
145 key_file
146 the shared key file to use (default: /etc/clus‐
147 ter/fence_xvm.key).
148
149
150 hash the hashing algorithm to use for packet signing (default:
151 sha256, but could be sha1, sha512, or none)
152
153
154 auth the hashing algorithm to use for the simplistic challenge-
155 response authentication (default: sha256, but could be sha1,
156 sha512, or none)
157
158
159 family the IP family to use (default: ipv4, but may be ipv6)
160
161
162 address
163 the IP address to listen on (default: 127.0.0.1 for IPv4, ::1
164 for IPv6)
165
166
167 port the TCP port to listen on (default: 1229)
168
169
171 There are various backends available for fence_virtd, each one handles
172 routing a fencing request to a hypervisor or management tool. The fol‐
173 lowing configuration blocks belong in the backends section of
174 fence_virt.conf
175
176
177 libvirt
178 The libvirt plugin is the simplest plugin. It is used in environments
179 where routing fencing requests between multiple hosts is not required,
180 for example by a user running a cluster of virtual machines on a single
181 desktop computer.
182
183
184 uri the URI to use when connecting to libvirt.
185
186
187 libvirt-qmf
188 The libvirt-qmf plugin acts as a QMFv2 Console to the libvirt-qmf dae‐
189 mon in order to route fencing requests over AMQP to the appropriate
190 computer.
191
192
193 host host or IP address of qpid broker. Defaults to 127.0.0.1.
194
195
196 port IP port of qpid broker. Defaults to 5672.
197
198
199 username
200 Username for GSSAPI, if configured.
201
202
203 service
204 Qpid service to connect to.
205
206
207 gssapi If set to 1, have fence_virtd use GSSAPI for authentication when
208 communicating with the Qpid broker. Default is 0 (off).
209
210
211 checkpoint
212 The checkpoint plugin uses CMAN, CPG, and OpenAIS checkpoints to track
213 virtual machines and route fencing requests to the appropriate com‐
214 puter.
215
216
217 uri the URI to use when connecting to libvirt by the checkpoint
218 plugin.
219
220
221 name_mode
222 The checkpoint plugin, in order to retain compatibility with
223 fence_xvm, stores virtual machines in a certain way in the Ope‐
224 nAIS checkpoints. The default was to use 'name' when using
225 fence_xvm and fence_xvmd, and so this is still the default.
226 However, it is strongly recommended to use 'uuid' instead of
227 'name' in all cluster environments involving more than one phys‐
228 ical host in order to avoid the potential for name collisions.
229
230
232 Fence_virtd supports static maps which allow grouping of VMs. The
233 groups are arbitrary and are checked at fence time. Any member of a
234 group may fence any other member. Hosts may be assigned to multiple
235 groups if desired.
236
237
238 group
239 This defines a group.
240
241
242 uuid defines UUID as a member of a group.
243
244
245 ip defines an IP which is allowed to send fencing requests for mem‐
246 bers of this group (e.g. for multicast). It is highly recom‐
247 mended that this be used in conjunction with a key file.
248
249
250
251
253 fence_virtd {
254 listener = "multicast";
255 backend = "checkpoint";
256 }
257
258 # this is the listeners section
259
260 listeners {
261 multicast {
262 key_file = "/etc/cluster/fence_xvm.key";
263 }
264 }
265
266 backends {
267 libvirt {
268 uri = "qemu:///system";
269 }
270 }
271
272 groups {
273 group {
274 ip = "192.168.1.1";
275 uuid = "44179d3f-6c63-474f-a212-20c8b4b25b16";
276 uuid = "1ce02c4b-dfa1-42cb-b5b1-f0b1091ece60";
277 }
278 }
279
280
282 fence_virtd(8), fence_virt(8), fence_xvm(8), fence(8)
283
284
285
286 fence_virtd.conf(5)