Statistics
| Branch: | Tag: | Revision:

root / man / ganeti-masterd.sgml @ 07813a9e

History | View | Annotate | Download (5 kB)

1 320d986d Iustin Pop
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2 320d986d Iustin Pop
3 320d986d Iustin Pop
  <!-- Please adjust the date whenever revising the manpage. -->
4 320d986d Iustin Pop
  <!ENTITY dhdate      "<date>February 11, 2009</date>">
5 320d986d Iustin Pop
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
6 320d986d Iustin Pop
       allowed: see man(7), man(1). -->
7 320d986d Iustin Pop
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
8 320d986d Iustin Pop
  <!ENTITY dhucpackage "<refentrytitle>ganeti-masterd</refentrytitle>">
9 320d986d Iustin Pop
  <!ENTITY dhpackage   "ganeti-masterd">
10 320d986d Iustin Pop
11 320d986d Iustin Pop
  <!ENTITY debian      "<productname>Debian</productname>">
12 320d986d Iustin Pop
  <!ENTITY gnu         "<acronym>GNU</acronym>">
13 320d986d Iustin Pop
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
14 320d986d Iustin Pop
  <!ENTITY footer SYSTEM "footer.sgml">
15 320d986d Iustin Pop
]>
16 320d986d Iustin Pop
17 320d986d Iustin Pop
<refentry>
18 320d986d Iustin Pop
  <refentryinfo>
19 320d986d Iustin Pop
    <copyright>
20 320d986d Iustin Pop
      <year>2008</year>
21 320d986d Iustin Pop
      <year>2009</year>
22 320d986d Iustin Pop
      <holder>Google Inc.</holder>
23 320d986d Iustin Pop
    </copyright>
24 320d986d Iustin Pop
    &dhdate;
25 320d986d Iustin Pop
  </refentryinfo>
26 320d986d Iustin Pop
  <refmeta>
27 320d986d Iustin Pop
    &dhucpackage;
28 320d986d Iustin Pop
29 320d986d Iustin Pop
    &dhsection;
30 320d986d Iustin Pop
    <refmiscinfo>ganeti 2.0</refmiscinfo>
31 320d986d Iustin Pop
  </refmeta>
32 320d986d Iustin Pop
  <refnamediv>
33 320d986d Iustin Pop
    <refname>&dhpackage;</refname>
34 320d986d Iustin Pop
35 320d986d Iustin Pop
    <refpurpose>ganeti master daemon</refpurpose>
36 320d986d Iustin Pop
  </refnamediv>
37 320d986d Iustin Pop
  <refsynopsisdiv>
38 320d986d Iustin Pop
    <cmdsynopsis>
39 320d986d Iustin Pop
      <command>&dhpackage; </command>
40 320d986d Iustin Pop
      <arg>-f</arg>
41 320d986d Iustin Pop
      <arg>-d</arg>
42 320d986d Iustin Pop
      <arg>--no-voting</arg>
43 320d986d Iustin Pop
44 320d986d Iustin Pop
    </cmdsynopsis>
45 320d986d Iustin Pop
  </refsynopsisdiv>
46 320d986d Iustin Pop
  <refsect1>
47 320d986d Iustin Pop
    <title>DESCRIPTION</title>
48 320d986d Iustin Pop
49 320d986d Iustin Pop
    <para>
50 320d986d Iustin Pop
      The <command>&dhpackage;</command> is the daemon which is
51 320d986d Iustin Pop
      responsible for the overall cluster coordination. Without it, no
52 320d986d Iustin Pop
      change can be performed on the cluster.
53 320d986d Iustin Pop
    </para>
54 320d986d Iustin Pop
55 320d986d Iustin Pop
    <para>
56 320d986d Iustin Pop
      For testing purposes, you can give the <option>-f</option>
57 320d986d Iustin Pop
      option and the program won't detach from the running terminal.
58 320d986d Iustin Pop
    </para>
59 320d986d Iustin Pop
60 320d986d Iustin Pop
    <para>
61 320d986d Iustin Pop
      Debug-level message can be activated by giving the
62 320d986d Iustin Pop
      <option>-d</option> option.
63 320d986d Iustin Pop
    </para>
64 320d986d Iustin Pop
    <refsect2>
65 320d986d Iustin Pop
      <title>ROLE</title>
66 320d986d Iustin Pop
      <para>
67 320d986d Iustin Pop
        The role of the master daemon is to coordinate all the actions
68 320d986d Iustin Pop
        that change the state of the cluster. Things like accepting
69 320d986d Iustin Pop
        new jobs, coordinating the changes on nodes (via RPC calls to
70 320d986d Iustin Pop
        the respective node daemons), maintaining the configuration
71 320d986d Iustin Pop
        and so on are done via this daemon.
72 320d986d Iustin Pop
      </para>
73 320d986d Iustin Pop
74 320d986d Iustin Pop
      <para>
75 320d986d Iustin Pop
        The only action that can be done without the master daemon is
76 320d986d Iustin Pop
        the failover of the master role to another node in the
77 320d986d Iustin Pop
        cluster, via the <command>gnt-cluster masterfailover</command>
78 320d986d Iustin Pop
        command.
79 320d986d Iustin Pop
      </para>
80 320d986d Iustin Pop
81 320d986d Iustin Pop
      <para>
82 320d986d Iustin Pop
        If the master daemon is stopped, the instances are not
83 320d986d Iustin Pop
        affected, but they won't be restarted automatically in case of
84 320d986d Iustin Pop
        failure.
85 320d986d Iustin Pop
      </para>
86 320d986d Iustin Pop
    </refsect2>
87 320d986d Iustin Pop
88 320d986d Iustin Pop
    <refsect2>
89 320d986d Iustin Pop
      <title>STARTUP</title>
90 320d986d Iustin Pop
      <para>
91 320d986d Iustin Pop
        At startup, the master daemon will confirm with the node
92 320d986d Iustin Pop
        daemons that the node it is running is indeed the master node
93 320d986d Iustin Pop
        of the cluster. It will abort if it doesn't get half plus one
94 320d986d Iustin Pop
        positive answers (offline nodes are queried too, just in case
95 320d986d Iustin Pop
        our configuration is stale).
96 320d986d Iustin Pop
      </para>
97 320d986d Iustin Pop
98 320d986d Iustin Pop
      <para>
99 320d986d Iustin Pop
        For small clusters with a number of nodes down, and especially
100 320d986d Iustin Pop
        for two-node clusters where the other has gone done, this
101 320d986d Iustin Pop
        creates a problem. In this case the
102 320d986d Iustin Pop
        <option>--no-voting</option> option can be used to skip this
103 320d986d Iustin Pop
        process. The option requires interactive confirmation, as
104 320d986d Iustin Pop
        having two masters on the same cluster is a very dangerous
105 320d986d Iustin Pop
        situation and will most likely lead to data loss.
106 320d986d Iustin Pop
      </para>
107 320d986d Iustin Pop
    </refsect2>
108 320d986d Iustin Pop
109 320d986d Iustin Pop
    <refsect2>
110 320d986d Iustin Pop
      <title>JOB QUEUE</title>
111 320d986d Iustin Pop
      <para>
112 320d986d Iustin Pop
        The master daemon maintains a job queue (located under
113 320d986d Iustin Pop
        <filename
114 320d986d Iustin Pop
        class="directory">@LOCALSTATEDIR@/lib/ganeti/queue</filename>) in
115 320d986d Iustin Pop
        which all current jobs are stored, one job per file serialized
116 320d986d Iustin Pop
        in JSON format; in this directory a subdirectory called
117 320d986d Iustin Pop
        <filename class="directory">archive</filename> holds archived
118 320d986d Iustin Pop
        job files.
119 320d986d Iustin Pop
      </para>
120 320d986d Iustin Pop
121 320d986d Iustin Pop
      <para>
122 320d986d Iustin Pop
        The moving of jobs from the current to the queue directory is
123 320d986d Iustin Pop
        done via a request to the master; this can be accomplished
124 320d986d Iustin Pop
        from the command line with the <command>gnt-job
125 320d986d Iustin Pop
        archive</command> or <command>gnt-job autoarchive</command>
126 320d986d Iustin Pop
        commands. In case of problems with the master, a job file can
127 320d986d Iustin Pop
        simply be moved away or deleted (but this might leave the
128 320d986d Iustin Pop
        cluster inconsistent).
129 320d986d Iustin Pop
      </para>
130 320d986d Iustin Pop
131 320d986d Iustin Pop
    </refsect2>
132 320d986d Iustin Pop
133 320d986d Iustin Pop
    <refsect2>
134 320d986d Iustin Pop
      <title>COMMUNICATION PROTOCOL</title>
135 320d986d Iustin Pop
      <para>
136 320d986d Iustin Pop
        The master accepts commands over a Unix socket, using JSON
137 320d986d Iustin Pop
        serialized messages separated by a specific byte sequence. For
138 320d986d Iustin Pop
        more details, see the design documentation supplied with
139 320d986d Iustin Pop
        Ganeti.
140 320d986d Iustin Pop
      </para>
141 320d986d Iustin Pop
    </refsect2>
142 320d986d Iustin Pop
143 320d986d Iustin Pop
  </refsect1>
144 320d986d Iustin Pop
145 320d986d Iustin Pop
  &footer;
146 320d986d Iustin Pop
147 320d986d Iustin Pop
</refentry>
148 320d986d Iustin Pop
149 320d986d Iustin Pop
<!-- Keep this comment at the end of the file
150 320d986d Iustin Pop
Local variables:
151 320d986d Iustin Pop
mode: sgml
152 320d986d Iustin Pop
sgml-omittag:t
153 320d986d Iustin Pop
sgml-shorttag:t
154 320d986d Iustin Pop
sgml-minimize-attributes:nil
155 320d986d Iustin Pop
sgml-always-quote-attributes:t
156 320d986d Iustin Pop
sgml-indent-step:2
157 320d986d Iustin Pop
sgml-indent-data:t
158 320d986d Iustin Pop
sgml-parent-document:nil
159 320d986d Iustin Pop
sgml-default-dtd-file:nil
160 320d986d Iustin Pop
sgml-exposed-tags:nil
161 320d986d Iustin Pop
sgml-local-catalogs:nil
162 320d986d Iustin Pop
sgml-local-ecat-files:nil
163 320d986d Iustin Pop
End:
164 320d986d Iustin Pop
-->