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. |