hscan(1)
hscan - Scan clusters via RAPI and save node/instance data
Description
HSCAN
NAME
hscan - Scan clusters via RAPI and save node/instance data
SYNOPSIS
hscan [-p] [--no-headers] [-d path ] cluster...
hscan --version
DESCRIPTION
hscan is a tool for scanning clusters via RAPI and saving their data in the input format used by hbal(1) and hspace(1). It will also show a one-line score for each cluster scanned or, if desired, the cluster state as show by the -p option to the other tools.
For each cluster, one file named cluster.data will be generated holding the node and instance data. This file can then be used in hbal(1) or hspace(1) via the -t option. In case the cluster name contains slashes (as it can happen when the cluster is a fully-specified URL), these will be replaced with underscores.
The one-line output for each cluster will show the following:
|
Name |
The name of the cluster (or the IP address that was given, etc.) |
|||
|
Nodes |
The number of nodes in the cluster |
|||
|
Inst |
The number of instances in the cluster |
|||
|
BNode |
The number of nodes failing N+1 |
|||
|
BInst |
The number of instances living on N+1-failed nodes |
|||
|
t_mem |
Total memory in the cluster |
|||
|
f_mem |
Free memory in the cluster |
t_disk
Total disk in the cluster
f_disk
Free disk space in the cluster
|
Score |
The score of the cluster, as would be reported by hbal(1) if run on the generated data files. |
In case of errors while collecting data, all fields after the name of the cluster are replaced with the error display.
Note: this output format is not yet final so it should not be used for scripting yet.
OPTIONS
The options that
can be passed to the program are as follows:
-p, --print-nodes
Prints the node status for each cluster after the cluster's one-line status display, in a format designed to allow the user to understand the node's most important parameters. For details, see the man page for htools(1).
-d path
Save the node and instance data for each cluster under path, instead of the current directory.
-V, --version
Just show the program version and exit.
EXIT STATUS
The exist status of the command will be zero, unless for some reason loading the input data failed fatally (e.g. wrong node or instance data).
BUGS
The program does not check its input data for consistency, and aborts with cryptic errors messages in this case.
EXAMPLE
$ hscan
cluster1
Name Nodes Inst BNode BInst t_mem f_mem t_disk f_disk Score
cluster1 2 2 0 0 1008 652 255 253 0.24404762
$ ls -l cluster1.data
-rw-r--r-- 1 root root 364 2009-03-23 07:26
cluster1.data
REPORTING BUGS
Report bugs to the project's issue tracker (https://github.com/ganeti/ganeti/issues) or contact the developers using the Ganeti mailing list.
SEE ALSO
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
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.