Commit 77134c1e authored by Oleg Ponomarev's avatar Oleg Ponomarev Committed by Klaus Aehlig

Add design document considering migration speed accounting

During the sequence of moves while cluster balancing the situation on
cluster may change (e.g. because of adding new instance or because of
instance or node parameters change) and desired moves can become
unprofitable.

Partly prevent this effect by introducing new hbal option
*--avoid-disk-moves=FACTOR* which will admit only profitable enough
disk moves.
Signed-off-by: default avatarOleg Ponomarev <onponomarev@gmail.com>
Signed-off-by: default avatarKlaus Aehlig <aehlig@google.com>
Reviewed-by: default avatarKlaus Aehlig <aehlig@google.com>
parent fc6b1d44
......@@ -693,6 +693,7 @@ docinput = \
doc/design-location.rst \
doc/design-linuxha.rst \
doc/design-lu-generated-jobs.rst \
doc/design-migration-speed-hbal.rst \
doc/design-monitoring-agent.rst \
doc/design-move-instance-improvements.rst \
doc/design-multi-reloc.rst \
......
......@@ -28,6 +28,7 @@ Design document drafts
design-shared-storage-redundancy.rst
design-repaird.rst
design-plain-redundancy.rst
design-migration-speed-hbal.rst
.. vim: set textwidth=72 :
.. Local Variables:
......
==================================
Migration speed accounting in Hbal
==================================
.. contents:: :depth: 2
Hbal usually performs complex sequence of moves during cluster balancing in
order to achieve local optimal cluster state. Unfortunately, each move may take
significant amount of time. Thus, during the sequence of moves the situation on
cluster may change (e.g., because of adding new instance or because of instance
or node parameters change) and desired moves can become unprofitable.
Usually disk moves become a bottleneck and require sufficient amount of time.
:ref:`Instance move improvements <move-performance>` considers
disk moves speed in more details. Currently, ``hbal`` has a ``--no-disk-moves``
option preventing disk moves during cluster balancing in order to perform fast
(but of course non optimal) balancing. It may be useful, but ideally we need to
find a balance between optimal configuration and time to reach this
configuration.
Avoiding insignificant disk moves
=================================
Allowing only profitable enough disk moves may become a first step to reach
a compromise between moves speed and optimal scoring. This can be implemented
by introducing ``--avoid-disk-moves *FACTOR*`` option which will admit disk
moves only if the gain in the cluster metrics is *FACTOR* times
higher than the gain achievable by non disk moves.
......@@ -31,6 +31,8 @@ greater parallelization. As all of these approaches aim to tackle two different
aspects of the problem, they do not exclude each other and will be presented
independently.
.. _move-performance:
The performance of Ganeti moves
===============================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment