]>
Commit | Line | Data |
---|---|---|
a8ccf41b MS |
1 | <?xml version="1.0" encoding="iso-8859-1"?> |
2 | <!DOCTYPE refentry | |
3 | PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" | |
4 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> | |
5 | ||
6 | <refentry id="ctdb-script.options.5"> | |
7 | ||
8 | <refmeta> | |
9 | <refentrytitle>ctdb-script.options</refentrytitle> | |
10 | <manvolnum>5</manvolnum> | |
11 | <refmiscinfo class="source">ctdb</refmiscinfo> | |
12 | <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo> | |
13 | </refmeta> | |
14 | ||
15 | <refnamediv> | |
16 | <refname>ctdb-script.options</refname> | |
17 | <refpurpose>CTDB scripts configuration files</refpurpose> | |
18 | </refnamediv> | |
19 | ||
20 | <refsect1> | |
21 | <title>DESCRIPTION</title> | |
22 | ||
23 | <para> | |
24 | Each CTDB script has 2 possible locations for its configuration options: | |
25 | </para> | |
26 | ||
27 | <variablelist> | |
28 | ||
29 | <varlistentry> | |
30 | <term> | |
31 | <filename>/usr/local/etc/ctdb/script.options</filename> | |
32 | </term> | |
33 | <listitem> | |
34 | <para> | |
35 | This is a catch-all global file for general purpose | |
36 | scripts and for options that are used in multiple event | |
37 | scripts. | |
38 | </para> | |
39 | </listitem> | |
40 | </varlistentry> | |
41 | ||
42 | <varlistentry> | |
43 | <term> | |
44 | <parameter>SCRIPT</parameter>.options | |
45 | </term> | |
46 | <listitem> | |
47 | <para> | |
48 | That is, options for | |
49 | <filename><parameter>SCRIPT</parameter></filename> are | |
50 | placed in a file alongside the script, with a ".script" | |
51 | suffix added. This style is usually recommended for event | |
52 | scripts. | |
53 | </para> | |
54 | ||
55 | <para> | |
56 | Options in this script-specific file override those in | |
57 | the global file. | |
58 | </para> | |
59 | </listitem> | |
60 | </varlistentry> | |
61 | ||
62 | </variablelist> | |
63 | ||
a8ccf41b MS |
64 | <para> |
65 | These files should include simple shell-style variable | |
66 | assignments and shell-style comments. | |
67 | </para> | |
68 | ||
69 | </refsect1> | |
70 | ||
71 | <refsect1> | |
72 | <title>NETWORK CONFIGURATION</title> | |
73 | ||
74 | <refsect2> | |
75 | <title>10.interface</title> | |
76 | ||
77 | <para> | |
78 | This event script handles monitoring of interfaces using by | |
79 | public IP addresses. | |
80 | </para> | |
81 | ||
82 | <variablelist> | |
83 | ||
84 | <varlistentry> | |
85 | <term> | |
86 | CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no | |
87 | </term> | |
88 | <listitem> | |
89 | <para> | |
90 | Whether one or more offline interfaces should cause a | |
91 | monitor event to fail if there are other interfaces that | |
92 | are up. If this is "yes" and a node has some interfaces | |
93 | that are down then <command>ctdb status</command> will | |
94 | display the node as "PARTIALLYONLINE". | |
95 | </para> | |
96 | ||
97 | <para> | |
98 | Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is not | |
99 | generally compatible with NAT gateway or LVS. NAT | |
100 | gateway relies on the interface configured by | |
101 | CTDB_NATGW_PUBLIC_IFACE to be up and LVS replies on | |
102 | CTDB_LVS_PUBLIC_IFACE to be up. CTDB does not check if | |
103 | these options are set in an incompatible way so care is | |
104 | needed to understand the interaction. | |
105 | </para> | |
106 | ||
107 | <para> | |
108 | Default is "no". | |
109 | </para> | |
110 | </listitem> | |
111 | </varlistentry> | |
112 | ||
113 | </variablelist> | |
114 | </refsect2> | |
115 | ||
116 | <refsect2> | |
117 | <title>11.natgw</title> | |
118 | ||
119 | <para> | |
120 | Provides CTDB's NAT gateway functionality. | |
121 | </para> | |
122 | ||
123 | <para> | |
124 | NAT gateway is used to configure fallback routing for nodes | |
125 | when they do not host any public IP addresses. For example, | |
126 | it allows unhealthy nodes to reliably communicate with | |
127 | external infrastructure. One node in a NAT gateway group will | |
16b84855 | 128 | be designated as the NAT gateway leader node and other (follower) |
a8ccf41b | 129 | nodes will be configured with fallback routes via the NAT |
16b84855 | 130 | gateway leader node. For more information, see the |
a8ccf41b MS |
131 | <citetitle>NAT GATEWAY</citetitle> section in |
132 | <citerefentry><refentrytitle>ctdb</refentrytitle> | |
133 | <manvolnum>7</manvolnum></citerefentry>. | |
134 | </para> | |
135 | ||
136 | <variablelist> | |
137 | ||
138 | <varlistentry> | |
139 | <term>CTDB_NATGW_DEFAULT_GATEWAY=<parameter>IPADDR</parameter></term> | |
140 | <listitem> | |
141 | <para> | |
142 | IPADDR is an alternate network gateway to use on the NAT | |
16b84855 | 143 | gateway leader node. If set, a fallback default route |
a8ccf41b MS |
144 | is added via this network gateway. |
145 | </para> | |
146 | <para> | |
147 | No default. Setting this variable is optional - if not | |
16b84855 | 148 | set that no route is created on the NAT gateway leader |
a8ccf41b MS |
149 | node. |
150 | </para> | |
151 | </listitem> | |
152 | </varlistentry> | |
153 | ||
154 | <varlistentry> | |
155 | <term>CTDB_NATGW_NODES=<parameter>FILENAME</parameter></term> | |
156 | <listitem> | |
157 | <para> | |
158 | FILENAME contains the list of nodes that belong to the | |
159 | same NAT gateway group. | |
160 | </para> | |
161 | <para> | |
162 | File format: | |
163 | <screen> | |
16b84855 | 164 | <parameter>IPADDR</parameter> <optional>follower-only</optional> |
a8ccf41b MS |
165 | </screen> |
166 | </para> | |
167 | <para> | |
168 | IPADDR is the private IP address of each node in the NAT | |
169 | gateway group. | |
170 | </para> | |
171 | <para> | |
16b84855 MS |
172 | If "follower-only" is specified then the corresponding node |
173 | can not be the NAT gateway leader node. In this case | |
a8ccf41b MS |
174 | <varname>CTDB_NATGW_PUBLIC_IFACE</varname> and |
175 | <varname>CTDB_NATGW_PUBLIC_IP</varname> are optional and | |
176 | unused. | |
177 | </para> | |
178 | <para> | |
179 | No default, usually | |
180 | <filename>/usr/local/etc/ctdb/natgw_nodes</filename> when enabled. | |
181 | </para> | |
182 | </listitem> | |
183 | </varlistentry> | |
184 | ||
185 | <varlistentry> | |
186 | <term>CTDB_NATGW_PRIVATE_NETWORK=<parameter>IPADDR/MASK</parameter></term> | |
187 | <listitem> | |
188 | <para> | |
189 | IPADDR/MASK is the private sub-network that is | |
16b84855 | 190 | internally routed via the NAT gateway leader node. This |
a8ccf41b MS |
191 | is usually the private network that is used for node |
192 | addresses. | |
193 | </para> | |
194 | <para> | |
195 | No default. | |
196 | </para> | |
197 | </listitem> | |
198 | </varlistentry> | |
199 | ||
200 | <varlistentry> | |
201 | <term>CTDB_NATGW_PUBLIC_IFACE=<parameter>IFACE</parameter></term> | |
202 | <listitem> | |
203 | <para> | |
204 | IFACE is the network interface on which the | |
205 | CTDB_NATGW_PUBLIC_IP will be configured. | |
206 | </para> | |
207 | <para> | |
208 | No default. | |
209 | </para> | |
210 | </listitem> | |
211 | </varlistentry> | |
212 | ||
213 | <varlistentry> | |
214 | <term>CTDB_NATGW_PUBLIC_IP=<parameter>IPADDR/MASK</parameter></term> | |
215 | <listitem> | |
216 | <para> | |
217 | IPADDR/MASK indicates the IP address that is used for | |
218 | outgoing traffic (originating from | |
16b84855 | 219 | CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway leader |
a8ccf41b MS |
220 | node. This <emphasis>must not</emphasis> be a |
221 | configured public IP address. | |
222 | </para> | |
223 | <para> | |
224 | No default. | |
225 | </para> | |
226 | </listitem> | |
227 | </varlistentry> | |
228 | ||
229 | <varlistentry> | |
230 | <term>CTDB_NATGW_STATIC_ROUTES=<parameter>IPADDR/MASK[@GATEWAY]</parameter> ...</term> | |
231 | <listitem> | |
232 | <para> | |
233 | Each IPADDR/MASK identifies a network or host to which | |
234 | NATGW should create a fallback route, instead of | |
235 | creating a single default route. This can be used when | |
236 | there is already a default route, via an interface that | |
237 | can not reach required infrastructure, that overrides | |
238 | the NAT gateway default route. | |
239 | </para> | |
240 | <para> | |
241 | If GATEWAY is specified then the corresponding route on | |
16b84855 | 242 | the NATGW leader node will be via GATEWAY. Such routes |
a8ccf41b MS |
243 | are created even if |
244 | <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is not | |
245 | specified. If GATEWAY is not specified for some | |
246 | networks then routes are only created on the NATGW | |
16b84855 | 247 | leader node for those networks if |
a8ccf41b MS |
248 | <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is |
249 | specified. | |
250 | </para> | |
251 | <para> | |
252 | This should be used with care to avoid causing traffic | |
253 | to unnecessarily double-hop through the NAT gateway | |
16b84855 | 254 | leader, even when a node is hosting public IP addresses. |
a8ccf41b MS |
255 | Each specified network or host should probably have a |
256 | corresponding automatically created link route or static | |
257 | route to avoid this. | |
258 | </para> | |
259 | <para> | |
260 | No default. | |
261 | </para> | |
262 | </listitem> | |
263 | </varlistentry> | |
264 | ||
265 | </variablelist> | |
266 | ||
267 | <refsect3> | |
268 | <title>Example</title> | |
269 | <screen> | |
270 | CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes | |
271 | CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24 | |
272 | CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1 | |
273 | CTDB_NATGW_PUBLIC_IP=10.0.0.227/24 | |
274 | CTDB_NATGW_PUBLIC_IFACE=eth0 | |
275 | </screen> | |
276 | ||
277 | <para> | |
278 | A variation that ensures that infrastructure (ADS, DNS, ...) | |
279 | directly attached to the public network (10.0.0.0/24) is | |
280 | always reachable would look like this: | |
281 | </para> | |
282 | <screen> | |
283 | CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes | |
284 | CTDB_NATGW_PRIVATE_NETWORK=192.168.1.0/24 | |
285 | CTDB_NATGW_PUBLIC_IP=10.0.0.227/24 | |
286 | CTDB_NATGW_PUBLIC_IFACE=eth0 | |
287 | CTDB_NATGW_STATIC_ROUTES=10.0.0.0/24 | |
288 | </screen> | |
289 | <para> | |
290 | Note that <varname>CTDB_NATGW_DEFAULT_GATEWAY</varname> is | |
291 | not specified. | |
292 | </para> | |
293 | </refsect3> | |
294 | ||
295 | </refsect2> | |
296 | ||
297 | <refsect2> | |
298 | <title>13.per_ip_routing</title> | |
299 | ||
300 | <para> | |
301 | Provides CTDB's policy routing functionality. | |
302 | </para> | |
303 | ||
304 | <para> | |
305 | A node running CTDB may be a component of a complex network | |
306 | topology. In particular, public addresses may be spread | |
307 | across several different networks (or VLANs) and it may not be | |
308 | possible to route packets from these public addresses via the | |
309 | system's default route. Therefore, CTDB has support for | |
310 | policy routing via the <filename>13.per_ip_routing</filename> | |
311 | eventscript. This allows routing to be specified for packets | |
312 | sourced from each public address. The routes are added and | |
313 | removed as CTDB moves public addresses between nodes. | |
314 | </para> | |
315 | ||
316 | <para> | |
317 | For more information, see the <citetitle>POLICY | |
318 | ROUTING</citetitle> section in | |
319 | <citerefentry><refentrytitle>ctdb</refentrytitle> | |
320 | <manvolnum>7</manvolnum></citerefentry>. | |
321 | </para> | |
322 | ||
323 | <variablelist> | |
324 | <varlistentry> | |
325 | <term>CTDB_PER_IP_ROUTING_CONF=<parameter>FILENAME</parameter></term> | |
326 | <listitem> | |
327 | <para> | |
328 | FILENAME contains elements for constructing the desired | |
329 | routes for each source address. | |
330 | </para> | |
331 | ||
332 | <para> | |
333 | The special FILENAME value | |
334 | <constant>__auto_link_local__</constant> indicates that no | |
335 | configuration file is provided and that CTDB should | |
336 | generate reasonable link-local routes for each public IP | |
337 | address. | |
338 | </para> | |
339 | ||
340 | <para> | |
341 | File format: | |
342 | <screen> | |
343 | <parameter>IPADDR</parameter> <parameter>DEST-IPADDR/MASK</parameter> <optional><parameter>GATEWAY-IPADDR</parameter></optional> | |
344 | </screen> | |
345 | </para> | |
346 | ||
347 | <para> | |
348 | No default, usually | |
349 | <filename>/usr/local/etc/ctdb/policy_routing</filename> | |
350 | when enabled. | |
351 | </para> | |
352 | </listitem> | |
353 | </varlistentry> | |
354 | ||
355 | <varlistentry> | |
356 | <term> | |
357 | CTDB_PER_IP_ROUTING_RULE_PREF=<parameter>NUM</parameter> | |
358 | </term> | |
359 | <listitem> | |
360 | <para> | |
361 | NUM sets the priority (or preference) for the routing | |
362 | rules that are added by CTDB. | |
363 | </para> | |
364 | ||
365 | <para> | |
366 | This should be (strictly) greater than 0 and (strictly) | |
367 | less than 32766. A priority of 100 is recommended, unless | |
368 | this conflicts with a priority already in use on the | |
369 | system. See | |
370 | <citerefentry><refentrytitle>ip</refentrytitle> | |
371 | <manvolnum>8</manvolnum></citerefentry>, for more details. | |
372 | </para> | |
373 | </listitem> | |
374 | </varlistentry> | |
375 | ||
376 | <varlistentry> | |
377 | <term> | |
378 | CTDB_PER_IP_ROUTING_TABLE_ID_LOW=<parameter>LOW-NUM</parameter>, | |
379 | CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=<parameter>HIGH-NUM</parameter> | |
380 | </term> | |
381 | <listitem> | |
382 | <para> | |
383 | CTDB determines a unique routing table number to use for | |
384 | the routing related to each public address. LOW-NUM and | |
385 | HIGH-NUM indicate the minimum and maximum routing table | |
386 | numbers that are used. | |
387 | </para> | |
388 | ||
389 | <para> | |
390 | <citerefentry><refentrytitle>ip</refentrytitle> | |
391 | <manvolnum>8</manvolnum></citerefentry> uses some | |
392 | reserved routing table numbers below 255. Therefore, | |
393 | CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly) | |
394 | greater than 255. | |
395 | </para> | |
396 | ||
397 | <para> | |
398 | CTDB uses the standard file | |
399 | <filename>/etc/iproute2/rt_tables</filename> to maintain | |
400 | a mapping between the routing table numbers and labels. | |
401 | The label for a public address | |
402 | <replaceable>ADDR</replaceable> will look like | |
403 | ctdb.<replaceable>addr</replaceable>. This means that | |
404 | the associated rules and routes are easy to read (and | |
405 | manipulate). | |
406 | </para> | |
407 | ||
408 | <para> | |
409 | No default, usually 1000 and 9000. | |
410 | </para> | |
411 | </listitem> | |
412 | </varlistentry> | |
413 | </variablelist> | |
414 | ||
415 | <refsect3> | |
416 | <title>Example</title> | |
417 | <screen> | |
418 | CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing | |
419 | CTDB_PER_IP_ROUTING_RULE_PREF=100 | |
420 | CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000 | |
421 | CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000 | |
422 | </screen> | |
423 | </refsect3> | |
424 | ||
425 | </refsect2> | |
426 | ||
427 | <refsect2> | |
428 | <title>91.lvs</title> | |
429 | ||
430 | <para> | |
431 | Provides CTDB's LVS functionality. | |
432 | </para> | |
433 | ||
434 | <para> | |
435 | For a general description see the <citetitle>LVS</citetitle> | |
436 | section in <citerefentry><refentrytitle>ctdb</refentrytitle> | |
437 | <manvolnum>7</manvolnum></citerefentry>. | |
438 | </para> | |
439 | ||
440 | <variablelist> | |
441 | ||
442 | <varlistentry> | |
443 | <term> | |
444 | CTDB_LVS_NODES=<parameter>FILENAME</parameter> | |
445 | </term> | |
446 | <listitem> | |
447 | <para> | |
448 | FILENAME contains the list of nodes that belong to the | |
449 | same LVS group. | |
450 | </para> | |
451 | <para> | |
452 | File format: | |
453 | <screen> | |
454 | <parameter>IPADDR</parameter> <optional>slave-only</optional> | |
455 | </screen> | |
456 | </para> | |
457 | <para> | |
458 | IPADDR is the private IP address of each node in the LVS | |
459 | group. | |
460 | </para> | |
461 | <para> | |
462 | If "slave-only" is specified then the corresponding node | |
463 | can not be the LVS master node. In this case | |
464 | <varname>CTDB_LVS_PUBLIC_IFACE</varname> and | |
465 | <varname>CTDB_LVS_PUBLIC_IP</varname> are optional and | |
466 | unused. | |
467 | </para> | |
468 | <para> | |
469 | No default, usually | |
470 | <filename>/usr/local/etc/ctdb/lvs_nodes</filename> when enabled. | |
471 | </para> | |
472 | </listitem> | |
473 | </varlistentry> | |
474 | ||
475 | <varlistentry> | |
476 | <term> | |
477 | CTDB_LVS_PUBLIC_IFACE=<parameter>INTERFACE</parameter> | |
478 | </term> | |
479 | <listitem> | |
480 | <para> | |
481 | INTERFACE is the network interface that clients will use | |
482 | to connection to <varname>CTDB_LVS_PUBLIC_IP</varname>. | |
483 | This is optional for slave-only nodes. | |
484 | No default. | |
485 | </para> | |
486 | </listitem> | |
487 | </varlistentry> | |
488 | ||
489 | <varlistentry> | |
490 | <term> | |
491 | CTDB_LVS_PUBLIC_IP=<parameter>IPADDR</parameter> | |
492 | </term> | |
493 | <listitem> | |
494 | <para> | |
495 | CTDB_LVS_PUBLIC_IP is the LVS public address. No | |
496 | default. | |
497 | </para> | |
498 | </listitem> | |
499 | </varlistentry> | |
500 | ||
501 | </variablelist> | |
502 | </refsect2> | |
503 | ||
504 | </refsect1> | |
505 | ||
506 | <refsect1> | |
507 | <title>SERVICE CONFIGURATION</title> | |
508 | ||
509 | <para> | |
510 | CTDB can be configured to manage and/or monitor various NAS (and | |
511 | other) services via its eventscripts. | |
512 | </para> | |
513 | ||
514 | <para> | |
515 | In the simplest case CTDB will manage a service. This means the | |
516 | service will be started and stopped along with CTDB, CTDB will | |
517 | monitor the service and CTDB will do any required | |
518 | reconfiguration of the service when public IP addresses are | |
519 | failed over. | |
520 | </para> | |
521 | ||
522 | <refsect2> | |
523 | <title>20.multipathd</title> | |
524 | ||
525 | <para> | |
526 | Provides CTDB's Linux multipathd service management. | |
527 | </para> | |
528 | ||
529 | <para> | |
530 | It can monitor multipath devices to ensure that active paths | |
531 | are available. | |
532 | </para> | |
533 | ||
534 | <variablelist> | |
535 | <varlistentry> | |
536 | <term> | |
537 | CTDB_MONITOR_MPDEVICES=<parameter>MP-DEVICE-LIST</parameter> | |
538 | </term> | |
539 | <listitem> | |
540 | <para> | |
541 | MP-DEVICE-LIST is a list of multipath devices for CTDB to monitor? | |
542 | </para> | |
543 | <para> | |
544 | No default. | |
545 | </para> | |
546 | </listitem> | |
547 | </varlistentry> | |
548 | </variablelist> | |
549 | </refsect2> | |
550 | ||
551 | <refsect2> | |
552 | <title>31.clamd</title> | |
553 | ||
554 | <para> | |
555 | This event script provide CTDB's ClamAV anti-virus service | |
556 | management. | |
557 | </para> | |
558 | ||
559 | <para> | |
560 | This eventscript is not enabled by default. Use <command>ctdb | |
561 | enablescript</command> to enable it. | |
562 | </para> | |
563 | ||
564 | <variablelist> | |
565 | ||
a8ccf41b MS |
566 | <varlistentry> |
567 | <term> | |
568 | CTDB_CLAMD_SOCKET=<parameter>FILENAME</parameter> | |
569 | </term> | |
570 | <listitem> | |
571 | <para> | |
572 | FILENAME is the socket to monitor ClamAV. | |
573 | </para> | |
574 | <para> | |
575 | No default. | |
576 | </para> | |
577 | </listitem> | |
578 | </varlistentry> | |
579 | ||
580 | </variablelist> | |
581 | ||
582 | </refsect2> | |
583 | ||
959235ff A |
584 | <refsect2> |
585 | <title>48.netbios</title> | |
586 | ||
587 | <para> | |
588 | Provides CTDB's NetBIOS service management. | |
589 | </para> | |
590 | ||
591 | <variablelist> | |
592 | <varlistentry> | |
593 | <term> | |
594 | CTDB_SERVICE_NMB=<parameter>SERVICE</parameter> | |
595 | </term> | |
596 | <listitem> | |
597 | <para> | |
598 | Distribution specific SERVICE for managing nmbd. | |
599 | </para> | |
600 | <para> | |
601 | Default is distribution-dependant. | |
602 | </para> | |
603 | </listitem> | |
604 | </varlistentry> | |
605 | ||
606 | </variablelist> | |
607 | ||
608 | </refsect2> | |
609 | ||
a8ccf41b MS |
610 | <refsect2> |
611 | <title>49.winbind</title> | |
612 | ||
613 | <para> | |
614 | Provides CTDB's Samba winbind service management. | |
615 | </para> | |
616 | ||
617 | <variablelist> | |
618 | ||
a8ccf41b MS |
619 | <varlistentry> |
620 | <term> | |
621 | CTDB_SERVICE_WINBIND=<parameter>SERVICE</parameter> | |
622 | </term> | |
623 | <listitem> | |
624 | <para> | |
625 | Distribution specific SERVICE for managing winbindd. | |
626 | </para> | |
627 | <para> | |
628 | Default is "winbind". | |
629 | </para> | |
630 | </listitem> | |
631 | </varlistentry> | |
632 | ||
633 | </variablelist> | |
634 | ||
635 | </refsect2> | |
636 | ||
637 | <refsect2> | |
638 | <title>50.samba</title> | |
639 | ||
640 | <para> | |
641 | Provides the core of CTDB's Samba file service management. | |
642 | </para> | |
643 | ||
644 | <variablelist> | |
645 | ||
a8ccf41b MS |
646 | <varlistentry> |
647 | <term> | |
648 | CTDB_SAMBA_CHECK_PORTS=<parameter>PORT-LIST</parameter> | |
649 | </term> | |
650 | <listitem> | |
651 | <para> | |
652 | When monitoring Samba, check TCP ports in | |
653 | space-separated PORT-LIST. | |
654 | </para> | |
655 | <para> | |
656 | Default is to monitor ports that Samba is configured to listen on. | |
657 | </para> | |
658 | </listitem> | |
659 | </varlistentry> | |
660 | ||
661 | <varlistentry> | |
662 | <term> | |
663 | CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no | |
664 | </term> | |
665 | <listitem> | |
666 | <para> | |
667 | As part of monitoring, should CTDB skip the check for | |
668 | the existence of each directory configured as share in | |
669 | Samba. This may be desirable if there is a large number | |
670 | of shares. | |
671 | </para> | |
672 | <para> | |
673 | Default is no. | |
674 | </para> | |
675 | </listitem> | |
676 | </varlistentry> | |
677 | ||
a8ccf41b MS |
678 | <varlistentry> |
679 | <term> | |
680 | CTDB_SERVICE_SMB=<parameter>SERVICE</parameter> | |
681 | </term> | |
682 | <listitem> | |
683 | <para> | |
684 | Distribution specific SERVICE for managing smbd. | |
685 | </para> | |
686 | <para> | |
687 | Default is distribution-dependant. | |
688 | </para> | |
689 | </listitem> | |
690 | </varlistentry> | |
691 | ||
692 | </variablelist> | |
693 | ||
694 | </refsect2> | |
695 | ||
696 | <refsect2> | |
697 | <title>60.nfs</title> | |
698 | ||
699 | <para> | |
700 | This event script (along with 06.nfs) provides CTDB's NFS | |
701 | service management. | |
702 | </para> | |
703 | ||
704 | <para> | |
705 | This includes parameters for the kernel NFS server. | |
706 | Alternative NFS subsystems (such as <ulink | |
707 | url="https://github.com/nfs-ganesha/nfs-ganesha/wiki">NFS-Ganesha</ulink>) | |
708 | can be integrated using <varname>CTDB_NFS_CALLOUT</varname>. | |
709 | </para> | |
710 | ||
711 | <variablelist> | |
712 | ||
a8ccf41b MS |
713 | <varlistentry> |
714 | <term> | |
715 | CTDB_NFS_CALLOUT=<parameter>COMMAND</parameter> | |
716 | </term> | |
717 | <listitem> | |
718 | <para> | |
719 | COMMAND specifies the path to a callout to handle | |
720 | interactions with the configured NFS system, including | |
721 | startup, shutdown, monitoring. | |
722 | </para> | |
723 | <para> | |
724 | Default is the included | |
725 | <command>nfs-linux-kernel-callout</command>. | |
726 | </para> | |
727 | </listitem> | |
728 | </varlistentry> | |
729 | ||
730 | <varlistentry> | |
731 | <term> | |
732 | CTDB_NFS_CHECKS_DIR=<parameter>DIRECTORY</parameter> | |
733 | </term> | |
734 | <listitem> | |
735 | <para> | |
736 | Specifies the path to a DIRECTORY containing files that | |
737 | describe how to monitor the responsiveness of NFS RPC | |
738 | services. See the README file for this directory for an | |
739 | explanation of the contents of these "check" files. | |
740 | </para> | |
741 | <para> | |
742 | CTDB_NFS_CHECKS_DIR can be used to point to different | |
743 | sets of checks for different NFS servers. | |
744 | </para> | |
745 | <para> | |
746 | One way of using this is to have it point to, say, | |
747 | <filename>/usr/local/etc/ctdb/nfs-checks-enabled.d</filename> | |
748 | and populate it with symbolic links to the desired check | |
749 | files. This avoids duplication and is upgrade-safe. | |
750 | </para> | |
751 | <para> | |
752 | Default is | |
753 | <filename>/usr/local/etc/ctdb/nfs-checks.d</filename>, | |
754 | which contains NFS RPC checks suitable for Linux kernel | |
755 | NFS. | |
756 | </para> | |
757 | </listitem> | |
758 | </varlistentry> | |
759 | ||
760 | <varlistentry> | |
761 | <term> | |
762 | CTDB_NFS_SKIP_SHARE_CHECK=yes|no | |
763 | </term> | |
764 | <listitem> | |
765 | <para> | |
766 | As part of monitoring, should CTDB skip the check for | |
767 | the existence of each directory exported via NFS. This | |
768 | may be desirable if there is a large number of exports. | |
769 | </para> | |
770 | <para> | |
771 | Default is no. | |
772 | </para> | |
773 | </listitem> | |
774 | </varlistentry> | |
775 | ||
776 | <varlistentry> | |
777 | <term> | |
778 | CTDB_RPCINFO_LOCALHOST=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter> | |
779 | </term> | |
780 | <listitem> | |
781 | <para> | |
782 | IPADDR or HOSTNAME indicates the address that | |
783 | <command>rpcinfo</command> should connect to when doing | |
784 | <command>rpcinfo</command> check on IPv4 RPC service during | |
785 | monitoring. Optimally this would be "localhost". | |
786 | However, this can add some performance overheads. | |
787 | </para> | |
788 | <para> | |
789 | Default is "127.0.0.1". | |
790 | </para> | |
791 | </listitem> | |
792 | </varlistentry> | |
793 | ||
794 | <varlistentry> | |
795 | <term> | |
796 | CTDB_RPCINFO_LOCALHOST6=<parameter>IPADDR</parameter>|<parameter>HOSTNAME</parameter> | |
797 | </term> | |
798 | <listitem> | |
799 | <para> | |
800 | IPADDR or HOSTNAME indicates the address that | |
801 | <command>rpcinfo</command> should connect to when doing | |
802 | <command>rpcinfo</command> check on IPv6 RPC service | |
803 | during monitoring. Optimally this would be "localhost6" | |
804 | (or similar). However, this can add some performance | |
805 | overheads. | |
806 | </para> | |
807 | <para> | |
808 | Default is "::1". | |
809 | </para> | |
810 | </listitem> | |
811 | </varlistentry> | |
812 | ||
813 | <varlistentry> | |
814 | <term> | |
815 | CTDB_NFS_STATE_FS_TYPE=<parameter>TYPE</parameter> | |
816 | </term> | |
817 | <listitem> | |
818 | <para> | |
819 | The type of filesystem used for a clustered NFS' shared | |
820 | state. No default. | |
821 | </para> | |
822 | </listitem> | |
823 | </varlistentry> | |
824 | ||
825 | <varlistentry> | |
826 | <term> | |
827 | CTDB_NFS_STATE_MNT=<parameter>DIR</parameter> | |
828 | </term> | |
829 | <listitem> | |
830 | <para> | |
831 | The directory where a clustered NFS' shared state will be | |
832 | located. No default. | |
833 | </para> | |
834 | </listitem> | |
835 | </varlistentry> | |
836 | ||
837 | </variablelist> | |
838 | ||
839 | </refsect2> | |
840 | ||
841 | <refsect2> | |
842 | <title>70.iscsi</title> | |
843 | ||
844 | <para> | |
845 | Provides CTDB's Linux iSCSI tgtd service management. | |
846 | </para> | |
847 | ||
848 | <variablelist> | |
849 | ||
a8ccf41b MS |
850 | <varlistentry> |
851 | <term> | |
852 | CTDB_START_ISCSI_SCRIPTS=<parameter>DIRECTORY</parameter> | |
853 | </term> | |
854 | <listitem> | |
855 | <para> | |
856 | DIRECTORY on shared storage containing scripts to start | |
857 | tgtd for each public IP address. | |
858 | </para> | |
859 | <para> | |
860 | No default. | |
861 | </para> | |
862 | </listitem> | |
863 | </varlistentry> | |
864 | </variablelist> | |
865 | </refsect2> | |
866 | ||
867 | </refsect1> | |
868 | ||
869 | <refsect1> | |
870 | <title> | |
871 | DATABASE SETUP | |
872 | </title> | |
873 | ||
874 | <para> | |
875 | CTDB checks the consistency of databases during startup. | |
876 | </para> | |
877 | ||
878 | <refsect2> | |
879 | <title>00.ctdb</title> | |
880 | ||
881 | <variablelist> | |
882 | ||
883 | <varlistentry> | |
884 | <term>CTDB_MAX_CORRUPT_DB_BACKUPS=<parameter>NUM</parameter></term> | |
885 | <listitem> | |
886 | <para> | |
887 | NUM is the maximum number of volatile TDB database | |
888 | backups to be kept (for each database) when a corrupt | |
889 | database is found during startup. Volatile TDBs are | |
890 | zeroed during startup so backups are needed to debug | |
891 | any corruption that occurs before a restart. | |
892 | </para> | |
893 | <para> | |
894 | Default is 10. | |
895 | </para> | |
896 | </listitem> | |
897 | </varlistentry> | |
898 | ||
899 | </variablelist> | |
900 | </refsect2> | |
901 | ||
902 | </refsect1> | |
903 | ||
904 | <refsect1> | |
905 | <title>SYSTEM RESOURCE MONITORING</title> | |
906 | ||
907 | <refsect2> | |
908 | <title> | |
909 | 05.system | |
910 | </title> | |
911 | ||
912 | <para> | |
913 | Provides CTDB's filesystem and memory usage monitoring. | |
914 | </para> | |
915 | ||
916 | <para> | |
917 | CTDB can experience seemingly random (performance and other) | |
918 | issues if system resources become too constrained. Options in | |
919 | this section can be enabled to allow certain system resources | |
920 | to be checked. They allows warnings to be logged and nodes to | |
921 | be marked unhealthy when system resource usage reaches the | |
922 | configured thresholds. | |
923 | </para> | |
924 | ||
925 | <para> | |
926 | Some checks are enabled by default. It is recommended that | |
927 | these checks remain enabled or are augmented by extra checks. | |
928 | There is no supported way of completely disabling the checks. | |
929 | </para> | |
930 | ||
931 | <variablelist> | |
932 | ||
933 | <varlistentry> | |
934 | <term> | |
935 | CTDB_MONITOR_FILESYSTEM_USAGE=<parameter>FS-LIMIT-LIST</parameter> | |
936 | </term> | |
937 | <listitem> | |
938 | <para> | |
939 | FS-LIMIT-LIST is a space-separated list of | |
940 | <parameter>FILESYSTEM</parameter>:<parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional> | |
941 | triples indicating that warnings should be logged if the | |
942 | space used on FILESYSTEM reaches WARN_LIMIT%. If usage | |
943 | reaches UNHEALTHY_LIMIT then the node should be flagged | |
944 | unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be | |
945 | left blank, meaning that check will be omitted. | |
946 | </para> | |
947 | ||
948 | <para> | |
949 | Default is to warn for each filesystem containing a | |
409b0b79 MS |
950 | database directory |
951 | (<literal>volatile database directory</literal>, | |
952 | <literal>persistent database directory</literal>, | |
953 | <literal>state database directory</literal>) | |
954 | with a threshold of 90%. | |
a8ccf41b MS |
955 | </para> |
956 | </listitem> | |
957 | </varlistentry> | |
958 | ||
959 | <varlistentry> | |
960 | <term> | |
961 | CTDB_MONITOR_MEMORY_USAGE=<parameter>MEM-LIMITS</parameter> | |
962 | </term> | |
963 | <listitem> | |
964 | <para> | |
965 | MEM-LIMITS takes the form | |
966 | <parameter>WARN_LIMIT</parameter><optional>:<parameter>UNHEALTHY_LIMIT</parameter></optional> | |
967 | indicating that warnings should be logged if memory | |
968 | usage reaches WARN_LIMIT%. If usage reaches | |
969 | UNHEALTHY_LIMIT then the node should be flagged | |
970 | unhealthy. Either WARN_LIMIT or UNHEALTHY_LIMIT may be | |
971 | left blank, meaning that check will be omitted. | |
972 | </para> | |
973 | <para> | |
974 | Default is 80, so warnings will be logged when memory | |
975 | usage reaches 80%. | |
976 | </para> | |
977 | </listitem> | |
978 | </varlistentry> | |
979 | ||
a8ccf41b MS |
980 | </variablelist> |
981 | </refsect2> | |
982 | ||
983 | </refsect1> | |
984 | ||
985 | ||
986 | <refsect1> | |
987 | <title>EVENT SCRIPT DEBUGGING</title> | |
988 | ||
989 | <refsect2> | |
990 | <title> | |
991 | debug-hung-script.sh | |
992 | </title> | |
993 | ||
994 | <variablelist> | |
995 | ||
996 | <varlistentry> | |
997 | <term>CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=<parameter>REGEXP</parameter></term> | |
998 | <listitem> | |
999 | <para> | |
1000 | REGEXP specifies interesting processes for which stack | |
1001 | traces should be logged when debugging hung eventscripts | |
1002 | and those processes are matched in pstree output. | |
1003 | REGEXP is an extended regexp so choices are separated by | |
1004 | pipes ('|'). However, REGEXP should not contain | |
a44e6987 MS |
1005 | parentheses. See also the <citerefentry><refentrytitle>ctdb.conf</refentrytitle> |
1006 | <manvolnum>5</manvolnum></citerefentry> | |
1007 | [event] "debug script" option. | |
a8ccf41b MS |
1008 | </para> |
1009 | <para> | |
1010 | Default is "exportfs|rpcinfo". | |
1011 | </para> | |
1012 | </listitem> | |
1013 | </varlistentry> | |
1014 | ||
1015 | </variablelist> | |
1016 | </refsect2> | |
1017 | ||
1018 | </refsect1> | |
1019 | ||
1020 | <refsect1> | |
1021 | <title>FILES</title> | |
1022 | ||
1023 | <simplelist> | |
1024 | <member><filename>/usr/local/etc/ctdb/script.options</filename></member> | |
1025 | </simplelist> | |
1026 | </refsect1> | |
1027 | ||
1028 | <refsect1> | |
1029 | <title>SEE ALSO</title> | |
1030 | <para> | |
1031 | <citerefentry><refentrytitle>ctdbd</refentrytitle> | |
1032 | <manvolnum>1</manvolnum></citerefentry>, | |
1033 | ||
1034 | <citerefentry><refentrytitle>ctdb</refentrytitle> | |
1035 | <manvolnum>7</manvolnum></citerefentry>, | |
1036 | ||
1037 | <ulink url="http://ctdb.samba.org/"/> | |
1038 | </para> | |
1039 | </refsect1> | |
1040 | ||
1041 | <refentryinfo> | |
1042 | <author> | |
1043 | <contrib> | |
1044 | This documentation was written by | |
1045 | Amitay Isaacs, | |
1046 | Martin Schwenke | |
1047 | </contrib> | |
1048 | </author> | |
1049 | ||
1050 | <copyright> | |
1051 | <year>2007</year> | |
1052 | <holder>Andrew Tridgell</holder> | |
1053 | <holder>Ronnie Sahlberg</holder> | |
1054 | </copyright> | |
1055 | <legalnotice> | |
1056 | <para> | |
1057 | This program is free software; you can redistribute it and/or | |
1058 | modify it under the terms of the GNU General Public License as | |
1059 | published by the Free Software Foundation; either version 3 of | |
1060 | the License, or (at your option) any later version. | |
1061 | </para> | |
1062 | <para> | |
1063 | This program is distributed in the hope that it will be | |
1064 | useful, but WITHOUT ANY WARRANTY; without even the implied | |
1065 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
1066 | PURPOSE. See the GNU General Public License for more details. | |
1067 | </para> | |
1068 | <para> | |
1069 | You should have received a copy of the GNU General Public | |
1070 | License along with this program; if not, see | |
1071 | <ulink url="http://www.gnu.org/licenses"/>. | |
1072 | </para> | |
1073 | </legalnotice> | |
1074 | </refentryinfo> | |
1075 | ||
1076 | </refentry> |