heketi-cli (8) - Linux Manuals

heketi-cli: Command line program for Heketi

NAME

heketi-cli - Command line program for Heketi

SYNOPSIS

heketi-cli [commands] [options]

DESCRIPTION

Command line program for Heketi

COMMANDS

Cluster Commands

heketi-cli cluster create Create a cluster
 Example
 heketi-cli cluster create

heketi-cli cluster delete <CLUSTER-ID> Delete a cluster
 Example
 heketi-cli cluster delete 886a86a868711bef83001

heketi-cli cluster info <CLUSTER-ID> Retrieves information about cluster


 Example
 heketi-cli cluster info 886a86a868711bef83001

heketi-cli cluster list Lists the clusters managed by Heketi


 Example
 heketi-cli cluster list

Device Commands

heketi-cli device add --name=<DEVICE-NAME> --node=<NODE-ID> Add new device to node to be managed by Heketi
Options

--name=""
             Name of device to add

--node=""
             Id of the node which has this device


        Example
     heketi-cli device add \
         --name=/dev/sdb
         --node=3e098cb4407d7109806bb196d9e8f095

heketi-cli device delete <DEVICE-ID> Deletes a device from Heketi node


 Example
 heketi-cli device delete 886a86a868711bef83001

heketi-cli device disable <DEVICE-ID> Disallow usage of a device by placing it offline


 Example
 heketi-cli device disable 886a86a868711bef83001

heketi-cli device enable <DEVICE-ID> Allows device to go online


 Example
 heketi-cli device enable 886a86a868711bef83001

heketi-cli device info <DEVICE-ID> Retrieves information about device


 Example
 heketi-cli device info 886a86a868711bef83001

Node Commands

heketi-cli node add --zone=<ZONE-NUMBER> --cluster=<CLUSTER-ID> --management-host-name=<MANAGEMENT-HOSTNAME> --storage-host-name=<STORAGE-HOSTNAME> Add new node to be managed by Heketi
Options

--cluster=""
             The cluster in which the node should reside

--management-host-name=""
             Management host name

--storage-host-name=""
             Storage host name

--zone=-1
             The zone in which the node should reside


        Example
     heketi-cli node add \
         --zone=3 \
         --cluster=3e098cb4407d7109806bb196d9e8f095 \
         --management-host-name=node1-manage.gluster.lab.com \
         --storage-host-name=node1-storage.gluster.lab.com

heketi-cli node delete <NODE-ID> Deletes a node from Heketi management


 Example
 heketi-cli node delete 886a86a868711bef83001

heketi-cli node disable <NODE-ID> Disallow usage of a node by placing it offline


 Example
 heketi-cli node disable 886a86a868711bef83001

heketi-cli node enable <NODE-ID> Allows node to go online


 Example
 heketi-cli node enable 886a86a868711bef83001

heketi-cli node info <NODE-ID> Retrieves information about node


 Example
 heketi-cli node info 886a86a868711bef83001

heketi-cli node list List all nodes in cluster


 Example
 heketi-cli node list

Setup OpenShift/Kubernetes persistent storage for Heketi

heketi-cli setup-openshift-heketi-storage Creates a dedicated GlusterFS volume for Heketi. Once the volume is created, a Kubernetes/OpenShift list object is created to configure the volume.
Options

--listfile="heketi-storage.json"
             Filename to contain list of objects


        Example
     heketi-cli setup-openshift-heketi-storage

Topology Commands

heketi-cli topology load --json=<JSON-FILENAME> Add devices to Heketi from a configuration file
Options

-j, --json=""
             Configuration containing devices, nodes, and clusters, in JSON format


        Example
     heketi-cli topology load --json=topo.json

heketi-cli topology info Retreives information about the current Topology


 Example
 heketi-cli topology info

Volume Commands

heketi-cli volume create --cluster=<CLUSTER-ID> --disperse-data=<DISPERSION-VALUE> --durability=<TYPE> --name=<VOLUME-NAME> --redundancy=<REDUNDENCY-VALUE> --replica=<REPLICA-VALUE> --size=<VOLUME-SIZE> --snapshot-factor=<SNAPSHOT-FACTOR-VALUE> Create a GlusterFS volume
Options

--clusters=""

           Optional: Comma separated list of cluster ids where this volume
           must be allocated. If omitted, Heketi will allocate the volume
           on any of the configured clusters which have the available space.
           Providing a set of clusters will ensure Heketi allocates storage
           for this volume only in the clusters specified.

--disperse-data=4

           Optional: Dispersion value for durability type 'disperse'.
           Default is 4

--durability="replicate"

           Optional: Durability type.
                     Values are:
                     none: No durability. Distributed volume only.
                     replicate: (Default) Distributed-Replica volume.
                     disperse: Distributed-Erasure Coded volume.

--gid=0

            Optional: Initialize volume with the specified group id
            Default is 0

--name=""

            Optional: Name of volume. Only set if really necessary

--persistent-volume[=false]

            Optional: Output to standard out a persistent volume JSON file for OpenShift or
            Kubernetes with the name provided.

--persistent-volume-endpoint=""

            Optional: Endpoint name for the persistent volume

--persistent-volume-file=""

            Optional: Create a persistent volume JSON file for OpenShift or
            Kubernetes with the name provided.

--redundancy=2

            Optional: Redundancy value for durability type 'disperse'.
            Default is 2

--replica=3

            Replica value for durability type 'replicate'.
            Default is 3

--size=-1

            Size of volume in GB

--snapshot-factor=1

            Optional: Amount of storage to allocate for snapshot support.
            Must be greater 1.0.  For example if a 10TiB volume requires 5TiB of
            snapshot storage, then snapshot-factor would be set to 1.5.  If the
            value is set to 1, then snapshots will not be enabled for this volume


        Example
     Create a 100GB replica 3 volume:
           heketi-cli volume create --size=100
     Create a 100GB replica 3 volume specifying two specific clusters:
           heketi-cli volume create --size=100 \
           --clusters=0995098e1284ddccb46c7752d142c832,60d46d518074b13a04ce1022c8c7193c
     Create a 100GB replica 2 volume with 50GB of snapshot storage:
           heketi-cli volume create --size=100 --snapshot-factor=1.5 --replica=2
     Create a 100GB distributed volume
           heketi-cli volume create --size=100 --durability=none
     Create a 100GB erasure coded 4+2 volume with 25GB snapshot storage:
           heketi-cli volume create --size=100 --durability=disperse --snapshot-factor=1.25
     Create a 100GB erasure coded 8+3 volume with 25GB snapshot storage:
           heketi-cli volume create --size=100 --durability=disperse --snapshot-factor=1.25 \
           --disperse-data=8 --redundancy=3

heketi-cli volume delete <VOLUME-ID> Deletes the volume


 Example
 heketi-cli volume delete 886a86a868711bef83001

heketi-cli volume expand --expand-size=<SIZE> --volume=<VOLUME-ID> Expand a volume
Options

--expand=""
             Amount in GB to add to the volume

--volume=""
              Id of volume to expand

Example
         Add 10GB to a volume
               heketi-cli volume expand --volume=60d46d518074b13a04ce1022c8c7193c --expand-size=10

heketi-cli volume info <VOLUME-ID> Retrieves information about volume


 Example
 heketi-cli volume info 886a86a868711bef83001

heketi-cli volume list Lists the volumes managed by Heketi


 Example
 heketi-cli volume list

GLOBAL OPTIONS

--json[=false]

Print response as JSON

--secret=""

Secret key for specified user.  Can also be
set using the environment variable HEKETI_CLI_KEY

-s, --server=""

Heketi server. Can also be set using the
environment variable HEKETI_CLI_SERVER

--user=""

Heketi user.  Can also be set using the
environment variable HEKETI_CLI_USER

-v, --version[=false]

Print version

EXAMPLE

  $ export HEKETI_CLI_SERVER=http://localhost:8080
  $ heketi-cli volume list

COPYRIGHT

Copyright (c) 2015 The heketi Authors