Revision 73b2e389 hbal.1

b/hbal.1
88 88
is O(n*n) in the number of nodes. Furthermore, it doesn't seems to
89 89
give better scores but will result in more disk replacements.
90 90

  
91
.SS PLACEMENT RESTRICTIONS
92

  
93
At each step, we prevent an instance move if it would cause:
94

  
95
.RS 4
96
.TP 3
97
\(em
98
a node to go into N+1 failure state
99
.TP
100
\(em
101
an instance to move onto an offline node (offline nodes are either
102
read from the cluster or declared with \fI-O\fR)
103
.TP
104
\(em
105
an exclusion-tag based conflict (exclusion tags are read from the
106
cluster and/or defined via the \fI--exclusion-tags\fR option)
107
.TP
108
\(em
109
a max vcpu/pcpu ratio to be exceeded (configured via \fI--max-cpu\fR)
110
.TP
111
\(em
112
min disk free percentage to go below the configured limit (configured
113
via \fI--min-disk\fR)
114

  
91 115
.SS CLUSTER SCORING
92 116

  
93 117
As said before, the algorithm tries to minimise the cluster score at
......
176 200
memory size of down instances from the free node memory of their
177 201
primary node, in effect simulating the startup of such instances.
178 202

  
179
.SS OTHER POSSIBLE METRICS
203
.SS EXCLUSION TAGS
204

  
205
The exclusion tags mecanism is designed to prevent instances which run
206
the same workload (e.g. two DNS servers) to land on the same node,
207
which would make the respective node a SPOF for the given service.
208

  
209
It works by tagging instances with certain tags and then building
210
exclusion maps based on these. Which tags are actually used is
211
configured either via the command line (option \fI--exclusion-tags\fR)
212
or via adding them to the cluster tags:
180 213

  
181
It would be desirable to add more metrics to the algorithm, especially
182
dynamically\(hycomputed metrics, such as:
183
.RS 4
184
.TP 3
185
\(em
186
CPU usage of instances
187 214
.TP
188
\(em
189
Disk IO usage
215
.B --exclusion-tags=a,b
216
This will make all instance tags of the form \fIa:*\fR, \fIb:*\fR be
217
considered for the exclusion map
218

  
190 219
.TP
191
\(em
192
Network IO
193
.RE
220
cluster tags \fBhtools:iextags:a\fR, \fBhtools:iextags:b\fR
221
This will make instance tags \fIa:*\fR, \fIb:*\fR be considered for
222
the exclusion map. More precisely, the suffix of cluster tags starting
223
with \fBhtools:iextags:\fR will become the prefix of the exclusion
224
tags.
225

  
226
.P
227
Both the above forms mean that two instances both having (e.g.) the
228
tag \fIa:foo\fR or \fIb:bar\fR won't end on the same node.
194 229

  
195 230
.SH OPTIONS
196 231
The options that can be passed to the program are as follows:

Also available in: Unified diff