Skip to content
Snippets Groups Projects
Commit a7a8f280 authored by Iustin Pop's avatar Iustin Pop
Browse files

Change the default dynamic usage to baseUtil

This fixed the unbalanced secondary instances on partially empty
clusters, and helps in general for the cases where real utilisation data
is not available.
parent daee4bed
No related branches found
No related tags found
No related merge requests found
...@@ -97,7 +97,7 @@ create name_init mem_init dsk_init vcpus_init run_init pn sn = ...@@ -97,7 +97,7 @@ create name_init mem_init dsk_init vcpus_init run_init pn sn =
, pNode = pn , pNode = pn
, sNode = sn , sNode = sn
, idx = -1 , idx = -1
, util = T.zeroUtil , util = T.baseUtil
} }
-- | Changes the index. -- | Changes the index.
......
...@@ -156,14 +156,17 @@ read load), and sum of primary instance network load. An example of ...@@ -156,14 +156,17 @@ read load), and sum of primary instance network load. An example of
how to generate these values for input to hbal would be to track "xm how to generate these values for input to hbal would be to track "xm
list" for instance over a day and by computing the delta of the cpu list" for instance over a day and by computing the delta of the cpu
values, and feed that via the \fI-U\fR option for all instances (and values, and feed that via the \fI-U\fR option for all instances (and
keep the other metrics as zero). For the algorithm to work, all that keep the other metrics as one). For the algorithm to work, all that is
is needed is that the values are consistent for a metric across all needed is that the values are consistent for a metric across all
instances (e.g. all instances use cpu% to report cpu usage, but they instances (e.g. all instances use cpu% to report cpu usage, but they
could represent network bandwith in Gbps). could represent network bandwith in Gbps). Note that it's recommended
to not have zero as the load value for any instance metric since then
secondary instances are not well balanced.
On a perfectly balanced cluster (all nodes the same size, all On a perfectly balanced cluster (all nodes the same size, all
instances the same size and spread across the nodes equally), all instances the same size and spread across the nodes equally), the
values would be zero. This doesn't happen too often in practice :) values for all metrics would be zero. This doesn't happen too often in
practice :)
.SS OFFLINE INSTANCES .SS OFFLINE INSTANCES
...@@ -371,8 +374,15 @@ net_util" where the "_util" parameters are interpreted as numbers and ...@@ -371,8 +374,15 @@ net_util" where the "_util" parameters are interpreted as numbers and
the instance name must match exactly the instance as read from the instance name must match exactly the instance as read from
Ganeti. In case of unknown instance names, the program will abort. Ganeti. In case of unknown instance names, the program will abort.
If not given, the default values are zero for all metrics and thus If not given, the default values are one for all metrics and thus
dynamic utilisation has no effect on the balancing algorithm. dynamic utilisation has only one effect on the algorithm: the
equalisation of the secondary instances across nodes (this is the only
metric that is not tracked by another, dedicated value, and thus the
disk load of instances will cause secondary instance
equalisation). Note that value of one will also influence slightly the
primary instance count, but that is already tracked via other metrics
and thus the influence of the dynamic utilisation will be practically
insignificant.
.TP .TP
.BI "-n" nodefile ", --nodes=" nodefile .BI "-n" nodefile ", --nodes=" nodefile
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment