Statistics
| Branch: | Tag: | Revision:

root / man / ganeti.rst @ 8cabf472

History | View | Annotate | Download (5.3 kB)

1
ganeti(7) Ganeti | Version @GANETI_VERSION@
2
===========================================
3

    
4
Name
5
----
6

    
7
ganeti - cluster-based virtualization management
8

    
9
Synopsis
10
--------
11

    
12
::
13

    
14
    # gnt-cluster init cluster1.example.com
15
    # gnt-node add node2.example.com
16
    # gnt-instance add -n node2.example.com \
17
    > -o debootstrap --disk 0:size=30g \
18
    > -t plain instance1.example.com
19

    
20

    
21
DESCRIPTION
22
-----------
23

    
24
The Ganeti software manages physical nodes and virtual instances of a
25
cluster based on a virtualization software. The current version (2.3)
26
supports Xen 3.x and KVM (72 or above) as hypervisors, and LXC as an
27
experimental hypervisor.
28

    
29
Quick start
30
-----------
31

    
32
First you must install the software on all the cluster nodes, either
33
from sources or (if available) from a package. The next step is to
34
create the initial cluster configuration, using **gnt-cluster init**.
35

    
36
Then you can add other nodes, or start creating instances.
37

    
38
Cluster architecture
39
--------------------
40

    
41
In Ganeti 2.0, the architecture of the cluster is a little more
42
complicated than in 1.2. The cluster is coordinated by a master daemon
43
(**ganeti-masterd**(8)), running on the master node. Each node runs
44
(as before) a node daemon, and the master has the RAPI daemon running
45
too.
46

    
47
Node roles
48
~~~~~~~~~~
49

    
50
Each node can be in one of the following states:
51

    
52
master
53
    Only one node per cluster can be in this role, and this node is the
54
    one holding the authoritative copy of the cluster configuration and
55
    the one that can actually execute commands on the cluster and
56
    modify the cluster state. See more details under
57
    *Cluster configuration*.
58

    
59
master_candidate
60
    The node receives the full cluster configuration (configuration
61
    file and jobs) and can become a master via the
62
    **gnt-cluster master-failover** command. Nodes that are not in this
63
    state cannot transition into the master role due to missing state.
64

    
65
regular
66
    This the normal state of a node.
67

    
68
drained
69
    Nodes in this state are functioning normally but cannot receive
70
    new instances, because the intention is to set them to *offline*
71
    or remove them from the cluster.
72

    
73
offline
74
    These nodes are still recorded in the Ganeti configuration, but
75
    except for the master daemon startup voting procedure, they are not
76
    actually contacted by the master. This state was added in order to
77
    allow broken machines (that are being repaired) to remain in the
78
    cluster but without creating problems.
79

    
80

    
81
Node flags
82
~~~~~~~~~~
83

    
84
Nodes have two flags which govern which roles they can take:
85

    
86
master_capable
87
    The node can become a master candidate, and furthermore the master
88
    node. When this flag is disabled, the node cannot become a
89
    candidate; this can be useful for special networking cases, or less
90
    reliable hardware.
91

    
92
vm_capable
93
    The node can host instances. When enabled (the default state), the
94
    node will participate in instance allocation, capacity calculation,
95
    etc. When disabled, the node will be skipped in many cluster checks
96
    and operations.
97

    
98

    
99
Node Parameters
100
~~~~~~~~~~~~~~~
101

    
102
These parameters are node specific and can be preseeded on node-group
103
and cluster level.
104

    
105
Currently we support the following node parameters:
106

    
107
oob_program
108
    Path to an executable used as the out-of-band helper as described in
109
    the `Ganeti Node OOB Management Framework <design-oob.rst>`_ design
110
    document.
111

    
112

    
113
Cluster configuration
114
~~~~~~~~~~~~~~~~~~~~~
115

    
116
The master node keeps and is responsible for the cluster
117
configuration. On the filesystem, this is stored under the
118
``@LOCALSTATEDIR@/ganeti/lib`` directory, and if the master daemon is
119
stopped it can be backed up normally.
120

    
121
The master daemon will replicate the configuration database called
122
``config.data`` and the job files to all the nodes in the master
123
candidate role. It will also distribute a copy of some configuration
124
values via the *ssconf* files, which are stored in the same directory
125
and start with a ``ssconf_`` prefix, to all nodes.
126

    
127
Jobs
128
~~~~
129

    
130
All cluster modification are done via jobs. A job consists of one
131
or more opcodes, and the list of opcodes is processed serially. If
132
an opcode fails, the entire job is failed and later opcodes are no
133
longer processed. A job can be in one of the following states:
134

    
135
queued
136
    The job has been submitted but not yet processed by the master
137
    daemon.
138

    
139
waiting
140
    The job is waiting for for locks before the first of its opcodes.
141

    
142
canceling
143
    The job is waiting for locks, but is has been marked for
144
    cancellation. It will not transition to *running*, but to
145
    *canceled*.
146

    
147
running
148
    The job is currently being executed.
149

    
150
canceled
151
    The job has been canceled before starting execution.
152

    
153
success
154
    The job has finished successfully.
155

    
156
error
157
    The job has failed during runtime, or the master daemon has been
158
    stopped during the job execution.
159

    
160

    
161
Common options
162
--------------
163

    
164
Many Ganeti commands provide the following options. The
165
availability for a certain command can be checked by calling the
166
command using the ``--help`` option.
167

    
168
**gnt-...** *command* [--dry-run] [--priority {low | normal | high}]
169

    
170
The ``--dry-run`` option can be used to check whether an operation
171
would succeed.
172

    
173
The option ``--priority`` sets the priority for opcodes submitted
174
by the command.
175

    
176

    
177
Common daemon functionality
178
---------------------------
179

    
180
All Ganeti daemons re-open the log file(s) when sent a SIGHUP signal.
181
**logrotate**(8) can be used to rotate Ganeti's log files.