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

Update README for hail

parent c6702e5e
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,15 @@ now N+1 and rebalancing are included. Starting with version 0.1.0, ...@@ -6,6 +6,15 @@ now N+1 and rebalancing are included. Starting with version 0.1.0,
only Ganeti 2.0 is supported. only Ganeti 2.0 is supported.
Cluster rebalancer
------------------
Compared to the N+1 solver, the rebalancer uses a very simple algorithm:
repeatedly try to move each instance one step, so that the cluster score
becomes better. We stop when no further move can improve the score.
For algorithm details and usage, see the man page hbal(1).
Cluster N+1 solver Cluster N+1 solver
------------------ ------------------
...@@ -14,24 +23,27 @@ placement space in order to determine the shortest number of replace-disks ...@@ -14,24 +23,27 @@ placement space in order to determine the shortest number of replace-disks
needed to fix the cluster. Note this means we won't get a balanced cluster, needed to fix the cluster. Note this means we won't get a balanced cluster,
just one that passes N+1 checks. just one that passes N+1 checks.
For algorithm details and usage, see the man page hn1(1). For algorithm details and usage, see the man page hn1(1). **Note**:
this program is deprecated, hbal should be used instead.
Cluster rebalancer
------------------
Compared to the N+1 solver, the rebalancer uses a very simple algorithm: IAllocator plugin
repeatedly try to move each instance one step, so that the cluster score -----------------
becomes better. We stop when no further move can improve the score.
For algorithm details and usage, see the man page hbal(1). The ``hail`` iallocator plugin can be used for allocations of mirrored
and non-mirrored instances and for relocations of mirrored
instances. It needs to be installed in Ganeti's iallocator search
path—usually ``/usr/lib/ganeti/iallocators`` or
``/usr/local/lib/ganeti/iallocators``.
Integration with Ganeti Integration with Ganeti
----------------------- -----------------------
The programs can either get their input from text files, or online The ``hbal`` and ``hn1`` programs can either get their input from text
from a cluster via RAPI. For online collection via RAPI, the "-m" files, or online from a cluster via RAPI. For online collection via
argument to both hn1 and hbal should specify the cluster or master RAPI, the "-m" argument to both hn1 and hbal should specify the
node name. cluster or master node name. ``hail`` uses the standard iallocator API
and thus doesn't need any special setup (just needs to be installed in
the right directory).
For text files, a separate tool (hscan) is provided to automate their For text files, a separate tool (hscan) is provided to automate their
gathering if RAPI is available, which is better since it can extract gathering if RAPI is available, which is better since it can extract
...@@ -43,7 +55,8 @@ reason, the following two commands should be run:: ...@@ -43,7 +55,8 @@ reason, the following two commands should be run::
gnt-instance list -oname,admin_ram,sda_size,status,pnode,snodes \ gnt-instance list -oname,admin_ram,sda_size,status,pnode,snodes \
--separator '|' --no-head > instances --separator '|' --no-head > instances
These two files should be saved under the names of *nodes* and *instances*. These two files should be saved under the names of *nodes* and
*instances*.
Installation Installation
------------ ------------
...@@ -55,8 +68,8 @@ installed manually: ...@@ -55,8 +68,8 @@ installed manually:
- json - json
- curl - curl
One these are available, just typing *make* in the top-level directory Once these are available, just typing *make* in the top-level
should be enough. directory should be enough.
Internal (implementation) documentation is available in the ``apidoc`` Internal (implementation) documentation is available in the ``apidoc``
directory. directory.
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