Statistics
| Branch: | Tag: | Revision:

root / hspace.1 @ 57ef88df

History | View | Annotate | Download (13.5 kB)

1 927aa3ee Iustin Pop
.TH HSPACE 1 2009-06-01 htools "Ganeti H-tools"
2 927aa3ee Iustin Pop
.SH NAME
3 927aa3ee Iustin Pop
hspace \- Cluster space analyzer for Ganeti
4 927aa3ee Iustin Pop
5 927aa3ee Iustin Pop
.SH SYNOPSIS
6 927aa3ee Iustin Pop
.B hspace
7 848a9ac5 Iustin Pop
.B "[backend options...]"
8 848a9ac5 Iustin Pop
.B "[algorithm options...]"
9 848a9ac5 Iustin Pop
.B "[request options..."]
10 e98fb766 Iustin Pop
.BI "[ -p[" fields "] ]"
11 927aa3ee Iustin Pop
.B "[-v... | -q]"
12 848a9ac5 Iustin Pop
13 848a9ac5 Iustin Pop
.B hspace
14 848a9ac5 Iustin Pop
.B --version
15 848a9ac5 Iustin Pop
16 848a9ac5 Iustin Pop
.TP
17 848a9ac5 Iustin Pop
Backend options:
18 5d4f9eed Iustin Pop
.BI " -m " cluster
19 848a9ac5 Iustin Pop
|
20 5d4f9eed Iustin Pop
.BI " -L[" path "]"
21 848a9ac5 Iustin Pop
|
22 2b7a98ae Iustin Pop
.BI " -t " data-file
23 5d4f9eed Iustin Pop
|
24 5d4f9eed Iustin Pop
.BI " --simulate " spec
25 848a9ac5 Iustin Pop
26 848a9ac5 Iustin Pop
.TP
27 848a9ac5 Iustin Pop
Algorithm options:
28 848a9ac5 Iustin Pop
.BI "[ --max-cpu " cpu-ratio " ]"
29 848a9ac5 Iustin Pop
.BI "[ --min-disk " disk-ratio " ]"
30 848a9ac5 Iustin Pop
.BI "[ -O " name... " ]"
31 848a9ac5 Iustin Pop
32 848a9ac5 Iustin Pop
.TP
33 848a9ac5 Iustin Pop
Request options:
34 927aa3ee Iustin Pop
.BI "[--memory " mem "]"
35 927aa3ee Iustin Pop
.BI "[--disk " disk "]"
36 927aa3ee Iustin Pop
.BI "[--req-nodes " req-nodes "]"
37 bd2f1465 Iustin Pop
.BI "[--vcpus " vcpus "]"
38 5d4f9eed Iustin Pop
.BI "[--tiered-alloc " spec "]"
39 927aa3ee Iustin Pop
40 927aa3ee Iustin Pop
41 927aa3ee Iustin Pop
.SH DESCRIPTION
42 927aa3ee Iustin Pop
hspace computes how many additional instances can be fit on a cluster,
43 927aa3ee Iustin Pop
while maintaining N+1 status.
44 927aa3ee Iustin Pop
45 927aa3ee Iustin Pop
The program will try to place instances, all of the same size, on the
46 927aa3ee Iustin Pop
cluster, until the point where we don't have any N+1 possible
47 927aa3ee Iustin Pop
allocation. It uses the exact same allocation algorithm as the hail
48 927aa3ee Iustin Pop
iallocator plugin.
49 927aa3ee Iustin Pop
50 2bbf77cc Iustin Pop
The output of the program is designed to interpreted as a shell
51 2bbf77cc Iustin Pop
fragment (or parsed as a \fIkey=value\fR file). Options which extend
52 1cd133d6 Iustin Pop
the output (e.g. \-p, \-v) will output the additional information on
53 2bbf77cc Iustin Pop
stderr (such that the stdout is still parseable).
54 2bbf77cc Iustin Pop
55 2bbf77cc Iustin Pop
The following keys are available in the output of the script (all
56 2bbf77cc Iustin Pop
prefixed with \fIHTS_\fR):
57 2bbf77cc Iustin Pop
.TP
58 2bbf77cc Iustin Pop
.I SPEC_MEM, SPEC_DSK, SPEC_CPU, SPEC_RQN
59 2bbf77cc Iustin Pop
These represent the specifications of the instance model used for
60 2bbf77cc Iustin Pop
allocation (the memory, disk, cpu, requested nodes).
61 2bbf77cc Iustin Pop
62 2bbf77cc Iustin Pop
.TP
63 2bbf77cc Iustin Pop
.I CLUSTER_MEM, CLUSTER_DSK, CLUSTER_CPU, CLUSTER_NODES
64 2bbf77cc Iustin Pop
These represent the total memory, disk, CPU count and total nodes in
65 2bbf77cc Iustin Pop
the cluster.
66 2bbf77cc Iustin Pop
67 2bbf77cc Iustin Pop
.TP
68 2bbf77cc Iustin Pop
.I INI_SCORE, FIN_SCORE
69 2bbf77cc Iustin Pop
These are the initial (current) and final cluster score (see the hbal
70 2bbf77cc Iustin Pop
man page for details about the scoring algorithm).
71 2bbf77cc Iustin Pop
72 2bbf77cc Iustin Pop
.TP
73 2bbf77cc Iustin Pop
.I INI_INST_CNT, FIN_INST_CNT
74 2bbf77cc Iustin Pop
The initial and final instance count.
75 2bbf77cc Iustin Pop
76 2bbf77cc Iustin Pop
.TP
77 2bbf77cc Iustin Pop
.I INI_MEM_FREE, FIN_MEM_FREE
78 2bbf77cc Iustin Pop
The initial and final total free memory in the cluster (but this
79 2bbf77cc Iustin Pop
doesn't necessarily mean available for use).
80 2bbf77cc Iustin Pop
81 2bbf77cc Iustin Pop
.TP
82 2bbf77cc Iustin Pop
.I INI_MEM_AVAIL, FIN_MEM_AVAIL
83 2bbf77cc Iustin Pop
The initial and final total available memory for allocation in the
84 2bbf77cc Iustin Pop
cluster. If allocating redundant instances, new instances could
85 2bbf77cc Iustin Pop
increase the reserved memory so it doesn't necessarily mean the
86 2bbf77cc Iustin Pop
entirety of this memory can be used for new instance allocations.
87 2bbf77cc Iustin Pop
88 2bbf77cc Iustin Pop
.TP
89 2bbf77cc Iustin Pop
.I INI_MEM_RESVD, FIN_MEM_RESVD
90 2bbf77cc Iustin Pop
The initial and final reserved memory (for redundancy/N+1 purposes).
91 2bbf77cc Iustin Pop
92 2bbf77cc Iustin Pop
.TP
93 2bbf77cc Iustin Pop
.I INI_MEM_INST, FIN_MEM_INST
94 2bbf77cc Iustin Pop
The initial and final memory used for instances (actual runtime used
95 2bbf77cc Iustin Pop
RAM).
96 2bbf77cc Iustin Pop
97 2bbf77cc Iustin Pop
.TP
98 2bbf77cc Iustin Pop
.I INI_MEM_OVERHEAD, FIN_MEM_OVERHEAD
99 1cd133d6 Iustin Pop
The initial and final memory overhead \(em memory used for the node
100 2bbf77cc Iustin Pop
itself and unacounted memory (e.g. due to hypervisor overhead).
101 2bbf77cc Iustin Pop
102 2bbf77cc Iustin Pop
.TP
103 2bbf77cc Iustin Pop
.I INI_MEM_EFF, HTS_INI_MEM_EFF
104 2bbf77cc Iustin Pop
The initial and final memory efficiency, represented as instance
105 2bbf77cc Iustin Pop
memory divided by total memory.
106 2bbf77cc Iustin Pop
107 2bbf77cc Iustin Pop
.TP
108 2bbf77cc Iustin Pop
.I INI_DSK_FREE, INI_DSK_AVAIL, INI_DSK_RESVD, INI_DSK_INST, INI_DSK_EFF
109 2bbf77cc Iustin Pop
Initial disk stats, similar to the memory ones.
110 2bbf77cc Iustin Pop
111 2bbf77cc Iustin Pop
.TP
112 2bbf77cc Iustin Pop
.I FIN_DSK_FREE, FIN_DSK_AVAIL, FIN_DSK_RESVD, FIN_DSK_INST, FIN_DSK_EFF
113 2bbf77cc Iustin Pop
Final disk stats, similar to the memory ones.
114 2bbf77cc Iustin Pop
115 2bbf77cc Iustin Pop
.TP
116 2bbf77cc Iustin Pop
.I INI_CPU_INST, FIN_CPU_INST
117 2bbf77cc Iustin Pop
Initial and final number of virtual CPUs used by instances.
118 2bbf77cc Iustin Pop
119 2bbf77cc Iustin Pop
.TP
120 2bbf77cc Iustin Pop
.I INI_CPU_EFF, FIN_CPU_EFF
121 2bbf77cc Iustin Pop
The initial and final CPU efficiency, represented as the count of
122 2bbf77cc Iustin Pop
virtual instance CPUs divided by the total physical CPU count.
123 2bbf77cc Iustin Pop
124 2bbf77cc Iustin Pop
.TP
125 2bbf77cc Iustin Pop
.I INI_MNODE_MEM_AVAIL, FIN_MNODE_MEM_AVAIL
126 1cd133d6 Iustin Pop
The initial and final maximum per\(hynode available memory. This is not
127 2bbf77cc Iustin Pop
very useful as a metric but can give an impression of the status of
128 2bbf77cc Iustin Pop
the nodes; as an example, this value restricts the maximum instance
129 2bbf77cc Iustin Pop
size that can be still created on the cluster.
130 2bbf77cc Iustin Pop
131 2bbf77cc Iustin Pop
.TP
132 2bbf77cc Iustin Pop
.I INI_MNODE_DSK_AVAIL, FIN_MNODE_DSK_AVAIL
133 2bbf77cc Iustin Pop
Like the above but for disk.
134 2bbf77cc Iustin Pop
135 2bbf77cc Iustin Pop
.TP
136 5d4f9eed Iustin Pop
.I TSPEC
137 5d4f9eed Iustin Pop
If the tiered allocation mode has been enabled, this parameter holds
138 5d4f9eed Iustin Pop
the pairs of specifications and counts of instances that can be
139 1cd133d6 Iustin Pop
created in this mode. The value of the key is a space\(hyseparated list
140 5d4f9eed Iustin Pop
of values; each value is of the form \fImemory,disk,vcpu=count\fR
141 5d4f9eed Iustin Pop
where the memory, disk and vcpu are the values for the current spec,
142 5d4f9eed Iustin Pop
and count is how many instances of this spec can be created. A
143 5d4f9eed Iustin Pop
complete value for this variable could be: \fB4096,102400,2=225
144 5d4f9eed Iustin Pop
2560,102400,2=20 512,102400,2=21\fR.
145 5d4f9eed Iustin Pop
146 5d4f9eed Iustin Pop
.TP
147 1928a56b Iustin Pop
.I KM_USED_CPU, KM_USED_MEM, KM_USED_DSK
148 1928a56b Iustin Pop
These represents the metrics of used resources at the start of the
149 1928a56b Iustin Pop
computation (only for tiered allocation mode).
150 1928a56b Iustin Pop
151 1928a56b Iustin Pop
.TP
152 1928a56b Iustin Pop
.I KM_POOL_CPU, KM_POOL_MEM, KM_POOL_DSK
153 1928a56b Iustin Pop
These represents the total resources allocated during the tiered
154 1928a56b Iustin Pop
allocation process. In effect, they represent how much is readily
155 1928a56b Iustin Pop
available for allocation.
156 1928a56b Iustin Pop
157 1928a56b Iustin Pop
.TP
158 1928a56b Iustin Pop
.I KM_UNAV_CPU, KM_UNAV_MEM, KM_UNAV_DSK
159 1928a56b Iustin Pop
These represents the resources left over (either free as in
160 1928a56b Iustin Pop
unallocable or allocable on their own) after the tiered allocation has
161 1928a56b Iustin Pop
been completed. They represent better the actual unallocable
162 1928a56b Iustin Pop
resources, because some other resource has been exhausted. For
163 1928a56b Iustin Pop
example, the cluster might still have 100GiB disk free, but with no
164 1928a56b Iustin Pop
memory left for instances, we cannot allocate another instance, so in
165 1928a56b Iustin Pop
effect the disk space is unallocable. Note that the CPUs here
166 1928a56b Iustin Pop
represent instance virtual CPUs, and in case the \fI--max-cpu\fR
167 57ef88df Iustin Pop
option hasn't been specified this will be \-1.
168 1928a56b Iustin Pop
169 1928a56b Iustin Pop
.TP
170 2bbf77cc Iustin Pop
.I ALLOC_USAGE
171 2bbf77cc Iustin Pop
The current usage represented as initial number of instances divided
172 2bbf77cc Iustin Pop
per final number of instances.
173 2bbf77cc Iustin Pop
174 2bbf77cc Iustin Pop
.TP
175 2bbf77cc Iustin Pop
.I ALLOC_COUNT
176 2bbf77cc Iustin Pop
The number of instances allocated (delta between FIN_INST_CNT and
177 2bbf77cc Iustin Pop
INI_INST_CNT).
178 2bbf77cc Iustin Pop
179 2bbf77cc Iustin Pop
.TP
180 2bbf77cc Iustin Pop
.I ALLOC_FAIL*_CNT
181 2bbf77cc Iustin Pop
For the last attemp at allocations (which would have increased
182 2bbf77cc Iustin Pop
FIN_INST_CNT with one, if it had succeeded), this is the count of the
183 2bbf77cc Iustin Pop
failure reasons per failure type; currently defined are FAILMEM,
184 2bbf77cc Iustin Pop
FAILDISK and FAILCPU which represent errors due to not enough memory,
185 2bbf77cc Iustin Pop
disk and CPUs, and FAILN1 which represents a non N+1 compliant cluster
186 2bbf77cc Iustin Pop
on which we can't allocate instances at all.
187 2bbf77cc Iustin Pop
188 2bbf77cc Iustin Pop
.TP
189 2bbf77cc Iustin Pop
.I ALLOC_FAIL_REASON
190 2bbf77cc Iustin Pop
The reason for most of the failures, being one of the above FAIL*
191 2bbf77cc Iustin Pop
strings.
192 2bbf77cc Iustin Pop
193 2bbf77cc Iustin Pop
.TP
194 2bbf77cc Iustin Pop
.I OK
195 2bbf77cc Iustin Pop
A marker representing the successful end of the computation, and
196 2bbf77cc Iustin Pop
having value "1". If this key is not present in the output it means
197 2bbf77cc Iustin Pop
that the computation failed and any values present should not be
198 2bbf77cc Iustin Pop
relied upon.
199 927aa3ee Iustin Pop
200 5d4f9eed Iustin Pop
.PP
201 5d4f9eed Iustin Pop
202 5d4f9eed Iustin Pop
If the tiered allocation mode is enabled, then many of the INI_/FIN_
203 5d4f9eed Iustin Pop
metrics will be also displayed with a TRL_ prefix, and denote the
204 5d4f9eed Iustin Pop
cluster status at the end of the tiered allocation run.
205 5d4f9eed Iustin Pop
206 927aa3ee Iustin Pop
.SH OPTIONS
207 927aa3ee Iustin Pop
The options that can be passed to the program are as follows:
208 927aa3ee Iustin Pop
209 927aa3ee Iustin Pop
.TP
210 927aa3ee Iustin Pop
.BI "--memory " mem
211 927aa3ee Iustin Pop
The memory size of the instances to be placed (defaults to 4GiB).
212 927aa3ee Iustin Pop
213 927aa3ee Iustin Pop
.TP
214 927aa3ee Iustin Pop
.BI "--disk " disk
215 927aa3ee Iustin Pop
The disk size of the instances to be placed (defaults to 100GiB).
216 927aa3ee Iustin Pop
217 927aa3ee Iustin Pop
.TP
218 927aa3ee Iustin Pop
.BI "--req-nodes " num-nodes
219 927aa3ee Iustin Pop
The number of nodes for the instances; the default of two means
220 927aa3ee Iustin Pop
mirrored instances, while passing one means plain type instances.
221 927aa3ee Iustin Pop
222 927aa3ee Iustin Pop
.TP
223 bd2f1465 Iustin Pop
.BI "--vcpus " vcpus
224 bd2f1465 Iustin Pop
The number of VCPUs of the instances to be placed (defaults to 1).
225 bd2f1465 Iustin Pop
226 bd2f1465 Iustin Pop
.TP
227 877d0386 Iustin Pop
.BI "--max-cpu " cpu-ratio
228 1cd133d6 Iustin Pop
The maximum virtual\(hyto\(hyphysical cpu ratio, as a floating point
229 1cd133d6 Iustin Pop
number between zero and one. For example, specifying \fIcpu-ratio\fR
230 1cd133d6 Iustin Pop
as \fB2.5\fR means that, for a 4\(hycpu machine, a maximum of 10
231 1cd133d6 Iustin Pop
virtual cpus should be allowed to be in use for primary instances. A
232 1cd133d6 Iustin Pop
value of one doesn't make sense though, as that means no disk space
233 1cd133d6 Iustin Pop
can be used on it.
234 877d0386 Iustin Pop
235 877d0386 Iustin Pop
.TP
236 877d0386 Iustin Pop
.BI "--min-disk " disk-ratio
237 877d0386 Iustin Pop
The minimum amount of free disk space remaining, as a floating point
238 877d0386 Iustin Pop
number. For example, specifying \fIdisk-ratio\fR as \fB0.25\fR means
239 877d0386 Iustin Pop
that at least one quarter of disk space should be left free on nodes.
240 877d0386 Iustin Pop
241 877d0386 Iustin Pop
.TP
242 927aa3ee Iustin Pop
.B -p, --print-nodes
243 927aa3ee Iustin Pop
Prints the before and after node status, in a format designed to allow
244 927aa3ee Iustin Pop
the user to understand the node's most important parameters.
245 927aa3ee Iustin Pop
246 e98fb766 Iustin Pop
It is possible to customise the listed information by passing a
247 6dfa04fd Iustin Pop
comma\(hyseparated list of field names to this option (the field list
248 6dfa04fd Iustin Pop
is currently undocumented), or to extend the default field list by
249 6dfa04fd Iustin Pop
prefixing the additional field list with a plus sign. By default, the
250 57ef88df Iustin Pop
node list will contain the following information:
251 927aa3ee Iustin Pop
.RS
252 927aa3ee Iustin Pop
.TP
253 927aa3ee Iustin Pop
.B F
254 1cd133d6 Iustin Pop
a character denoting the status of the node, with '\-' meaning an
255 927aa3ee Iustin Pop
offline node, '*' meaning N+1 failure and blank meaning a good node
256 927aa3ee Iustin Pop
.TP
257 927aa3ee Iustin Pop
.B Name
258 927aa3ee Iustin Pop
the node name
259 927aa3ee Iustin Pop
.TP
260 927aa3ee Iustin Pop
.B t_mem
261 927aa3ee Iustin Pop
the total node memory
262 927aa3ee Iustin Pop
.TP
263 927aa3ee Iustin Pop
.B n_mem
264 927aa3ee Iustin Pop
the memory used by the node itself
265 927aa3ee Iustin Pop
.TP
266 927aa3ee Iustin Pop
.B i_mem
267 927aa3ee Iustin Pop
the memory used by instances
268 927aa3ee Iustin Pop
.TP
269 927aa3ee Iustin Pop
.B x_mem
270 927aa3ee Iustin Pop
amount memory which seems to be in use but cannot be determined why or
271 927aa3ee Iustin Pop
by which instance; usually this means that the hypervisor has some
272 927aa3ee Iustin Pop
overhead or that there are other reporting errors
273 927aa3ee Iustin Pop
.TP
274 927aa3ee Iustin Pop
.B f_mem
275 927aa3ee Iustin Pop
the free node memory
276 927aa3ee Iustin Pop
.TP
277 927aa3ee Iustin Pop
.B r_mem
278 927aa3ee Iustin Pop
the reserved node memory, which is the amount of free memory needed
279 927aa3ee Iustin Pop
for N+1 compliance
280 927aa3ee Iustin Pop
.TP
281 927aa3ee Iustin Pop
.B t_dsk
282 927aa3ee Iustin Pop
total disk
283 927aa3ee Iustin Pop
.TP
284 927aa3ee Iustin Pop
.B f_dsk
285 927aa3ee Iustin Pop
free disk
286 927aa3ee Iustin Pop
.TP
287 877d0386 Iustin Pop
.B pcpu
288 877d0386 Iustin Pop
the number of physical cpus on the node
289 877d0386 Iustin Pop
.TP
290 877d0386 Iustin Pop
.B vcpu
291 877d0386 Iustin Pop
the number of virtual cpus allocated to primary instances
292 877d0386 Iustin Pop
.TP
293 16f08e82 Iustin Pop
.B pcnt
294 927aa3ee Iustin Pop
number of primary instances
295 927aa3ee Iustin Pop
.TP
296 16f08e82 Iustin Pop
.B pcnt
297 927aa3ee Iustin Pop
number of secondary instances
298 927aa3ee Iustin Pop
.TP
299 927aa3ee Iustin Pop
.B p_fmem
300 927aa3ee Iustin Pop
percent of free memory
301 927aa3ee Iustin Pop
.TP
302 927aa3ee Iustin Pop
.B p_fdsk
303 927aa3ee Iustin Pop
percent of free disk
304 877d0386 Iustin Pop
.TP
305 877d0386 Iustin Pop
.B r_cpu
306 877d0386 Iustin Pop
ratio of virtual to physical cpus
307 183a9c3d Iustin Pop
.TP
308 183a9c3d Iustin Pop
.B lCpu
309 183a9c3d Iustin Pop
the dynamic CPU load (if the information is available)
310 183a9c3d Iustin Pop
.TP
311 183a9c3d Iustin Pop
.B lMem
312 183a9c3d Iustin Pop
the dynamic memory load (if the information is available)
313 183a9c3d Iustin Pop
.TP
314 183a9c3d Iustin Pop
.B lDsk
315 183a9c3d Iustin Pop
the dynamic disk load (if the information is available)
316 183a9c3d Iustin Pop
.TP
317 183a9c3d Iustin Pop
.B lNet
318 183a9c3d Iustin Pop
the dynamic net load (if the information is available)
319 927aa3ee Iustin Pop
.RE
320 927aa3ee Iustin Pop
321 927aa3ee Iustin Pop
.TP
322 927aa3ee Iustin Pop
.BI "-O " name
323 927aa3ee Iustin Pop
This option (which can be given multiple times) will mark nodes as
324 927aa3ee Iustin Pop
being \fIoffline\fR, and instances won't be placed on these nodes.
325 927aa3ee Iustin Pop
326 927aa3ee Iustin Pop
Note that hspace will also mark as offline any nodes which are
327 1cd133d6 Iustin Pop
reported by RAPI as such, or that have "?" in file\(hybased input in any
328 927aa3ee Iustin Pop
numeric fields.
329 927aa3ee Iustin Pop
.RE
330 927aa3ee Iustin Pop
331 927aa3ee Iustin Pop
.TP
332 2b7a98ae Iustin Pop
.BI "-t" datafile ", --text-data=" datafile
333 2b7a98ae Iustin Pop
The name of the file holding node and instance information (if not
334 2b7a98ae Iustin Pop
collecting via RAPI or LUXI). This or one of the other backends must
335 2b7a98ae Iustin Pop
be selected.
336 927aa3ee Iustin Pop
337 927aa3ee Iustin Pop
.TP
338 927aa3ee Iustin Pop
.BI "-m" cluster
339 2b7a98ae Iustin Pop
Collect data directly from the
340 927aa3ee Iustin Pop
.I cluster
341 927aa3ee Iustin Pop
given as an argument via RAPI. If the argument doesn't contain a colon
342 1cd133d6 Iustin Pop
(:), then it is converted into a fully\(hybuilt URL via prepending
343 927aa3ee Iustin Pop
https:// and appending the default RAPI port, otherwise it's
344 1cd133d6 Iustin Pop
considered a fully\(hyspecified URL and is used as\(hyis.
345 927aa3ee Iustin Pop
346 927aa3ee Iustin Pop
.TP
347 b9017fa7 Iustin Pop
.BI "-L[" path "]"
348 2b7a98ae Iustin Pop
Collect data directly from the master daemon, which is to be contacted
349 2b7a98ae Iustin Pop
via the luxi (an internal Ganeti protocol). An optional \fIpath\fR
350 2b7a98ae Iustin Pop
argument is interpreted as the path to the unix socket on which the
351 2b7a98ae Iustin Pop
master daemon listens; otherwise, the default path used by ganeti when
352 2b7a98ae Iustin Pop
installed with \fI--localstatedir=/var\fR is used.
353 b9017fa7 Iustin Pop
354 b9017fa7 Iustin Pop
.TP
355 b2278348 Iustin Pop
.BI "--simulate " description
356 b2278348 Iustin Pop
Instead of using actual data, build an empty cluster given a node
357 1cd133d6 Iustin Pop
description. The \fIdescription\fR parameter must be a
358 1cd133d6 Iustin Pop
comma\(hyseparated list of four elements, describing in order:
359 b2278348 Iustin Pop
360 b2278348 Iustin Pop
.RS
361 b2278348 Iustin Pop
362 b2278348 Iustin Pop
.RS
363 b2278348 Iustin Pop
.TP
364 b2278348 Iustin Pop
the number of nodes in the cluster
365 b2278348 Iustin Pop
366 b2278348 Iustin Pop
.TP
367 b2278348 Iustin Pop
the disk size of the nodes, in mebibytes
368 b2278348 Iustin Pop
369 b2278348 Iustin Pop
.TP
370 b2278348 Iustin Pop
the memory size of the nodes, in mebibytes
371 b2278348 Iustin Pop
372 b2278348 Iustin Pop
.TP
373 b2278348 Iustin Pop
the cpu core count for the nodes
374 b2278348 Iustin Pop
375 b2278348 Iustin Pop
.RE
376 b2278348 Iustin Pop
377 b2278348 Iustin Pop
An example description would be \fB20,102400,16384,4\fR describing a
378 1cd133d6 Iustin Pop
20\(hynode cluster where each node has 100GiB of disk space, 16GiB of
379 b2278348 Iustin Pop
memory and 4 CPU cores. Note that all nodes must have the same specs
380 b2278348 Iustin Pop
currently.
381 b2278348 Iustin Pop
382 b2278348 Iustin Pop
.RE
383 b2278348 Iustin Pop
384 b2278348 Iustin Pop
.TP
385 5d4f9eed Iustin Pop
.BI "--tiered-alloc " spec
386 1cd133d6 Iustin Pop
Beside the standard, fixed\(hysize allocation, also do a tiered
387 5d4f9eed Iustin Pop
allocation scheme where the algorithm starts from the given
388 5d4f9eed Iustin Pop
specification and allocates until there is no more space; then it
389 5d4f9eed Iustin Pop
decreases the specification and tries the allocation again. The
390 5d4f9eed Iustin Pop
decrease is done on the matric that last failed during allocation. The
391 1cd133d6 Iustin Pop
specification given is similar to the \fI--simulate\fR option and it
392 5d4f9eed Iustin Pop
holds:
393 5d4f9eed Iustin Pop
394 5d4f9eed Iustin Pop
.RS
395 5d4f9eed Iustin Pop
396 5d4f9eed Iustin Pop
.RS
397 5d4f9eed Iustin Pop
398 5d4f9eed Iustin Pop
.TP
399 5d4f9eed Iustin Pop
the disk size of the instance
400 5d4f9eed Iustin Pop
401 5d4f9eed Iustin Pop
.TP
402 5d4f9eed Iustin Pop
the memory size of the instance
403 5d4f9eed Iustin Pop
404 5d4f9eed Iustin Pop
.TP
405 5d4f9eed Iustin Pop
the vcpu count for the insance
406 5d4f9eed Iustin Pop
407 5d4f9eed Iustin Pop
.RE
408 5d4f9eed Iustin Pop
409 5d4f9eed Iustin Pop
An example description would be \fB10240,8192,2\fR describing an
410 5d4f9eed Iustin Pop
initial starting specification of 10GiB of disk space, 4GiB of memory
411 5d4f9eed Iustin Pop
and 2 VCPUs.
412 5d4f9eed Iustin Pop
413 5d4f9eed Iustin Pop
Also note that the normal allocation and the tiered allocation are
414 5d4f9eed Iustin Pop
independent, and both start from the initial cluster state; as such,
415 5d4f9eed Iustin Pop
the instance count for these two modes are not related one to another.
416 5d4f9eed Iustin Pop
417 5d4f9eed Iustin Pop
.RE
418 5d4f9eed Iustin Pop
419 5d4f9eed Iustin Pop
.TP
420 927aa3ee Iustin Pop
.B -v, --verbose
421 927aa3ee Iustin Pop
Increase the output verbosity. Each usage of this option will increase
422 927aa3ee Iustin Pop
the verbosity (currently more than 2 doesn't make sense) from the
423 927aa3ee Iustin Pop
default of one. At verbosity 2 the location of the new instances is
424 2bbf77cc Iustin Pop
shown in the standard error.
425 927aa3ee Iustin Pop
426 927aa3ee Iustin Pop
.TP
427 927aa3ee Iustin Pop
.B -q, --quiet
428 927aa3ee Iustin Pop
Decrease the output verbosity. Each usage of this option will decrease
429 927aa3ee Iustin Pop
the verbosity (less than zero doesn't make sense) from the default of
430 927aa3ee Iustin Pop
one.
431 927aa3ee Iustin Pop
432 927aa3ee Iustin Pop
.TP
433 927aa3ee Iustin Pop
.B -V, --version
434 927aa3ee Iustin Pop
Just show the program version and exit.
435 927aa3ee Iustin Pop
436 927aa3ee Iustin Pop
.SH EXIT STATUS
437 927aa3ee Iustin Pop
438 927aa3ee Iustin Pop
The exist status of the command will be zero, unless for some reason
439 927aa3ee Iustin Pop
the algorithm fatally failed (e.g. wrong node or instance data).
440 927aa3ee Iustin Pop
441 927aa3ee Iustin Pop
.SH BUGS
442 927aa3ee Iustin Pop
443 927aa3ee Iustin Pop
The algorithm is highly dependent on the number of nodes; its runtime
444 927aa3ee Iustin Pop
grows exponentially with this number, and as such is impractical for
445 927aa3ee Iustin Pop
really big clusters.
446 927aa3ee Iustin Pop
447 927aa3ee Iustin Pop
The algorithm doesn't rebalance the cluster or try to get the optimal
448 927aa3ee Iustin Pop
fit; it just allocates in the best place for the current step, without
449 927aa3ee Iustin Pop
taking into consideration the impact on future placements.
450 927aa3ee Iustin Pop
451 927aa3ee Iustin Pop
.SH ENVIRONMENT
452 927aa3ee Iustin Pop
453 927aa3ee Iustin Pop
If the variables \fBHTOOLS_NODES\fR and \fBHTOOLS_INSTANCES\fR are
454 927aa3ee Iustin Pop
present in the environment, they will override the default names for
455 927aa3ee Iustin Pop
the nodes and instances files. These will have of course no effect
456 5d4f9eed Iustin Pop
when the RAPI or Luxi backends are used.
457 927aa3ee Iustin Pop
458 927aa3ee Iustin Pop
.SH SEE ALSO
459 927aa3ee Iustin Pop
.BR hbal "(1), " hscan "(1), " ganeti "(7), " gnt-instance "(8), "
460 927aa3ee Iustin Pop
.BR gnt-node "(8)"
461 927aa3ee Iustin Pop
462 927aa3ee Iustin Pop
.SH "COPYRIGHT"
463 927aa3ee Iustin Pop
.PP
464 927aa3ee Iustin Pop
Copyright (C) 2009 Google Inc. Permission is granted to copy,
465 927aa3ee Iustin Pop
distribute and/or modify under the terms of the GNU General Public
466 927aa3ee Iustin Pop
License as published by the Free Software Foundation; either version 2
467 927aa3ee Iustin Pop
of the License, or (at your option) any later version.
468 927aa3ee Iustin Pop
.PP
469 927aa3ee Iustin Pop
On Debian systems, the complete text of the GNU General Public License
470 927aa3ee Iustin Pop
can be found in /usr/share/common-licenses/GPL.