Statistics
| Branch: | Tag: | Revision:

root / man / ganeti.sgml @ 36e23a40

History | View | Annotate | Download (7.6 kB)

1 a8083063 Iustin Pop
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2 a8083063 Iustin Pop
3 a8083063 Iustin Pop
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4 a8083063 Iustin Pop
  <!-- Please adjust the date whenever revising the manpage. -->
5 d3b4cf9f Iustin Pop
  <!ENTITY dhdate      "<date>February 12, 2009</date>">
6 a8083063 Iustin Pop
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7 a8083063 Iustin Pop
       allowed: see man(7), man(1). -->
8 a8083063 Iustin Pop
  <!ENTITY dhsection   "<manvolnum>7</manvolnum>">
9 a8083063 Iustin Pop
  <!ENTITY dhucpackage "<refentrytitle>ganeti</refentrytitle>">
10 a8083063 Iustin Pop
  <!ENTITY dhpackage   "ganeti">
11 a8083063 Iustin Pop
12 a8083063 Iustin Pop
  <!ENTITY debian      "<productname>Debian</productname>">
13 a8083063 Iustin Pop
  <!ENTITY gnu         "<acronym>GNU</acronym>">
14 a8083063 Iustin Pop
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15 a8083063 Iustin Pop
  <!ENTITY footer SYSTEM "footer.sgml">
16 a8083063 Iustin Pop
]>
17 a8083063 Iustin Pop
18 a8083063 Iustin Pop
<refentry>
19 a8083063 Iustin Pop
  <refentryinfo>
20 a8083063 Iustin Pop
    <copyright>
21 a8083063 Iustin Pop
      <year>2006</year>
22 a8083063 Iustin Pop
      <year>2007</year>
23 d3b4cf9f Iustin Pop
      <year>2008</year>
24 d3b4cf9f Iustin Pop
      <year>2009</year>
25 a8083063 Iustin Pop
      <holder>Google Inc.</holder>
26 a8083063 Iustin Pop
    </copyright>
27 a8083063 Iustin Pop
    &dhdate;
28 a8083063 Iustin Pop
  </refentryinfo>
29 a8083063 Iustin Pop
  <refmeta>
30 a8083063 Iustin Pop
    &dhucpackage;
31 a8083063 Iustin Pop
32 a8083063 Iustin Pop
    &dhsection;
33 d3b4cf9f Iustin Pop
    <refmiscinfo>ganeti 2.0</refmiscinfo>
34 a8083063 Iustin Pop
  </refmeta>
35 a8083063 Iustin Pop
  <refnamediv>
36 a8083063 Iustin Pop
    <refname>&dhpackage;</refname>
37 a8083063 Iustin Pop
38 a8083063 Iustin Pop
    <refpurpose>cluster-based virtualization management</refpurpose>
39 a8083063 Iustin Pop
40 a8083063 Iustin Pop
  </refnamediv>
41 a8083063 Iustin Pop
  <refsynopsisdiv>
42 a8083063 Iustin Pop
    <screen>
43 a8083063 Iustin Pop
# gnt-cluster init cluster1.example.com
44 a8083063 Iustin Pop
# gnt-node add node2.example.com
45 d3b4cf9f Iustin Pop
# gnt-instance add -n node2.example.com \
46 d3b4cf9f Iustin Pop
&gt; -o debootstrap --disk 0:size=30g \
47 a8083063 Iustin Pop
&gt; -t plain instance1.example.com
48 a8083063 Iustin Pop
    </screen>
49 a8083063 Iustin Pop
  </refsynopsisdiv>
50 a8083063 Iustin Pop
  <refsect1>
51 a8083063 Iustin Pop
    <title>DESCRIPTION</title>
52 a8083063 Iustin Pop
53 a8083063 Iustin Pop
    <para>
54 a8083063 Iustin Pop
      The ganeti software manages physical nodes and virtual instances
55 a8083063 Iustin Pop
      of a cluster based on a virtualization software. The current
56 d3b4cf9f Iustin Pop
      version (2.0) supports Xen 3.0 (also tested with 3.1) and KVM
57 d3b4cf9f Iustin Pop
      hypervisors.
58 a8083063 Iustin Pop
    </para>
59 a8083063 Iustin Pop
60 a8083063 Iustin Pop
  </refsect1>
61 a8083063 Iustin Pop
  <refsect1>
62 a8083063 Iustin Pop
    <title>Quick start</title>
63 a8083063 Iustin Pop
64 a8083063 Iustin Pop
    <para>
65 a8083063 Iustin Pop
      First you must install the software on all the cluster nodes,
66 a8083063 Iustin Pop
      either from sources or (if available) from a package. The next
67 a8083063 Iustin Pop
      step is to create the initial cluster configuration, using
68 d3b4cf9f Iustin Pop
      <userinput>gnt-cluster init</userinput>.
69 a8083063 Iustin Pop
    </para>
70 a8083063 Iustin Pop
71 a8083063 Iustin Pop
    <para>
72 a8083063 Iustin Pop
      Then you can add other nodes, or start creating instances.
73 a8083063 Iustin Pop
    </para>
74 a8083063 Iustin Pop
75 a8083063 Iustin Pop
  </refsect1>
76 a8083063 Iustin Pop
77 d3b4cf9f Iustin Pop
  <refsect1>
78 d3b4cf9f Iustin Pop
    <title>Cluster architecture</title>
79 d3b4cf9f Iustin Pop
80 d3b4cf9f Iustin Pop
    <para>
81 d3b4cf9f Iustin Pop
      In Ganeti 2.0, the architecture of the cluster is a little more
82 d3b4cf9f Iustin Pop
      complicated than in 1.2. The cluster is coordinated by a master
83 d3b4cf9f Iustin Pop
      daemon (<citerefentry>
84 d3b4cf9f Iustin Pop
      <refentrytitle>ganeti-masterd</refentrytitle>
85 d3b4cf9f Iustin Pop
      <manvolnum>8</manvolnum> </citerefentry>), running on the master
86 d3b4cf9f Iustin Pop
      node. Each node runs (as before) a node daemon, and the master
87 d3b4cf9f Iustin Pop
      has the <acronym>RAPI</acronym> daemon running too.
88 d3b4cf9f Iustin Pop
    </para>
89 d3b4cf9f Iustin Pop
90 d3b4cf9f Iustin Pop
    <refsect2>
91 d3b4cf9f Iustin Pop
      <title>Node roles</title>
92 d3b4cf9f Iustin Pop
93 d3b4cf9f Iustin Pop
      <para>Each node can be in one of the following states:
94 d3b4cf9f Iustin Pop
        <variablelist>
95 d3b4cf9f Iustin Pop
          <varlistentry>
96 d3b4cf9f Iustin Pop
            <term>master_candidate</term>
97 d3b4cf9f Iustin Pop
            <listitem>
98 d3b4cf9f Iustin Pop
              <para>The node receives the full cluster configuration
99 d3b4cf9f Iustin Pop
              (configuration file and jobs) and can become a master
100 d3b4cf9f Iustin Pop
              via the <command>gnt-cluster masterfailover</command>
101 d3b4cf9f Iustin Pop
              command. Nodes that are not in this state cannot
102 d3b4cf9f Iustin Pop
              transition into the master role due to missing
103 d3b4cf9f Iustin Pop
              state.</para>
104 d3b4cf9f Iustin Pop
            </listitem>
105 d3b4cf9f Iustin Pop
          </varlistentry>
106 d3b4cf9f Iustin Pop
          <varlistentry>
107 d3b4cf9f Iustin Pop
            <term>regular</term>
108 d3b4cf9f Iustin Pop
            <listitem>
109 d3b4cf9f Iustin Pop
              <para>This the normal state of a node.</para>
110 d3b4cf9f Iustin Pop
            </listitem>
111 d3b4cf9f Iustin Pop
          </varlistentry>
112 d3b4cf9f Iustin Pop
          <varlistentry>
113 d3b4cf9f Iustin Pop
            <term>drained</term>
114 d3b4cf9f Iustin Pop
            <listitem>
115 d3b4cf9f Iustin Pop
              <para>Nodes in this state are functioning normally but
116 d3b4cf9f Iustin Pop
              cannot receive new instance, because the intention is to
117 d3b4cf9f Iustin Pop
              set them to <emphasis>offline</emphasis> or remove them
118 d3b4cf9f Iustin Pop
              from the cluster.</para>
119 d3b4cf9f Iustin Pop
            </listitem>
120 d3b4cf9f Iustin Pop
          </varlistentry>
121 d3b4cf9f Iustin Pop
          <varlistentry>
122 d3b4cf9f Iustin Pop
            <term>offline</term>
123 d3b4cf9f Iustin Pop
            <listitem>
124 d3b4cf9f Iustin Pop
              <para>These nodes are still recorder in the ganeti
125 d3b4cf9f Iustin Pop
              configuration, but except for the master daemon startup
126 d3b4cf9f Iustin Pop
              voting procedure, they are not actually contacted by the
127 d3b4cf9f Iustin Pop
              master. This state was added in order to allow broken
128 d3b4cf9f Iustin Pop
              machines (that are being repaired) to remain in the
129 d3b4cf9f Iustin Pop
              cluster but without creating problems.</para>
130 d3b4cf9f Iustin Pop
            </listitem>
131 d3b4cf9f Iustin Pop
          </varlistentry>
132 d3b4cf9f Iustin Pop
        </variablelist>
133 d3b4cf9f Iustin Pop
      </para>
134 d3b4cf9f Iustin Pop
    </refsect2>
135 d3b4cf9f Iustin Pop
136 d3b4cf9f Iustin Pop
    <refsect2>
137 d3b4cf9f Iustin Pop
      <title>Cluster configuration</title>
138 d3b4cf9f Iustin Pop
139 d3b4cf9f Iustin Pop
      <para>The master node keeps and is responsible for the cluster
140 d3b4cf9f Iustin Pop
      configuration. On the filesystem, this is stored under the
141 d3b4cf9f Iustin Pop
      <filename
142 d3b4cf9f Iustin Pop
      class="directory">@LOCALSTATEDIR@/ganeti/lib</filename>
143 d3b4cf9f Iustin Pop
      directory, and if the master daemon is stopped it can be backed
144 d3b4cf9f Iustin Pop
      up normally.</para>
145 d3b4cf9f Iustin Pop
146 d3b4cf9f Iustin Pop
      <para>The master daemon will replicate the configuration
147 d3b4cf9f Iustin Pop
      database called <filename>config.data</filename> and the job
148 d3b4cf9f Iustin Pop
      files to all the nodes in the master candidate role. It will
149 d3b4cf9f Iustin Pop
      also distribute a copy of some configuration values via the
150 d3b4cf9f Iustin Pop
      <emphasis>ssconf</emphasis> files, which are stored in the same
151 d3b4cf9f Iustin Pop
      directory and start with <filename>ssconf_</filename> prefix, to
152 d3b4cf9f Iustin Pop
      all nodes.</para>
153 d3b4cf9f Iustin Pop
154 d3b4cf9f Iustin Pop
    </refsect2>
155 d3b4cf9f Iustin Pop
156 d3b4cf9f Iustin Pop
    <refsect2>
157 d3b4cf9f Iustin Pop
      <title>Jobs</title>
158 d3b4cf9f Iustin Pop
159 d3b4cf9f Iustin Pop
      <para>
160 d3b4cf9f Iustin Pop
        All cluster modification are done via jobs. A job consists of
161 d3b4cf9f Iustin Pop
        one or more opcodes, and the list of opcodes is processed
162 d3b4cf9f Iustin Pop
        serially. If an opcode fails, the entire job is failed and
163 d3b4cf9f Iustin Pop
        later opcodes are no longer processed. A job can be in one of
164 d3b4cf9f Iustin Pop
        the following states:
165 d3b4cf9f Iustin Pop
        <variablelist>
166 d3b4cf9f Iustin Pop
          <varlistentry>
167 d3b4cf9f Iustin Pop
            <term>queued</term>
168 d3b4cf9f Iustin Pop
            <listitem>
169 d3b4cf9f Iustin Pop
              <simpara>The job has been submitted but not yet
170 d3b4cf9f Iustin Pop
              processed by the master daemon.</simpara>
171 d3b4cf9f Iustin Pop
            </listitem>
172 d3b4cf9f Iustin Pop
          </varlistentry>
173 d3b4cf9f Iustin Pop
          <varlistentry>
174 d3b4cf9f Iustin Pop
            <term>waiting</term>
175 d3b4cf9f Iustin Pop
            <listitem>
176 d3b4cf9f Iustin Pop
              <simpara>The job is waiting for for locks before the
177 d3b4cf9f Iustin Pop
              first of its opcodes.</simpara>
178 d3b4cf9f Iustin Pop
            </listitem>
179 d3b4cf9f Iustin Pop
          </varlistentry>
180 d3b4cf9f Iustin Pop
          <varlistentry>
181 d3b4cf9f Iustin Pop
            <term>canceling</term>
182 d3b4cf9f Iustin Pop
            <listitem>
183 d3b4cf9f Iustin Pop
              <para>The jos is waiting for locks, but is has been
184 d3b4cf9f Iustin Pop
              marked for cancelation. It will not transition to
185 d3b4cf9f Iustin Pop
              <emphasis>running</emphasis>, but to
186 d3b4cf9f Iustin Pop
              <emphasis>canceled</emphasis>.
187 d3b4cf9f Iustin Pop
              </para>
188 d3b4cf9f Iustin Pop
            </listitem>
189 d3b4cf9f Iustin Pop
          </varlistentry>
190 d3b4cf9f Iustin Pop
          <varlistentry>
191 d3b4cf9f Iustin Pop
            <term>running</term>
192 d3b4cf9f Iustin Pop
            <listitem>
193 d3b4cf9f Iustin Pop
              <simpara>The job is currently being executed.</simpara>
194 d3b4cf9f Iustin Pop
            </listitem>
195 d3b4cf9f Iustin Pop
          </varlistentry>
196 d3b4cf9f Iustin Pop
          <varlistentry>
197 d3b4cf9f Iustin Pop
            <term>canceled</term>
198 d3b4cf9f Iustin Pop
            <listitem>
199 d3b4cf9f Iustin Pop
              <para>The job has been canceled before starting
200 d3b4cf9f Iustin Pop
              execution.</para>
201 d3b4cf9f Iustin Pop
            </listitem>
202 d3b4cf9f Iustin Pop
          </varlistentry>
203 d3b4cf9f Iustin Pop
          <varlistentry>
204 d3b4cf9f Iustin Pop
            <term>success</term>
205 d3b4cf9f Iustin Pop
            <listitem>
206 d3b4cf9f Iustin Pop
              <para>The job has finished successfully.</para>
207 d3b4cf9f Iustin Pop
            </listitem>
208 d3b4cf9f Iustin Pop
          </varlistentry>
209 d3b4cf9f Iustin Pop
          <varlistentry>
210 d3b4cf9f Iustin Pop
            <term>error</term>
211 d3b4cf9f Iustin Pop
            <listitem>
212 d3b4cf9f Iustin Pop
              <para>The job has failed during runtime, or the master
213 d3b4cf9f Iustin Pop
              daemon has been stopped during the job execution.</para>
214 d3b4cf9f Iustin Pop
            </listitem>
215 d3b4cf9f Iustin Pop
          </varlistentry>
216 d3b4cf9f Iustin Pop
        </variablelist>
217 d3b4cf9f Iustin Pop
      </para>
218 d3b4cf9f Iustin Pop
    </refsect2>
219 d3b4cf9f Iustin Pop
  </refsect1>
220 d3b4cf9f Iustin Pop
221 a8083063 Iustin Pop
  &footer;
222 a8083063 Iustin Pop
223 a8083063 Iustin Pop
</refentry>
224 a8083063 Iustin Pop
225 a8083063 Iustin Pop
<!-- Keep this comment at the end of the file
226 a8083063 Iustin Pop
Local variables:
227 a8083063 Iustin Pop
mode: sgml
228 a8083063 Iustin Pop
sgml-omittag:t
229 a8083063 Iustin Pop
sgml-shorttag:t
230 a8083063 Iustin Pop
sgml-minimize-attributes:nil
231 a8083063 Iustin Pop
sgml-always-quote-attributes:t
232 a8083063 Iustin Pop
sgml-indent-step:2
233 a8083063 Iustin Pop
sgml-indent-data:t
234 a8083063 Iustin Pop
sgml-parent-document:nil
235 a8083063 Iustin Pop
sgml-default-dtd-file:nil
236 a8083063 Iustin Pop
sgml-exposed-tags:nil
237 a8083063 Iustin Pop
sgml-local-catalogs:nil
238 a8083063 Iustin Pop
sgml-local-ecat-files:nil
239 a8083063 Iustin Pop
End:
240 a8083063 Iustin Pop
-->