root / man / ganeti-watcher.sgml @ e7441f80
History | View | Annotate | Download (4.8 kB)
1 |
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ |
---|---|
2 |
|
3 |
<!-- Fill in your name for FIRSTNAME and SURNAME. --> |
4 |
<!-- Please adjust the date whenever revising the manpage. --> |
5 |
<!ENTITY dhdate "<date>June 08, 2010</date>"> |
6 |
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
7 |
allowed: see man(7), man(1). --> |
8 |
<!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
9 |
<!ENTITY dhucpackage "<refentrytitle>ganeti-watcher</refentrytitle>"> |
10 |
<!ENTITY dhpackage "ganeti-watcher"> |
11 |
|
12 |
<!ENTITY debian "<productname>Debian</productname>"> |
13 |
<!ENTITY gnu "<acronym>GNU</acronym>"> |
14 |
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
15 |
<!ENTITY footer SYSTEM "footer.sgml"> |
16 |
]> |
17 |
|
18 |
<refentry> |
19 |
<refentryinfo> |
20 |
<copyright> |
21 |
<year>2007</year> |
22 |
<year>2008</year> |
23 |
<year>2009</year> |
24 |
<year>2010</year> |
25 |
<holder>Google Inc.</holder> |
26 |
</copyright> |
27 |
&dhdate; |
28 |
</refentryinfo> |
29 |
<refmeta> |
30 |
&dhucpackage; |
31 |
|
32 |
&dhsection; |
33 |
<refmiscinfo>Ganeti 2.3</refmiscinfo> |
34 |
</refmeta> |
35 |
<refnamediv> |
36 |
<refname>&dhpackage;</refname> |
37 |
|
38 |
<refpurpose>Ganeti cluster watcher</refpurpose> |
39 |
</refnamediv> |
40 |
<refsynopsisdiv> |
41 |
<cmdsynopsis> |
42 |
<command>&dhpackage; </command> |
43 |
|
44 |
<arg><option>--debug</option></arg> |
45 |
<arg><option>--job-age=<replaceable>age</replaceable></option></arg> |
46 |
<arg><option>--ignore-pause</option></arg> |
47 |
|
48 |
</cmdsynopsis> |
49 |
</refsynopsisdiv> |
50 |
<refsect1> |
51 |
<title>DESCRIPTION</title> |
52 |
|
53 |
<para> |
54 |
The <command>&dhpackage;</command> is a periodically run script |
55 |
which is responsible for keeping the instances in the correct |
56 |
status. It has two separate functions, one for the master node |
57 |
and another one that runs on every node. |
58 |
</para> |
59 |
|
60 |
<para> |
61 |
If the watcher is disabled at cluster level (via |
62 |
the <command>gnt-cluster watcher pause</command> command), it |
63 |
will exit without doing anything. The cluster-level pause can be |
64 |
overriden via the <option>--ignore-pause</option> option, for |
65 |
example if during a maintenance the watcher needs to be disabled |
66 |
in general, but the administrator wants to run it just once. |
67 |
</para> |
68 |
|
69 |
<para> |
70 |
The <option>--debug</option> option will increase the verbosity |
71 |
of the watcher and also activate logging to the standard error. |
72 |
</para> |
73 |
|
74 |
<refsect2> |
75 |
<title>Master operations</title> |
76 |
|
77 |
<para> |
78 |
Its primary function is to try to keep running all instances |
79 |
which are marked as <emphasis>up</emphasis> in the configuration |
80 |
file, by trying to start them a limited number of times. |
81 |
</para> |
82 |
|
83 |
<para> |
84 |
Another function is to <quote>repair</quote> DRBD links by |
85 |
reactivating the block devices of instances which have |
86 |
secondaries on nodes that have been rebooted. |
87 |
</para> |
88 |
|
89 |
<para> |
90 |
The watcher will also archive old jobs (older than the age |
91 |
given via the <option>--job-age</option> option, which |
92 |
defaults to 6 hours), in order to keep the job queue |
93 |
manageable. |
94 |
</para> |
95 |
|
96 |
</refsect2> |
97 |
|
98 |
<refsect2> |
99 |
|
100 |
<title>Node operations</title> |
101 |
|
102 |
<para> |
103 |
The watcher will restart any down daemons that are appropriate |
104 |
for the current node. |
105 |
</para> |
106 |
|
107 |
<para> |
108 |
In addition, it will execute any scripts which exist under the |
109 |
<quote>watcher</quote> directory in the Ganeti hooks directory |
110 |
(@SYSCONFDIR@/ganeti/hooks). This should be used for |
111 |
lightweight actions, like starting any extra daemons. |
112 |
</para> |
113 |
|
114 |
<para> |
115 |
If the cluster |
116 |
parameter <literal>maintain_node_health</literal> is enabled, |
117 |
then the watcher will also shutdown instances and DRBD devices |
118 |
if the node is declared as offline by known master candidates. |
119 |
</para> |
120 |
|
121 |
<para> |
122 |
The watcher does synchronous queries but will submit jobs for |
123 |
executing the changes. Due to locking, it could be that the jobs |
124 |
execute much later than the watcher submits them. |
125 |
</para> |
126 |
|
127 |
</refsect2> |
128 |
|
129 |
|
130 |
</refsect1> |
131 |
|
132 |
<refsect1> |
133 |
<title>FILES</title> |
134 |
|
135 |
<para> |
136 |
The command has a state file located at |
137 |
<filename>@LOCALSTATEDIR@/lib/ganeti/watcher.data</filename> |
138 |
(only used on the master) and a log file at |
139 |
<filename>@LOCALSTATEDIR@/log/ganeti/watcher.log</filename>. Removal of |
140 |
either file will not affect correct operation; the removal of |
141 |
the state file will just cause the restart counters for the |
142 |
instances to reset to zero. |
143 |
</para> |
144 |
|
145 |
</refsect1> |
146 |
|
147 |
&footer; |
148 |
|
149 |
</refentry> |
150 |
|
151 |
<!-- Keep this comment at the end of the file |
152 |
Local variables: |
153 |
mode: sgml |
154 |
sgml-omittag:t |
155 |
sgml-shorttag:t |
156 |
sgml-minimize-attributes:nil |
157 |
sgml-always-quote-attributes:t |
158 |
sgml-indent-step:2 |
159 |
sgml-indent-data:t |
160 |
sgml-parent-document:nil |
161 |
sgml-default-dtd-file:nil |
162 |
sgml-exposed-tags:nil |
163 |
sgml-local-catalogs:nil |
164 |
sgml-local-ecat-files:nil |
165 |
End: |
166 |
--> |