hcheck - Cluster checker
hcheck {backend options...} [algorithm options...] [reporting options...]
hcheck --version
Backend options:
{ -m cluster | -L[ path ] |-t** data-file | -I path }
Algorithm options:
[ --no-simulation ] [ --max-cpu cpu-ratio ] [ --min-disk disk-ratio ] [ -l limit ] [ -e score ] [ -g delta ] [ --min-gain-limit threshold ] [ -O name... ] [ --no-disk-moves ] [ --no-instance-moves ] [ -U util-file ] [ --ignore-dynu ] [ --ignore-soft-errors ] [ --evac-mode ] [ --select-instances inst... ] [ --exclude-instances inst... ] [ --no-capacity-checks ]
Reporting options:
[--machine-readable[=*CHOICE*] ] [ -p[ fields ] ] [ --print-instances ] [ -v... | -q ]
hcheck is the cluster checker. It prints information about cluster's health and checks whether a rebalance done using hbal would help.
This information can be presented in both human-readable and machine-readable way.
Note that it does not take any action, only performs a rebalance simulation if necessary.
For more information about the algorithm details check hbal(1).
Additionally, hcheck also checks if the cluster is globally N+1 redundant. That is, it checks for every node, if after failing over the DRBD instances all instances on that node that with disks externally stored can be restarted on some other node.
Only perform checks based on current cluster state, without trying to simulate rebalancing.
Do not check for global N+1 redundancy, i.e., do not warn if the shared-storage instances of one node cannot be moved to the others should that node fail.
For a detailed description about the options listed above have a look at htools(1), hspace(1) and hbal(1).
Report bugs to project website or contact the developers using the Ganeti mailing list.
Ganeti overview and specifications: ganeti(7) (general overview), ganeti-os-interface(7) (guest OS definitions), ganeti-extstorage-interface(7) (external storage providers).
Ganeti commands: gnt-cluster(8) (cluster-wide commands), gnt-job(8) (job-related commands), gnt-node(8) (node-related commands), gnt-instance(8) (instance commands), gnt-os(8) (guest OS commands), gnt-storage(8) (storage commands), gnt-group(8) (node group commands), gnt-backup(8) (instance import/export commands), gnt-debug(8) (debug commands).
Ganeti daemons: ganeti-watcher(8) (automatic instance restarter), ganeti-cleaner(8) (job queue cleaner), ganeti-noded(8) (node daemon), ganeti-rapi(8) (remote API daemon).
Ganeti htools: htools(1) (generic binary), hbal(1) (cluster balancer), hspace(1) (capacity calculation), hail(1) (IAllocator plugin), hscan(1) (data gatherer from remote clusters), hinfo(1) (cluster information printer), mon-collector(7) (data collectors interface).
Copyright (C) 2006-2015 Google Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.