Statistics
| Branch: | Tag: | Revision:

root / man / ganeti-masterd.sgml @ e0897adf

History | View | Annotate | Download (5 kB)

1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2

    
3
  <!-- Please adjust the date whenever revising the manpage. -->
4
  <!ENTITY dhdate      "<date>June 08, 2010</date>">
5
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
6
       allowed: see man(7), man(1). -->
7
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
8
  <!ENTITY dhucpackage "<refentrytitle>ganeti-masterd</refentrytitle>">
9
  <!ENTITY dhpackage   "ganeti-masterd">
10

    
11
  <!ENTITY debian      "<productname>Debian</productname>">
12
  <!ENTITY gnu         "<acronym>GNU</acronym>">
13
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
14
  <!ENTITY footer SYSTEM "footer.sgml">
15
]>
16

    
17
<refentry>
18
  <refentryinfo>
19
    <copyright>
20
      <year>2008</year>
21
      <year>2009</year>
22
      <year>2010</year>
23
      <holder>Google Inc.</holder>
24
    </copyright>
25
    &dhdate;
26
  </refentryinfo>
27
  <refmeta>
28
    &dhucpackage;
29

    
30
    &dhsection;
31
    <refmiscinfo>Ganeti 2.2</refmiscinfo>
32
  </refmeta>
33
  <refnamediv>
34
    <refname>&dhpackage;</refname>
35

    
36
    <refpurpose>Ganeti master daemon</refpurpose>
37
  </refnamediv>
38
  <refsynopsisdiv>
39
    <cmdsynopsis>
40
      <command>&dhpackage; </command>
41
      <arg>-f</arg>
42
      <arg>-d</arg>
43
      <arg>--no-voting</arg>
44

    
45
    </cmdsynopsis>
46
  </refsynopsisdiv>
47
  <refsect1>
48
    <title>DESCRIPTION</title>
49

    
50
    <para>
51
      The <command>&dhpackage;</command> is the daemon which is
52
      responsible for the overall cluster coordination. Without it, no
53
      change can be performed on the cluster.
54
    </para>
55

    
56
    <para>
57
      For testing purposes, you can give the <option>-f</option>
58
      option and the program won't detach from the running terminal.
59
    </para>
60

    
61
    <para>
62
      Debug-level message can be activated by giving the
63
      <option>-d</option> option.
64
    </para>
65
    <refsect2>
66
      <title>ROLE</title>
67
      <para>
68
        The role of the master daemon is to coordinate all the actions
69
        that change the state of the cluster. Things like accepting
70
        new jobs, coordinating the changes on nodes (via RPC calls to
71
        the respective node daemons), maintaining the configuration
72
        and so on are done via this daemon.
73
      </para>
74

    
75
      <para>
76
        The only action that can be done without the master daemon is
77
        the failover of the master role to another node in the
78
        cluster, via the <command>gnt-cluster masterfailover</command>
79
        command.
80
      </para>
81

    
82
      <para>
83
        If the master daemon is stopped, the instances are not
84
        affected, but they won't be restarted automatically in case of
85
        failure.
86
      </para>
87
    </refsect2>
88

    
89
    <refsect2>
90
      <title>STARTUP</title>
91
      <para>
92
        At startup, the master daemon will confirm with the node
93
        daemons that the node it is running is indeed the master node
94
        of the cluster. It will abort if it doesn't get half plus one
95
        positive answers (offline nodes are queried too, just in case
96
        our configuration is stale).
97
      </para>
98

    
99
      <para>
100
        For small clusters with a number of nodes down, and especially
101
        for two-node clusters where the other has gone done, this
102
        creates a problem. In this case the
103
        <option>--no-voting</option> option can be used to skip this
104
        process. The option requires interactive confirmation, as
105
        having two masters on the same cluster is a very dangerous
106
        situation and will most likely lead to data loss.
107
      </para>
108
    </refsect2>
109

    
110
    <refsect2>
111
      <title>JOB QUEUE</title>
112
      <para>
113
        The master daemon maintains a job queue (located under
114
        <filename
115
        class="directory">@LOCALSTATEDIR@/lib/ganeti/queue</filename>) in
116
        which all current jobs are stored, one job per file serialized
117
        in JSON format; in this directory a subdirectory called
118
        <filename class="directory">archive</filename> holds archived
119
        job files.
120
      </para>
121

    
122
      <para>
123
        The moving of jobs from the current to the queue directory is
124
        done via a request to the master; this can be accomplished
125
        from the command line with the <command>gnt-job
126
        archive</command> or <command>gnt-job autoarchive</command>
127
        commands. In case of problems with the master, a job file can
128
        simply be moved away or deleted (but this might leave the
129
        cluster inconsistent).
130
      </para>
131

    
132
    </refsect2>
133

    
134
    <refsect2>
135
      <title>COMMUNICATION PROTOCOL</title>
136
      <para>
137
        The master accepts commands over a Unix socket, using JSON
138
        serialized messages separated by a specific byte sequence. For
139
        more details, see the design documentation supplied with
140
        Ganeti.
141
      </para>
142
    </refsect2>
143

    
144
  </refsect1>
145

    
146
  &footer;
147

    
148
</refentry>
149

    
150
<!-- Keep this comment at the end of the file
151
Local variables:
152
mode: sgml
153
sgml-omittag:t
154
sgml-shorttag:t
155
sgml-minimize-attributes:nil
156
sgml-always-quote-attributes:t
157
sgml-indent-step:2
158
sgml-indent-data:t
159
sgml-parent-document:nil
160
sgml-default-dtd-file:nil
161
sgml-exposed-tags:nil
162
sgml-local-catalogs:nil
163
sgml-local-ecat-files:nil
164
End:
165
-->