root / man / hspace.rst @ 2c04ae0d
History | View | Annotate | Download (13.7 kB)
1 | 5a19bd35 | Iustin Pop | HSPACE(1) Ganeti | Version @GANETI_VERSION@ |
---|---|---|---|
2 | 5a19bd35 | Iustin Pop | =========================================== |
3 | 49148d15 | Iustin Pop | |
4 | 49148d15 | Iustin Pop | NAME |
5 | 49148d15 | Iustin Pop | ---- |
6 | 49148d15 | Iustin Pop | |
7 | 49148d15 | Iustin Pop | hspace - Cluster space analyzer for Ganeti |
8 | 49148d15 | Iustin Pop | |
9 | 49148d15 | Iustin Pop | SYNOPSIS |
10 | 49148d15 | Iustin Pop | -------- |
11 | 49148d15 | Iustin Pop | |
12 | 49148d15 | Iustin Pop | **hspace** {backend options...} [algorithm options...] [request options...] |
13 | 375969eb | Iustin Pop | [output options...] [-v... | -q] |
14 | 49148d15 | Iustin Pop | |
15 | f624fa95 | Iustin Pop | **hspace** \--version |
16 | 49148d15 | Iustin Pop | |
17 | 49148d15 | Iustin Pop | Backend options: |
18 | 49148d15 | Iustin Pop | |
19 | 49148d15 | Iustin Pop | { **-m** *cluster* | **-L[** *path* **] [-X]** | **-t** *data-file* | |
20 | 0547d608 | René Nussbaumer | **\--simulate** *spec* | **-I** *path* } |
21 | 49148d15 | Iustin Pop | |
22 | 49148d15 | Iustin Pop | |
23 | 49148d15 | Iustin Pop | Algorithm options: |
24 | 49148d15 | Iustin Pop | |
25 | f624fa95 | Iustin Pop | **[ \--max-cpu *cpu-ratio* ]** |
26 | f624fa95 | Iustin Pop | **[ \--min-disk *disk-ratio* ]** |
27 | 49148d15 | Iustin Pop | **[ -O *name...* ]** |
28 | 49148d15 | Iustin Pop | |
29 | 49148d15 | Iustin Pop | |
30 | 49148d15 | Iustin Pop | Request options: |
31 | 49148d15 | Iustin Pop | |
32 | f624fa95 | Iustin Pop | **[\--disk-template** *template* **]** |
33 | 294bb337 | Iustin Pop | |
34 | f624fa95 | Iustin Pop | **[\--standard-alloc** *disk,ram,cpu* **]** |
35 | 294bb337 | Iustin Pop | |
36 | f624fa95 | Iustin Pop | **[\--tiered-alloc** *disk,ram,cpu* **]** |
37 | 49148d15 | Iustin Pop | |
38 | 375969eb | Iustin Pop | Output options: |
39 | 375969eb | Iustin Pop | |
40 | f624fa95 | Iustin Pop | **[\--machine-readable**[=*CHOICE*] **]** |
41 | 375969eb | Iustin Pop | **[-p**[*fields*]**]** |
42 | 375969eb | Iustin Pop | |
43 | 49148d15 | Iustin Pop | |
44 | 49148d15 | Iustin Pop | DESCRIPTION |
45 | 49148d15 | Iustin Pop | ----------- |
46 | 49148d15 | Iustin Pop | |
47 | 49148d15 | Iustin Pop | hspace computes how many additional instances can be fit on a cluster, |
48 | 49148d15 | Iustin Pop | while maintaining N+1 status. |
49 | 49148d15 | Iustin Pop | |
50 | 49148d15 | Iustin Pop | The program will try to place instances, all of the same size, on the |
51 | 49148d15 | Iustin Pop | cluster, until the point where we don't have any N+1 possible |
52 | 49148d15 | Iustin Pop | allocation. It uses the exact same allocation algorithm as the hail |
53 | 9ef605a6 | Iustin Pop | iallocator plugin in *allocate* mode. |
54 | 49148d15 | Iustin Pop | |
55 | 375969eb | Iustin Pop | The output of the program is designed either for human consumption (the |
56 | 375969eb | Iustin Pop | default) or, when enabled with the ``--machine-readable`` option |
57 | 375969eb | Iustin Pop | (described further below), for machine consumption. In the latter case, |
58 | 375969eb | Iustin Pop | it is intended to interpreted as a shell fragment (or parsed as a |
59 | 375969eb | Iustin Pop | *key=value* file). Options which extend the output (e.g. -p, -v) will |
60 | 375969eb | Iustin Pop | output the additional information on stderr (such that the stdout is |
61 | 375969eb | Iustin Pop | still parseable). |
62 | 49148d15 | Iustin Pop | |
63 | be468da0 | Iustin Pop | By default, the instance specifications will be read from the cluster; |
64 | be468da0 | Iustin Pop | the options ``--standard-alloc`` and ``--tiered-alloc`` can be used to |
65 | be468da0 | Iustin Pop | override them. |
66 | be468da0 | Iustin Pop | |
67 | 375969eb | Iustin Pop | The following keys are available in the machine-readable output of the |
68 | 375969eb | Iustin Pop | script (all prefixed with *HTS_*): |
69 | 49148d15 | Iustin Pop | |
70 | 1cc97b7f | Iustin Pop | SPEC_MEM, SPEC_DSK, SPEC_CPU, SPEC_RQN, SPEC_DISK_TEMPLATE |
71 | 49148d15 | Iustin Pop | These represent the specifications of the instance model used for |
72 | 1cc97b7f | Iustin Pop | allocation (the memory, disk, cpu, requested nodes, disk template). |
73 | 49148d15 | Iustin Pop | |
74 | 375969eb | Iustin Pop | TSPEC_INI_MEM, TSPEC_INI_DSK, TSPEC_INI_CPU, ... |
75 | 8dda364e | Iustin Pop | Only defined when the tiered mode allocation is enabled, these are |
76 | 8dda364e | Iustin Pop | similar to the above specifications but show the initial starting spec |
77 | 8dda364e | Iustin Pop | for tiered allocation. |
78 | 8dda364e | Iustin Pop | |
79 | 49148d15 | Iustin Pop | CLUSTER_MEM, CLUSTER_DSK, CLUSTER_CPU, CLUSTER_NODES |
80 | 49148d15 | Iustin Pop | These represent the total memory, disk, CPU count and total nodes in |
81 | 49148d15 | Iustin Pop | the cluster. |
82 | 49148d15 | Iustin Pop | |
83 | 49148d15 | Iustin Pop | INI_SCORE, FIN_SCORE |
84 | 49148d15 | Iustin Pop | These are the initial (current) and final cluster score (see the hbal |
85 | 49148d15 | Iustin Pop | man page for details about the scoring algorithm). |
86 | 49148d15 | Iustin Pop | |
87 | 49148d15 | Iustin Pop | INI_INST_CNT, FIN_INST_CNT |
88 | 49148d15 | Iustin Pop | The initial and final instance count. |
89 | 49148d15 | Iustin Pop | |
90 | 49148d15 | Iustin Pop | INI_MEM_FREE, FIN_MEM_FREE |
91 | 49148d15 | Iustin Pop | The initial and final total free memory in the cluster (but this |
92 | 49148d15 | Iustin Pop | doesn't necessarily mean available for use). |
93 | 49148d15 | Iustin Pop | |
94 | 49148d15 | Iustin Pop | INI_MEM_AVAIL, FIN_MEM_AVAIL |
95 | 49148d15 | Iustin Pop | The initial and final total available memory for allocation in the |
96 | 49148d15 | Iustin Pop | cluster. If allocating redundant instances, new instances could |
97 | 49148d15 | Iustin Pop | increase the reserved memory so it doesn't necessarily mean the |
98 | 49148d15 | Iustin Pop | entirety of this memory can be used for new instance allocations. |
99 | 49148d15 | Iustin Pop | |
100 | 49148d15 | Iustin Pop | INI_MEM_RESVD, FIN_MEM_RESVD |
101 | 49148d15 | Iustin Pop | The initial and final reserved memory (for redundancy/N+1 purposes). |
102 | 49148d15 | Iustin Pop | |
103 | 49148d15 | Iustin Pop | INI_MEM_INST, FIN_MEM_INST |
104 | 49148d15 | Iustin Pop | The initial and final memory used for instances (actual runtime used |
105 | 49148d15 | Iustin Pop | RAM). |
106 | 49148d15 | Iustin Pop | |
107 | 49148d15 | Iustin Pop | INI_MEM_OVERHEAD, FIN_MEM_OVERHEAD |
108 | f624fa95 | Iustin Pop | The initial and final memory overhead, i.e. memory used for the node |
109 | 50c1e351 | Bernardo Dal Seno | itself and unaccounted memory (e.g. due to hypervisor overhead). |
110 | 49148d15 | Iustin Pop | |
111 | 49148d15 | Iustin Pop | INI_MEM_EFF, HTS_INI_MEM_EFF |
112 | 49148d15 | Iustin Pop | The initial and final memory efficiency, represented as instance |
113 | 49148d15 | Iustin Pop | memory divided by total memory. |
114 | 49148d15 | Iustin Pop | |
115 | 49148d15 | Iustin Pop | INI_DSK_FREE, INI_DSK_AVAIL, INI_DSK_RESVD, INI_DSK_INST, INI_DSK_EFF |
116 | 49148d15 | Iustin Pop | Initial disk stats, similar to the memory ones. |
117 | 49148d15 | Iustin Pop | |
118 | 49148d15 | Iustin Pop | FIN_DSK_FREE, FIN_DSK_AVAIL, FIN_DSK_RESVD, FIN_DSK_INST, FIN_DSK_EFF |
119 | 49148d15 | Iustin Pop | Final disk stats, similar to the memory ones. |
120 | 49148d15 | Iustin Pop | |
121 | 49148d15 | Iustin Pop | INI_CPU_INST, FIN_CPU_INST |
122 | 49148d15 | Iustin Pop | Initial and final number of virtual CPUs used by instances. |
123 | 49148d15 | Iustin Pop | |
124 | 49148d15 | Iustin Pop | INI_CPU_EFF, FIN_CPU_EFF |
125 | 49148d15 | Iustin Pop | The initial and final CPU efficiency, represented as the count of |
126 | 49148d15 | Iustin Pop | virtual instance CPUs divided by the total physical CPU count. |
127 | 49148d15 | Iustin Pop | |
128 | 49148d15 | Iustin Pop | INI_MNODE_MEM_AVAIL, FIN_MNODE_MEM_AVAIL |
129 | 49148d15 | Iustin Pop | The initial and final maximum per-node available memory. This is not |
130 | 49148d15 | Iustin Pop | very useful as a metric but can give an impression of the status of |
131 | 49148d15 | Iustin Pop | the nodes; as an example, this value restricts the maximum instance |
132 | 49148d15 | Iustin Pop | size that can be still created on the cluster. |
133 | 49148d15 | Iustin Pop | |
134 | 49148d15 | Iustin Pop | INI_MNODE_DSK_AVAIL, FIN_MNODE_DSK_AVAIL |
135 | 49148d15 | Iustin Pop | Like the above but for disk. |
136 | 49148d15 | Iustin Pop | |
137 | 49148d15 | Iustin Pop | TSPEC |
138 | be468da0 | Iustin Pop | This parameter holds the pairs of specifications and counts of |
139 | be468da0 | Iustin Pop | instances that can be created in the *tiered allocation* mode. The |
140 | be468da0 | Iustin Pop | value of the key is a space-separated list of values; each value is of |
141 | be468da0 | Iustin Pop | the form *memory,disk,vcpu=count* where the memory, disk and vcpu are |
142 | be468da0 | Iustin Pop | the values for the current spec, and count is how many instances of |
143 | be468da0 | Iustin Pop | this spec can be created. A complete value for this variable could be: |
144 | be468da0 | Iustin Pop | **4096,102400,2=225 2560,102400,2=20 512,102400,2=21**. |
145 | 49148d15 | Iustin Pop | |
146 | 49148d15 | Iustin Pop | KM_USED_CPU, KM_USED_NPU, KM_USED_MEM, KM_USED_DSK |
147 | 49148d15 | Iustin Pop | These represents the metrics of used resources at the start of the |
148 | 49148d15 | Iustin Pop | computation (only for tiered allocation mode). The NPU value is |
149 | 49148d15 | Iustin Pop | "normalized" CPU count, i.e. the number of virtual CPUs divided by |
150 | 49148d15 | Iustin Pop | the maximum ratio of the virtual to physical CPUs. |
151 | 49148d15 | Iustin Pop | |
152 | 49148d15 | Iustin Pop | KM_POOL_CPU, KM_POOL_NPU, KM_POOL_MEM, KM_POOL_DSK |
153 | 49148d15 | Iustin Pop | These represents the total resources allocated during the tiered |
154 | 49148d15 | Iustin Pop | allocation process. In effect, they represent how much is readily |
155 | 49148d15 | Iustin Pop | available for allocation. |
156 | 49148d15 | Iustin Pop | |
157 | 49148d15 | Iustin Pop | KM_UNAV_CPU, KM_POOL_NPU, KM_UNAV_MEM, KM_UNAV_DSK |
158 | 49148d15 | Iustin Pop | These represents the resources left over (either free as in |
159 | 49148d15 | Iustin Pop | unallocable or allocable on their own) after the tiered allocation |
160 | 49148d15 | Iustin Pop | has been completed. They represent better the actual unallocable |
161 | 49148d15 | Iustin Pop | resources, because some other resource has been exhausted. For |
162 | 49148d15 | Iustin Pop | example, the cluster might still have 100GiB disk free, but with no |
163 | 49148d15 | Iustin Pop | memory left for instances, we cannot allocate another instance, so |
164 | 49148d15 | Iustin Pop | in effect the disk space is unallocable. Note that the CPUs here |
165 | f624fa95 | Iustin Pop | represent instance virtual CPUs, and in case the *\--max-cpu* option |
166 | 49148d15 | Iustin Pop | hasn't been specified this will be -1. |
167 | 49148d15 | Iustin Pop | |
168 | 49148d15 | Iustin Pop | ALLOC_USAGE |
169 | 49148d15 | Iustin Pop | The current usage represented as initial number of instances divided |
170 | 49148d15 | Iustin Pop | per final number of instances. |
171 | 49148d15 | Iustin Pop | |
172 | 49148d15 | Iustin Pop | ALLOC_COUNT |
173 | 49148d15 | Iustin Pop | The number of instances allocated (delta between FIN_INST_CNT and |
174 | 49148d15 | Iustin Pop | INI_INST_CNT). |
175 | 49148d15 | Iustin Pop | |
176 | 49148d15 | Iustin Pop | ALLOC_FAIL*_CNT |
177 | 49148d15 | Iustin Pop | For the last attemp at allocations (which would have increased |
178 | 49148d15 | Iustin Pop | FIN_INST_CNT with one, if it had succeeded), this is the count of |
179 | 49148d15 | Iustin Pop | the failure reasons per failure type; currently defined are FAILMEM, |
180 | 49148d15 | Iustin Pop | FAILDISK and FAILCPU which represent errors due to not enough |
181 | 49148d15 | Iustin Pop | memory, disk and CPUs, and FAILN1 which represents a non N+1 |
182 | 49148d15 | Iustin Pop | compliant cluster on which we can't allocate instances at all. |
183 | 49148d15 | Iustin Pop | |
184 | 49148d15 | Iustin Pop | ALLOC_FAIL_REASON |
185 | 49148d15 | Iustin Pop | The reason for most of the failures, being one of the above FAIL* |
186 | 49148d15 | Iustin Pop | strings. |
187 | 49148d15 | Iustin Pop | |
188 | 49148d15 | Iustin Pop | OK |
189 | 49148d15 | Iustin Pop | A marker representing the successful end of the computation, and |
190 | 49148d15 | Iustin Pop | having value "1". If this key is not present in the output it means |
191 | 49148d15 | Iustin Pop | that the computation failed and any values present should not be |
192 | 49148d15 | Iustin Pop | relied upon. |
193 | 49148d15 | Iustin Pop | |
194 | 22ac4136 | Michael Hanselmann | Many of the ``INI_``/``FIN_`` metrics will be also displayed with a |
195 | 22ac4136 | Michael Hanselmann | ``TRL_`` prefix, and denote the cluster status at the end of the tiered |
196 | 22ac4136 | Michael Hanselmann | allocation run. |
197 | 49148d15 | Iustin Pop | |
198 | 375969eb | Iustin Pop | The human output format should be self-explanatory, so it is not |
199 | 375969eb | Iustin Pop | described further. |
200 | 375969eb | Iustin Pop | |
201 | 49148d15 | Iustin Pop | OPTIONS |
202 | 49148d15 | Iustin Pop | ------- |
203 | 49148d15 | Iustin Pop | |
204 | 49148d15 | Iustin Pop | The options that can be passed to the program are as follows: |
205 | 49148d15 | Iustin Pop | |
206 | f624fa95 | Iustin Pop | \--disk-template *template* |
207 | 9fdd3d0f | Iustin Pop | Overrides the disk template for the instance read from the cluster; |
208 | 9fdd3d0f | Iustin Pop | one of the Ganeti disk templates (e.g. plain, drbd, so on) should be |
209 | 9fdd3d0f | Iustin Pop | passed in. |
210 | 49148d15 | Iustin Pop | |
211 | f0753837 | René Nussbaumer | \--spindle-use *spindles* |
212 | f0753837 | René Nussbaumer | Override the spindle use for the instance read from the cluster. The |
213 | f0753837 | René Nussbaumer | value can be 0 (for example for instances that use very low I/O), but not |
214 | f0753837 | René Nussbaumer | negative. For shared storage the value is ignored. |
215 | f0753837 | René Nussbaumer | |
216 | f624fa95 | Iustin Pop | \--max-cpu=*cpu-ratio* |
217 | 247f77b7 | Iustin Pop | The maximum virtual to physical cpu ratio, as a floating point number |
218 | 247f77b7 | Iustin Pop | greater than or equal to one. For example, specifying *cpu-ratio* as |
219 | 247f77b7 | Iustin Pop | **2.5** means that, for a 4-cpu machine, a maximum of 10 virtual cpus |
220 | 247f77b7 | Iustin Pop | should be allowed to be in use for primary instances. A value of |
221 | 247f77b7 | Iustin Pop | exactly one means there will be no over-subscription of CPU (except |
222 | 247f77b7 | Iustin Pop | for the CPU time used by the node itself), and values below one do not |
223 | 247f77b7 | Iustin Pop | make sense, as that means other resources (e.g. disk) won't be fully |
224 | 247f77b7 | Iustin Pop | utilised due to CPU restrictions. |
225 | 49148d15 | Iustin Pop | |
226 | f624fa95 | Iustin Pop | \--min-disk=*disk-ratio* |
227 | 49148d15 | Iustin Pop | The minimum amount of free disk space remaining, as a floating point |
228 | 49148d15 | Iustin Pop | number. For example, specifying *disk-ratio* as **0.25** means that |
229 | 49148d15 | Iustin Pop | at least one quarter of disk space should be left free on nodes. |
230 | 49148d15 | Iustin Pop | |
231 | f624fa95 | Iustin Pop | -l *rounds*, \--max-length=*rounds* |
232 | b8a2c0ab | Iustin Pop | Restrict the number of instance allocations to this length. This is |
233 | b8a2c0ab | Iustin Pop | not very useful in practice, but can be used for testing hspace |
234 | b8a2c0ab | Iustin Pop | itself, or to limit the runtime for very big clusters. |
235 | b8a2c0ab | Iustin Pop | |
236 | f624fa95 | Iustin Pop | -p, \--print-nodes |
237 | d7731f51 | Iustin Pop | Prints the before and after node status, in a format designed to allow |
238 | d7731f51 | Iustin Pop | the user to understand the node's most important parameters. See the |
239 | 354c4f62 | Michael Hanselmann | man page **htools**\(1) for more details about this option. |
240 | 49148d15 | Iustin Pop | |
241 | 49148d15 | Iustin Pop | -O *name* |
242 | 49148d15 | Iustin Pop | This option (which can be given multiple times) will mark nodes as |
243 | 49148d15 | Iustin Pop | being *offline*. This means a couple of things: |
244 | 49148d15 | Iustin Pop | |
245 | 49148d15 | Iustin Pop | - instances won't be placed on these nodes, not even temporarily; |
246 | 49148d15 | Iustin Pop | e.g. the *replace primary* move is not available if the secondary |
247 | 49148d15 | Iustin Pop | node is offline, since this move requires a failover. |
248 | 49148d15 | Iustin Pop | - these nodes will not be included in the score calculation (except |
249 | 49148d15 | Iustin Pop | for the percentage of instances on offline nodes) |
250 | 49148d15 | Iustin Pop | |
251 | 49148d15 | Iustin Pop | Note that the algorithm will also mark as offline any nodes which |
252 | 49148d15 | Iustin Pop | are reported by RAPI as such, or that have "?" in file-based input |
253 | 49148d15 | Iustin Pop | in any numeric fields. |
254 | 49148d15 | Iustin Pop | |
255 | f624fa95 | Iustin Pop | -S *filename*, \--save-cluster=*filename* |
256 | 49148d15 | Iustin Pop | If given, the state of the cluster at the end of the allocation is |
257 | 49148d15 | Iustin Pop | saved to a file named *filename.alloc*, and if tiered allocation is |
258 | 49148d15 | Iustin Pop | enabled, the state after tiered allocation will be saved to |
259 | 49148d15 | Iustin Pop | *filename.tiered*. This allows re-feeding the cluster state to |
260 | 49148d15 | Iustin Pop | either hspace itself (with different parameters) or for example |
261 | acd9fa11 | Iustin Pop | hbal, via the ``-t`` option. |
262 | acd9fa11 | Iustin Pop | |
263 | f624fa95 | Iustin Pop | -t *datafile*, \--text-data=*datafile* |
264 | acd9fa11 | Iustin Pop | Backend specification: the name of the file holding node and instance |
265 | acd9fa11 | Iustin Pop | information (if not collecting via RAPI or LUXI). This or one of the |
266 | acd9fa11 | Iustin Pop | other backends must be selected. The option is described in the man |
267 | 354c4f62 | Michael Hanselmann | page **htools**\(1). |
268 | 49148d15 | Iustin Pop | |
269 | 49148d15 | Iustin Pop | -m *cluster* |
270 | acd9fa11 | Iustin Pop | Backend specification: collect data directly from the *cluster* given |
271 | acd9fa11 | Iustin Pop | as an argument via RAPI. The option is described in the man page |
272 | 354c4f62 | Michael Hanselmann | **htools**\(1). |
273 | 49148d15 | Iustin Pop | |
274 | 49148d15 | Iustin Pop | -L [*path*] |
275 | acd9fa11 | Iustin Pop | Backend specification: collect data directly from the master daemon, |
276 | acd9fa11 | Iustin Pop | which is to be contacted via LUXI (an internal Ganeti protocol). The |
277 | 354c4f62 | Michael Hanselmann | option is described in the man page **htools**\(1). |
278 | 49148d15 | Iustin Pop | |
279 | f624fa95 | Iustin Pop | \--simulate *description* |
280 | acd9fa11 | Iustin Pop | Backend specification: similar to the **-t** option, this allows |
281 | acd9fa11 | Iustin Pop | overriding the cluster data with a simulated cluster. For details |
282 | 354c4f62 | Michael Hanselmann | about the description, see the man page **htools**\(1). |
283 | 49148d15 | Iustin Pop | |
284 | f624fa95 | Iustin Pop | \--standard-alloc *disk,ram,cpu* |
285 | be468da0 | Iustin Pop | This option overrides the instance size read from the cluster for the |
286 | be468da0 | Iustin Pop | *standard* allocation mode, where we simply allocate instances of the |
287 | be468da0 | Iustin Pop | same, fixed size until the cluster runs out of space. |
288 | 294bb337 | Iustin Pop | |
289 | f624fa95 | Iustin Pop | The specification given is similar to the *\--simulate* option and it |
290 | 294bb337 | Iustin Pop | holds: |
291 | 49148d15 | Iustin Pop | |
292 | 247f77b7 | Iustin Pop | - the disk size of the instance (units can be used) |
293 | 247f77b7 | Iustin Pop | - the memory size of the instance (units can be used) |
294 | 49148d15 | Iustin Pop | - the vcpu count for the insance |
295 | 49148d15 | Iustin Pop | |
296 | 294bb337 | Iustin Pop | An example description would be *100G,4g,2* describing an instance |
297 | 294bb337 | Iustin Pop | specification of 100GB of disk space, 4GiB of memory and 2 VCPUs. |
298 | 294bb337 | Iustin Pop | |
299 | f624fa95 | Iustin Pop | \--tiered-alloc *disk,ram,cpu* |
300 | be468da0 | Iustin Pop | This option overrides the instance size for the *tiered* allocation |
301 | be468da0 | Iustin Pop | mode. In this mode, the algorithm starts from the given specification |
302 | be468da0 | Iustin Pop | and allocates until there is no more space; then it decreases the |
303 | be468da0 | Iustin Pop | specification and tries the allocation again. The decrease is done on |
304 | be468da0 | Iustin Pop | the metric that last failed during allocation. The argument should |
305 | be468da0 | Iustin Pop | have the same format as for ``--standard-alloc``. |
306 | 49148d15 | Iustin Pop | |
307 | 49148d15 | Iustin Pop | Also note that the normal allocation and the tiered allocation are |
308 | 49148d15 | Iustin Pop | independent, and both start from the initial cluster state; as such, |
309 | 49148d15 | Iustin Pop | the instance count for these two modes are not related one to |
310 | 49148d15 | Iustin Pop | another. |
311 | 49148d15 | Iustin Pop | |
312 | f624fa95 | Iustin Pop | \--machine-readable[=*choice*] |
313 | 375969eb | Iustin Pop | By default, the output of the program is in "human-readable" format, |
314 | 375969eb | Iustin Pop | i.e. text descriptions. By passing this flag you can either enable |
315 | 375969eb | Iustin Pop | (``--machine-readable`` or ``--machine-readable=yes``) or explicitly |
316 | 375969eb | Iustin Pop | disable (``--machine-readable=no``) the machine readable format |
317 | 375969eb | Iustin Pop | described above. |
318 | 375969eb | Iustin Pop | |
319 | f624fa95 | Iustin Pop | -v, \--verbose |
320 | 49148d15 | Iustin Pop | Increase the output verbosity. Each usage of this option will |
321 | 49148d15 | Iustin Pop | increase the verbosity (currently more than 2 doesn't make sense) |
322 | 49148d15 | Iustin Pop | from the default of one. |
323 | 49148d15 | Iustin Pop | |
324 | f624fa95 | Iustin Pop | -q, \--quiet |
325 | 49148d15 | Iustin Pop | Decrease the output verbosity. Each usage of this option will |
326 | 49148d15 | Iustin Pop | decrease the verbosity (less than zero doesn't make sense) from the |
327 | 49148d15 | Iustin Pop | default of one. |
328 | 49148d15 | Iustin Pop | |
329 | f624fa95 | Iustin Pop | -V, \--version |
330 | 49148d15 | Iustin Pop | Just show the program version and exit. |
331 | 49148d15 | Iustin Pop | |
332 | 247f77b7 | Iustin Pop | UNITS |
333 | 247f77b7 | Iustin Pop | ~~~~~ |
334 | 247f77b7 | Iustin Pop | |
335 | 247f77b7 | Iustin Pop | By default, all unit-accepting options use mebibytes. Using the |
336 | 247f77b7 | Iustin Pop | lower-case letters of *m*, *g* and *t* (or their longer equivalents of |
337 | 247f77b7 | Iustin Pop | *mib*, *gib*, *tib*, for which case doesn't matter) explicit binary |
338 | 247f77b7 | Iustin Pop | units can be selected. Units in the SI system can be selected using the |
339 | 247f77b7 | Iustin Pop | upper-case letters of *M*, *G* and *T* (or their longer equivalents of |
340 | 247f77b7 | Iustin Pop | *MB*, *GB*, *TB*, for which case doesn't matter). |
341 | 247f77b7 | Iustin Pop | |
342 | 247f77b7 | Iustin Pop | More details about the difference between the SI and binary systems can |
343 | 354c4f62 | Michael Hanselmann | be read in the **units**\(7) man page. |
344 | 247f77b7 | Iustin Pop | |
345 | 49148d15 | Iustin Pop | EXIT STATUS |
346 | 49148d15 | Iustin Pop | ----------- |
347 | 49148d15 | Iustin Pop | |
348 | 49148d15 | Iustin Pop | The exist status of the command will be zero, unless for some reason |
349 | 49148d15 | Iustin Pop | the algorithm fatally failed (e.g. wrong node or instance data). |
350 | 49148d15 | Iustin Pop | |
351 | 49148d15 | Iustin Pop | BUGS |
352 | 49148d15 | Iustin Pop | ---- |
353 | 49148d15 | Iustin Pop | |
354 | 49148d15 | Iustin Pop | The algorithm is highly dependent on the number of nodes; its runtime |
355 | 49148d15 | Iustin Pop | grows exponentially with this number, and as such is impractical for |
356 | 49148d15 | Iustin Pop | really big clusters. |
357 | 49148d15 | Iustin Pop | |
358 | 49148d15 | Iustin Pop | The algorithm doesn't rebalance the cluster or try to get the optimal |
359 | 49148d15 | Iustin Pop | fit; it just allocates in the best place for the current step, without |
360 | 49148d15 | Iustin Pop | taking into consideration the impact on future placements. |
361 | 9ff4f2c0 | Michael Hanselmann | |
362 | 9ff4f2c0 | Michael Hanselmann | .. vim: set textwidth=72 : |
363 | 9ff4f2c0 | Michael Hanselmann | .. Local Variables: |
364 | 9ff4f2c0 | Michael Hanselmann | .. mode: rst |
365 | 9ff4f2c0 | Michael Hanselmann | .. fill-column: 72 |
366 | 9ff4f2c0 | Michael Hanselmann | .. End: |