HSCAN(1)

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 project website (http://code.google.com/p/ganeti/) or contact the developers using the Ganeti mailing list (ganeti@googlegroups.com).

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-masterd(8) (master 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, 2007, 2008, 2009, 2010, 2011, 2012 Google Inc. Permission is granted to copy, distribute and/or modify under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.