---
name: "hscan"
section: "1"
platform: "linux"
package: "ganeti-htools"
version: "2.5.2-1+deb7u2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/hscan"
---

# hscan(1)

Scan clusters via RAPI and save node/instance data

## 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)](/hbal/1.md) and [**hspace**(1)](/hspace/1.md). 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)](/hbal/1.md) or [**hspace**(1)](/hspace/1.md) 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)](/hbal/1.md) 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)](/htools/1.md).

- **-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)](/ganeti/7.md) (general overview), [**ganeti-os-interface**(7)](/ganeti-os-interface/7.md) (guest OS definitions).

Ganeti commands: [**gnt-cluster**(8)](/gnt-cluster/8.md) (cluster-wide commands), [**gnt-job**(8)](/gnt-job/8.md) (job-related commands), [**gnt-node**(8)](/gnt-node/8.md) (node-related commands), [**gnt-instance**(8)](/gnt-instance/8.md) (instance commands), [**gnt-os**(8)](/gnt-os/8.md) (guest OS commands), [**gnt-group**(8)](/gnt-group/8.md) (node group commands), [**gnt-backup**(8)](/gnt-backup/8.md) (instance import/export commands), [**gnt-debug**(8)](/gnt-debug/8.md) (debug commands).

Ganeti daemons: [**ganeti-watcher**(8)](/ganeti-watcher/8.md) (automatic instance restarter), [**ganeti-cleaner**(8)](/ganeti-cleaner/8.md) (job queue cleaner), [**ganeti-noded**(8)](/ganeti-noded/8.md) (node daemon), [**ganeti-masterd**(8)](/ganeti-masterd/8.md) (master daemon), [**ganeti-rapi**(8)](/ganeti-rapi/8.md) (remote API daemon).

Ganeti htools: [**htools**(1)](/htools/1.md) (generic binary), [**hbal**(1)](/hbal/1.md) (cluster balancer), [**hspace**(1)](/hspace/1.md) (capacity calculation), [**hail**(1)](/hail/1.md) (IAllocator plugin), [**hscan**(1)](/hscan/1.md) (data gatherer from remote clusters).

## COPYRIGHT

Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 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.
