CLI Reference

CLI Reference

Simplyblock provides a feature-rich CLI (command line interface) client to manage all aspects of the storage cluster.

usage: sbcli [-h] [-d]
             {storage-node,sn,cluster,lvol,mgmt,pool,snapshot,caching-node,cn}
             ...

positional arguments:
  {storage-node,sn,cluster,lvol,mgmt,pool,snapshot,caching-node,cn}
    storage-node (sn)   Storage node commands
    cluster             Cluster commands
    lvol                LVol commands
    mgmt                Management node commands
    pool                Pool commands
    snapshot            Snapshot commands
    caching-node (cn)   Caching client node commands

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           Print debug messages

Storage Node Commands

usage: sbcli storage-node [-h]
                          {deploy,deploy-cleaner,add-node,delete,remove,list,get,restart,shutdown,suspend,resume,get-io-stats,get-capacity,list-devices,device-testing-mode,get-device,reset-device,restart-device,add-device,remove-device,get-capacity-device,get-io-stats-device,port-list,port-io-stats,check,check-device,info,info-spdk}
                          ...

positional arguments:
  {deploy,deploy-cleaner,add-node,delete,remove,list,get,restart,shutdown,suspend,resume,get-io-stats,get-capacity,list-devices,device-testing-mode,get-device,reset-device,restart-device,add-device,remove-device,get-capacity-device,get-io-stats-device,port-list,port-io-stats,check,check-device,info,info-spdk}
    deploy              Deploy local services for remote ops (local run)
    deploy-cleaner      clean local deploy (local run)
    add-node            Add storage node by ip
    delete              Delete storage node obj
    remove              Remove storage node
    list                List storage nodes
    get                 Get storage node info
    restart             Restart a storage node
    shutdown            Shutdown a storage node
    suspend             Suspend a storage node
    resume              Resume a storage node
    get-io-stats        Get node IO statistics
    get-capacity        Get node capacity statistics
    list-devices        List storage devices
    device-testing-mode
                        Set device testing mode
    get-device          Get storage device by id
    reset-device        Reset storage device
    restart-device      Restart storage device
    add-device          Add a new storage device
    remove-device       Remove a storage device
    get-capacity-device
                        Get device capacity
    get-io-stats-device
                        Get device IO statistics
    port-list           Get Data interfaces list for a node
    port-io-stats       Get Data interfaces IO stats
    check               Health check storage node
    check-device        Health check device
    info                Get node information
    info-spdk           Get SPDK memory information

optional arguments:
  -h, --help            show this help message and exit

Deploy Local Services for Remote Ops (execute locally)

usage: sbcli storage-node deploy [-h] [--ifname IFNAME]

optional arguments:
  -h, --help       show this help message and exit
  --ifname IFNAME  Management interface name, default: eth0

Clean local deploy (local run)

usage: sbcli storage-node deploy-cleaner [-h]

optional arguments:
  -h, --help  show this help message and exit

Add Storage Node by IP

usage: sbcli storage-node add-node [-h] [--partitions PARTITIONS]
                                   [--jm-percent JM_PERCENT]
                                   [--data-nics DATA_NICS [DATA_NICS ...]]
                                   [--cpu-mask SPDK_CPU_MASK]
                                   [--memory SPDK_MEM]
                                   [--spdk-image SPDK_IMAGE] [--spdk-debug]
                                   [--iobuf_small_pool_count SMALL_POOL_COUNT]
                                   [--iobuf_large_pool_count LARGE_POOL_COUNT]
                                   [--iobuf_small_bufsize SMALL_BUFSIZE]
                                   [--iobuf_large_bufsize LARGE_BUFSIZE]
                                   cluster_id node_ip ifname

positional arguments:
  cluster_id            UUID of the cluster to which the node will belong
  node_ip               IP of storage node to add
  ifname                Management interface name

optional arguments:
  -h, --help            show this help message and exit
  --partitions PARTITIONS
                        Number of partitions to create per device
  --jm-percent JM_PERCENT
                        Number in percent to use for JM from each device
  --data-nics DATA_NICS [DATA_NICS ...]
                        Data interface names
  --cpu-mask SPDK_CPU_MASK
                        SPDK app CPU mask, default is all cores found
  --memory SPDK_MEM     SPDK huge memory allocation, default is 4G
  --spdk-image SPDK_IMAGE
                        SPDK image uri
  --spdk-debug          Enable spdk debug logs
  --iobuf_small_pool_count SMALL_POOL_COUNT
                        bdev_set_options param
  --iobuf_large_pool_count LARGE_POOL_COUNT
                        bdev_set_options param
  --iobuf_small_bufsize SMALL_BUFSIZE
                        bdev_set_options param
  --iobuf_large_bufsize LARGE_BUFSIZE
                        bdev_set_options param

Delete Storage Node Object

usage: sbcli storage-node delete [-h] node_id

positional arguments:
  node_id     UUID of storage node

optional arguments:
  -h, --help  show this help message and exit

Remove Storage Node

usage: sbcli storage-node remove [-h] [--force-remove] [--force-migrate]
                                 node_id

positional arguments:
  node_id          UUID of storage node

optional arguments:
  -h, --help       show this help message and exit
  --force-remove   Force remove all LVols and snapshots
  --force-migrate  Force migrate All LVols to other nodes

List Storage Nodes

usage: sbcli storage-node list [-h] [--cluster-id CLUSTER_ID] [--json]

optional arguments:
  -h, --help            show this help message and exit
  --cluster-id CLUSTER_ID
                        id of the cluster for which nodes are listed
  --json                Print outputs in json format

Get Storage Node Info

usage: sbcli storage-node get [-h] id

positional arguments:
  id          UUID of storage node

optional arguments:
  -h, --help  show this help message and exit

Restart Storage Node

All functions and device drivers will be reset. During restart, the node does not accept IO. In a high-availability setup, this will not impact operations

usage: sbcli storage-node restart [-h] [--cpu-mask SPDK_CPU_MASK]
                                  [--memory SPDK_MEM]
                                  [--spdk-image SPDK_IMAGE] [--spdk-debug]
                                  [--iobuf_small_pool_count SMALL_POOL_COUNT]
                                  [--iobuf_large_pool_count LARGE_POOL_COUNT]
                                  [--iobuf_small_bufsize SMALL_BUFSIZE]
                                  [--iobuf_large_bufsize LARGE_BUFSIZE]
                                  node_id

positional arguments:
  node_id               UUID of storage node

optional arguments:
  -h, --help            show this help message and exit
  --cpu-mask SPDK_CPU_MASK
                        SPDK app CPU mask, default is all cores found
  --memory SPDK_MEM     SPDK huge memory allocation, default is 4G
  --spdk-image SPDK_IMAGE
                        SPDK image uri
  --spdk-debug          Enable spdk debug logs
  --iobuf_small_pool_count SMALL_POOL_COUNT
                        bdev_set_options param
  --iobuf_large_pool_count LARGE_POOL_COUNT
                        bdev_set_options param
  --iobuf_small_bufsize SMALL_BUFSIZE
                        bdev_set_options param
  --iobuf_large_bufsize LARGE_BUFSIZE
                        bdev_set_options param

Shutdown Storage Node

Once the command is issued, the node will stop accepting IO,but IO, which was previously received, will still be processed. In a high-availability setup, this will not impact operations.

usage: sbcli storage-node shutdown [-h] [--force] node_id

positional arguments:
  node_id     UUID of storage node

optional arguments:
  -h, --help  show this help message and exit
  --force     Force node shutdown

Suspend Storage Node

The node will stop accepting new IO, but will finish processing any IO, which has been received already.

usage: sbcli storage-node suspend [-h] [--force] node_id

positional arguments:
  node_id     UUID of storage node

optional arguments:
  -h, --help  show this help message and exit
  --force     Force node suspend

Resume Storage Node

usage: sbcli storage-node resume [-h] node_id

positional arguments:
  node_id     UUID of storage node

optional arguments:
  -h, --help  show this help message and exit

Get Node IO Statistics

usage: sbcli storage-node get-io-stats [-h] [--history HISTORY] node_id

positional arguments:
  node_id            Node ID

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  list history records -one for every 15 minutes- for XX
                     days and YY hours -up to 10 days in total-, format:
                     XXdYYh

Get Node Capacity Statistics

usage: sbcli storage-node get-capacity [-h] [--history HISTORY] node_id

positional arguments:
  node_id            Node ID

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  list history records -one for every 15 minutes- for XX
                     days and YY hours -up to 10 days in total-, format:
                     XXdYYh

List Storage Devices

usage: sbcli storage-node list-devices [-h] [-s {node-seq,dev-seq,serial}]
                                       [--json]
                                       node_id

positional arguments:
  node_id               the node's UUID

optional arguments:
  -h, --help            show this help message and exit
  -s {node-seq,dev-seq,serial}, --sort {node-seq,dev-seq,serial}
                        Sort the outputs
  --json                Print outputs in json format

Set Device Testing Mode

usage: sbcli storage-node device-testing-mode [-h]
                                              device_id
                                              {full_pass_through,io_error_on_read,io_error_on_write,io_error_on_unmap,io_error_on_all,discard_io_all,hotplug_removal}

positional arguments:
  device_id             Device UUID
  {full_pass_through,io_error_on_read,io_error_on_write,io_error_on_unmap,io_error_on_all,discard_io_all,hotplug_removal}
                        Testing mode

optional arguments:
  -h, --help            show this help message and exit

Get Storage Device by Id

usage: sbcli storage-node get-device [-h] device_id

positional arguments:
  device_id   the devices's UUID

optional arguments:
  -h, --help  show this help message and exit

Reset Storage Device

Hardware device reset. Resetting the device can return the device from an unavailable into online state, if successful

usage: sbcli storage-node reset-device [-h] device_id

positional arguments:
  device_id   the devices's UUID

optional arguments:
  -h, --help  show this help message and exit

Restart Storage Device

a previously removed or unavailable device may be returned into online state. If the device is not physically present, accessible or healthy, it will flip back into unavailable state again.

usage: sbcli storage-node restart-device [-h] id

positional arguments:
  id          the devices's UUID

optional arguments:
  -h, --help  show this help message and exit

Add new Storage Device

Adding a device will include a previously detected device (currently in “new” state) into cluster and will launch and auto-rebalancing background process in which some cluster capacity is re-distributed to this newly added device.

usage: sbcli storage-node add-device [-h]

optional arguments:
  -h, --help  show this help message and exit

Remove Storage Device

The device will become unavailable, independently if it was physically removed from the server. This function can be used if auto-detection of removal did not work or if the device must be maintained otherwise while remaining inserted into the server.

usage: sbcli storage-node remove-device [-h] [--force] device_id

positional arguments:
  device_id   Storage device ID

optional arguments:
  -h, --help  show this help message and exit
  --force     Force device remove

Get Device Capacity

usage: sbcli storage-node get-capacity-device [-h] [--history HISTORY]
                                              device_id

positional arguments:
  device_id          Storage device ID

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  list history records -one for every 15 minutes- for XX
                     days and YY hours -up to 10 days in total-, format:
                     XXdYYh

Get Device IO Statistics

usage: sbcli storage-node get-io-stats-device [-h] [--history HISTORY]
                                              device_id

positional arguments:
  device_id          Storage device ID

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  list history records -one for every 15 minutes- for XX
                     days and YY hours -up to 10 days in total-, format:
                     XXdYYh

List Node Data Interfaces List

usage: sbcli storage-node port-list [-h] node_id

positional arguments:
  node_id     Storage node ID

optional arguments:
  -h, --help  show this help message and exit

Get Sata Interfaces IO Stats

usage: sbcli storage-node port-io-stats [-h] [--history HISTORY] port_id

positional arguments:
  port_id            Data port ID

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  list history records -one for every 15 minutes- for XX
                     days and YY hours -up to 10 days in total, format: XXdYYh

Check Storage Node Health

usage: sbcli storage-node check [-h] id

positional arguments:
  id          UUID of storage node

optional arguments:
  -h, --help  show this help message and exit

Check Device Health

usage: sbcli storage-node check-device [-h] id

positional arguments:
  id          device UUID

optional arguments:
  -h, --help  show this help message and exit

Get Mode Information

usage: sbcli storage-node info [-h] id

positional arguments:
  id          Node UUID

optional arguments:
  -h, --help  show this help message and exit

Get SPDK Memory Information

usage: sbcli storage-node info-spdk [-h] id

positional arguments:
  id          Node UUID

optional arguments:
  -h, --help  show this help message and exit

Cluster Commands

usage: sbcli cluster [-h]
                     {create,add,list,status,get,suspend,unsuspend,get-capacity,get-io-stats,get-logs,get-secret,upd-secret,check,update,graceful-shutdown,graceful-startup,list-tasks,delete}
                     ...

positional arguments:
  {create,add,list,status,get,suspend,unsuspend,get-capacity,get-io-stats,get-logs,get-secret,upd-secret,check,update,graceful-shutdown,graceful-startup,list-tasks,delete}
    create              Create an new cluster with this node as mgmt (local
                        run)
    add                 Add new cluster
    list                Show clusters list
    status              Show cluster status
    get                 Show cluster info
    suspend             Suspend cluster
    unsuspend           Unsuspend cluster
    get-capacity        Get cluster capacity
    get-io-stats        Get cluster IO statistics
    get-logs            Returns cluster status logs
    get-secret          Get cluster secret
    upd-secret          Updates the cluster secret
    check               Health check cluster
    update              Update cluster mgmt services
    graceful-shutdown   Graceful shutdown of storage nodes
    graceful-startup    Graceful startup of storage nodes
    list-tasks          List tasks by cluster ID
    delete              Delete Cluster

optional arguments:
  -h, --help            show this help message and exit

Create new Cluster attached to this Management Node (execute locally)

usage: sbcli cluster create [-h] [--blk_size {512,4096}]
                            [--page_size PAGE_SIZE] [--CLI_PASS CLI_PASS]
                            [--cap-warn CAP_WARN] [--cap-crit CAP_CRIT]
                            [--prov-cap-warn PROV_CAP_WARN]
                            [--prov-cap-crit PROV_CAP_CRIT] [--ifname IFNAME]
                            [--log-del-interval LOG_DEL_INTERVAL]
                            [--metrics-retention-period METRICS_RETENTION_PERIOD]

optional arguments:
  -h, --help            show this help message and exit
  --blk_size {512,4096}
                        The block size in bytes
  --page_size PAGE_SIZE
                        The size of a data page in bytes
  --CLI_PASS CLI_PASS   Password for CLI SSH connection
  --cap-warn CAP_WARN   Capacity warning level in percent, default=80
  --cap-crit CAP_CRIT   Capacity critical level in percent, default=90
  --prov-cap-warn PROV_CAP_WARN
                        Capacity warning level in percent, default=180
  --prov-cap-crit PROV_CAP_CRIT
                        Capacity critical level in percent, default=190
  --ifname IFNAME       Management interface name, default: eth0
  --log-del-interval LOG_DEL_INTERVAL
                        graylog deletion interval, default: 7d
  --metrics-retention-period METRICS_RETENTION_PERIOD
                        retention period for prometheus metrics, default: 7d

Add new Cluster

usage: sbcli cluster add [-h] [--blk_size {512,4096}] [--page_size PAGE_SIZE]
                         [--cap-warn CAP_WARN] [--cap-crit CAP_CRIT]
                         [--prov-cap-warn PROV_CAP_WARN]
                         [--prov-cap-crit PROV_CAP_CRIT]

optional arguments:
  -h, --help            show this help message and exit
  --blk_size {512,4096}
                        The block size in bytes
  --page_size PAGE_SIZE
                        The size of a data page in bytes
  --cap-warn CAP_WARN   Capacity warning level in percent, default=80
  --cap-crit CAP_CRIT   Capacity critical level in percent, default=90
  --prov-cap-warn PROV_CAP_WARN
                        Capacity warning level in percent, default=180
  --prov-cap-crit PROV_CAP_CRIT
                        Capacity critical level in percent, default=190

Show Clusters List

usage: sbcli cluster list [-h]

optional arguments:
  -h, --help  show this help message and exit

Show Cluster Status

usage: sbcli cluster status [-h] cluster_id

positional arguments:
  cluster_id  the cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Show Cluster Info

usage: sbcli cluster get [-h] id

positional arguments:
  id          the cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Suspend Cluster

usage: sbcli cluster suspend [-h] cluster_id

positional arguments:
  cluster_id  the cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Unsuspend Cluster

usage: sbcli cluster unsuspend [-h] cluster_id

positional arguments:
  cluster_id  the cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Get Cluster Capacity

usage: sbcli cluster get-capacity [-h] [--json] [--history HISTORY] cluster_id

positional arguments:
  cluster_id         the cluster UUID

optional arguments:
  -h, --help         show this help message and exit
  --json             Print json output
  --history HISTORY  (XXdYYh), list history records (one for every 15 minutes)
                     for XX days and YY hours (up to 10 days in total).

Get Cluster IO Statistics

usage: sbcli cluster get-io-stats [-h] [--records RECORDS] [--history HISTORY]
                                  cluster_id

positional arguments:
  cluster_id         the cluster UUID

optional arguments:
  -h, --help         show this help message and exit
  --records RECORDS  Number of records, default: 20
  --history HISTORY  (XXdYYh), list history records (one for every 15 minutes)
                     for XX days and YY hours (up to 10 days in total).

Get Cluster Status Logs

usage: sbcli cluster get-logs [-h] cluster_id

positional arguments:
  cluster_id  cluster uuid

optional arguments:
  -h, --help  show this help message and exit

Get Cluster Secret

usage: sbcli cluster get-secret [-h] cluster_id

positional arguments:
  cluster_id  cluster uuid

optional arguments:
  -h, --help  show this help message and exit

Updates Cluster Secret

usage: sbcli cluster upd-secret [-h] cluster_id secret

positional arguments:
  cluster_id  cluster uuid
  secret      new 20 characters password

optional arguments:
  -h, --help  show this help message and exit

Check Cluster Health

usage: sbcli cluster check [-h] id

positional arguments:
  id          cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Update Cluster Management Services

usage: sbcli cluster update [-h] id

positional arguments:
  id          cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Graceful Shutdown of Storage Nodes

usage: sbcli cluster graceful-shutdown [-h] id

positional arguments:
  id          cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Graceful Startup of Storage Nodes

usage: sbcli cluster graceful-startup [-h] id

positional arguments:
  id          cluster UUID

optional arguments:
  -h, --help  show this help message and exit

List Tasks by Cluster Id

usage: sbcli cluster list-tasks [-h] cluster_id

positional arguments:
  cluster_id  UUID of the cluster

optional arguments:
  -h, --help  show this help message and exit

Delete cluster

This is only possible, if no storage nodes and pools are attached to the cluster

usage: sbcli cluster delete [-h] id

positional arguments:
  id          cluster UUID

optional arguments:
  -h, --help  show this help message and exit

Logical Volume Commands

usage: sbcli lvol [-h]
                  {add,qos-set,list,list-mem,get,delete,connect,resize,create-snapshot,clone,move,get-capacity,get-io-stats,send-cluster-map,get-cluster-map,check}
                  ...

positional arguments:
  {add,qos-set,list,list-mem,get,delete,connect,resize,create-snapshot,clone,move,get-capacity,get-io-stats,send-cluster-map,get-cluster-map,check}
    add                 Add a new logical volume
    qos-set             Change qos settings for an active logical volume
    list                List LVols
    list-mem            Get the size and max_size of the lvol
    get                 Get LVol details
    delete              Delete LVol
    connect             Get lvol connection strings
    resize              Resize LVol
    create-snapshot     Create snapshot from LVol
    clone               create LVol based on a snapshot
    move                Moves a full copy of the logical volume between nodes
    get-capacity        Get LVol capacity
    get-io-stats        Get LVol IO statistics
    send-cluster-map    send cluster map
    get-cluster-map     get cluster map
    check               Health check LVol

optional arguments:
  -h, --help            show this help message and exit

Add new Logical Volume

usage: sbcli lvol add [-h] [--snapshot] [--max-size MAX_SIZE]
                      [--host-id HOST_ID] [--ha-type {single,ha,default}]
                      [--encrypt] [--crypto-key1 CRYPTO_KEY1]
                      [--crypto-key2 CRYPTO_KEY2] [--max-rw-iops MAX_RW_IOPS]
                      [--max-rw-mbytes MAX_RW_MBYTES]
                      [--max-r-mbytes MAX_R_MBYTES]
                      [--max-w-mbytes MAX_W_MBYTES] [--distr-vuid DISTR_VUID]
                      [--distr-ndcs DISTR_NDCS] [--distr-npcs DISTR_NPCS]
                      [--distr-bs DISTR_BS] [--distr-chunk-bs DISTR_CHUNK_BS]
                      name size pool

positional arguments:
  name                  LVol name or id
  size                  LVol size: 10M, 10G, 10(bytes)
  pool                  Pool UUID or name

optional arguments:
  -h, --help            show this help message and exit
  --snapshot, -s        Make LVol with snapshot capability, default is False
  --max-size MAX_SIZE   LVol max size
  --host-id HOST_ID     Primary storage node UUID or Hostname
  --ha-type {single,ha,default}
                        LVol HA type (single, ha), default is cluster HA type
  --encrypt             Use inline data encryption and de-cryption on the
                        logical volume
  --crypto-key1 CRYPTO_KEY1
                        the hex value of key1 to be used for lvol encryption
  --crypto-key2 CRYPTO_KEY2
                        the hex value of key2 to be used for lvol encryption
  --max-rw-iops MAX_RW_IOPS
                        Maximum Read Write IO Per Second
  --max-rw-mbytes MAX_RW_MBYTES
                        Maximum Read Write Mega Bytes Per Second
  --max-r-mbytes MAX_R_MBYTES
                        Maximum Read Mega Bytes Per Second
  --max-w-mbytes MAX_W_MBYTES
                        Maximum Write Mega Bytes Per Second
  --distr-vuid DISTR_VUID
                        (Dev) set vuid manually, default: random (1-99999)
  --distr-ndcs DISTR_NDCS
                        (Dev) set ndcs manually, default: 4
  --distr-npcs DISTR_NPCS
                        (Dev) set npcs manually, default: 1
  --distr-bs DISTR_BS   (Dev) distrb bdev block size, default: 4096
  --distr-chunk-bs DISTR_CHUNK_BS
                        (Dev) distrb bdev chunk block size, default: 4096

Change QOS Settings for an Active Logical Volume

usage: sbcli lvol qos-set [-h] [--max-rw-iops MAX_RW_IOPS]
                          [--max-rw-mbytes MAX_RW_MBYTES]
                          [--max-r-mbytes MAX_R_MBYTES]
                          [--max-w-mbytes MAX_W_MBYTES]
                          id

positional arguments:
  id                    LVol id

optional arguments:
  -h, --help            show this help message and exit
  --max-rw-iops MAX_RW_IOPS
                        Maximum Read Write IO Per Second
  --max-rw-mbytes MAX_RW_MBYTES
                        Maximum Read Write Mega Bytes Per Second
  --max-r-mbytes MAX_R_MBYTES
                        Maximum Read Mega Bytes Per Second
  --max-w-mbytes MAX_W_MBYTES
                        Maximum Write Mega Bytes Per Second

List Logical Volumes

usage: sbcli lvol list [-h] [--cluster-id CLUSTER_ID] [--pool POOL] [--json]

optional arguments:
  -h, --help            show this help message and exit
  --cluster-id CLUSTER_ID
                        List LVols in particular cluster
  --pool POOL           List LVols in particular Pool ID or name
  --json                Print outputs in json format

Get the Size and Maximum Size of the Logical Volume

usage: sbcli lvol list-mem [-h] [--json] [--csv]

optional arguments:
  -h, --help  show this help message and exit
  --json      Print outputs in json format
  --csv       Print outputs in csv format

Get Logical Volume Details

usage: sbcli lvol get [-h] [--json] id

positional arguments:
  id          LVol id or name

optional arguments:
  -h, --help  show this help message and exit
  --json      Print outputs in json format

Delete Logical Volume

This is only possible, if no more snapshots and non-inflated clones of the volume exist. The volume must be suspended before it can be deleted.

usage: sbcli lvol delete [-h] [--force] id [id ...]

positional arguments:
  id          LVol id or ids

optional arguments:
  -h, --help  show this help message and exit
  --force     Force delete LVol from the cluster

Get Logical Volume Connection Strings

Multiple connections to the cluster are always available for multipath and high-availability.

usage: sbcli lvol connect [-h] id

positional arguments:
  id          LVol id

optional arguments:
  -h, --help  show this help message and exit

Resize Logical Volume

The logical volume cannot exceed the maximum size for logical volumes or exceed total remaining provisioned space in pool. It cannot drop below the current utilization.

usage: sbcli lvol resize [-h] id size

positional arguments:
  id          LVol id
  size        New LVol size size: 10M, 10G, 10(bytes)

optional arguments:
  -h, --help  show this help message and exit

Create Snapshot from Logical Volume

usage: sbcli lvol create-snapshot [-h] id name

positional arguments:
  id          LVol id
  name        snapshot name

optional arguments:
  -h, --help  show this help message and exit

Create Logical Volume from Snapshot

usage: sbcli lvol clone [-h] [--resize RESIZE] snapshot_id clone_name

positional arguments:
  snapshot_id      snapshot UUID
  clone_name       clone name

optional arguments:
  -h, --help       show this help message and exit
  --resize RESIZE  New LVol size: 10M, 10G, 10(bytes)

Moves a Full Copy of the Logical Volume between Nodes

usage: sbcli lvol move [-h] [--force] id node_id

positional arguments:
  id          LVol UUID
  node_id     Destination Node UUID

optional arguments:
  -h, --help  show this help message and exit
  --force     Force LVol delete from source node

Get Logical Volume Capacity

usage: sbcli lvol get-capacity [-h] [--history HISTORY] id

positional arguments:
  id                 LVol id

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  (XXdYYh), list history records (one for every 15 minutes)
                     for XX days and YY hours (up to 10 days in total).

Get Logical Volume IO Statistics

usage: sbcli lvol get-io-stats [-h] [--history HISTORY] id

positional arguments:
  id                 LVol id

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  (XXdYYh), list history records (one for every 15 minutes)
                     for XX days and YY hours (up to 10 days in total).

Send Cluster Map

usage: sbcli lvol send-cluster-map [-h] id

positional arguments:
  id          LVol id

optional arguments:
  -h, --help  show this help message and exit

Get Cluster Map

usage: sbcli lvol get-cluster-map [-h] id

positional arguments:
  id          LVol id

optional arguments:
  -h, --help  show this help message and exit

Check Logical Volume Health

usage: sbcli lvol check [-h] id

positional arguments:
  id          UUID of LVol

optional arguments:
  -h, --help  show this help message and exit

Management Node Commands

usage: sbcli mgmt [-h] {add,list,remove} ...

positional arguments:
  {add,list,remove}
    add              Add Management node to the cluster (local run)
    list             List Management nodes
    remove           Remove Management node

optional arguments:
  -h, --help         show this help message and exit

Add Management Node to Cluster (execute locally)

usage: sbcli mgmt add [-h] cluster_ip cluster_id ifname

positional arguments:
  cluster_ip  the cluster IP address
  cluster_id  the cluster UUID
  ifname      Management interface name

optional arguments:
  -h, --help  show this help message and exit

List Management Nodes

usage: sbcli mgmt list [-h] [--json]

optional arguments:
  -h, --help  show this help message and exit
  --json      Print outputs in json format

Remove Management Node

usage: sbcli mgmt remove [-h] id

positional arguments:
  id          Mgmt node uuid

optional arguments:
  -h, --help  show this help message and exit

Pool Commands

usage: sbcli pool [-h]
                  {add,set,list,get,delete,enable,disable,get-secret,upd-secret,get-capacity,get-io-stats}
                  ...

positional arguments:
  {add,set,list,get,delete,enable,disable,get-secret,upd-secret,get-capacity,get-io-stats}
    add                 Add a new Pool
    set                 Set pool attributes
    list                List pools
    get                 get pool details
    delete              Delete Pool
    enable              Set pool status to Active
    disable             Set pool status to Inactive.
    get-secret          Get pool secret
    upd-secret          Updates pool secret
    get-capacity        Get pool capacity
    get-io-stats        Get pool IO statistics

optional arguments:
  -h, --help            show this help message and exit

Add new Pool

usage: sbcli pool add [-h] [--pool-max POOL_MAX] [--lvol-max LVOL_MAX]
                      [--max-rw-iops MAX_RW_IOPS]
                      [--max-rw-mbytes MAX_RW_MBYTES]
                      [--max-r-mbytes MAX_R_MBYTES]
                      [--max-w-mbytes MAX_W_MBYTES] [--has-secret]
                      name cluster_id

positional arguments:
  name                  Pool name
  cluster_id            Cluster UUID

optional arguments:
  -h, --help            show this help message and exit
  --pool-max POOL_MAX   Pool maximum size: 20M, 20G, 0(default)
  --lvol-max LVOL_MAX   LVol maximum size: 20M, 20G, 0(default)
  --max-rw-iops MAX_RW_IOPS
                        Maximum Read Write IO Per Second
  --max-rw-mbytes MAX_RW_MBYTES
                        Maximum Read Write Mega Bytes Per Second
  --max-r-mbytes MAX_R_MBYTES
                        Maximum Read Mega Bytes Per Second
  --max-w-mbytes MAX_W_MBYTES
                        Maximum Write Mega Bytes Per Second
  --has-secret          Pool is created with a secret (all further API
                        interactions with the pool and logical volumes in the
                        pool require this secret)

Set Pool Attributes

usage: sbcli pool set [-h] [--pool-max POOL_MAX] [--lvol-max LVOL_MAX]
                      [--max-rw-iops MAX_RW_IOPS]
                      [--max-rw-mbytes MAX_RW_MBYTES]
                      [--max-r-mbytes MAX_R_MBYTES]
                      [--max-w-mbytes MAX_W_MBYTES]
                      id

positional arguments:
  id                    Pool UUID

optional arguments:
  -h, --help            show this help message and exit
  --pool-max POOL_MAX   Pool maximum size: 20M, 20G
  --lvol-max LVOL_MAX   LVol maximum size: 20M, 20G
  --max-rw-iops MAX_RW_IOPS
                        Maximum Read Write IO Per Second
  --max-rw-mbytes MAX_RW_MBYTES
                        Maximum Read Write Mega Bytes Per Second
  --max-r-mbytes MAX_R_MBYTES
                        Maximum Read Mega Bytes Per Second
  --max-w-mbytes MAX_W_MBYTES
                        Maximum Write Mega Bytes Per Second

List Pools

usage: sbcli pool list [-h] [--json] [--cluster-id CLUSTER_ID]

optional arguments:
  -h, --help            show this help message and exit
  --json                Print outputs in json format
  --cluster-id CLUSTER_ID
                        ID of the cluster

Get Pool Details

usage: sbcli pool get [-h] [--json] id

positional arguments:
  id          pool uuid

optional arguments:
  -h, --help  show this help message and exit
  --json      Print outputs in json format

Delete Pool

It is only possible to delete a pool if it is empty (no provisioned logical volumes contained).

usage: sbcli pool delete [-h] id

positional arguments:
  id          pool uuid

optional arguments:
  -h, --help  show this help message and exit

Set Pool Status to Active

usage: sbcli pool enable [-h] pool_id

positional arguments:
  pool_id     pool uuid

optional arguments:
  -h, --help  show this help message and exit

Set Pool Status to Inactive.

usage: sbcli pool disable [-h] pool_id

positional arguments:
  pool_id     pool uuid

optional arguments:
  -h, --help  show this help message and exit

Get Pool Secret

usage: sbcli pool get-secret [-h] pool_id

positional arguments:
  pool_id     pool uuid

optional arguments:
  -h, --help  show this help message and exit

Updates Pool Secret

usage: sbcli pool upd-secret [-h] pool_id secret

positional arguments:
  pool_id     pool uuid
  secret      new 20 characters password

optional arguments:
  -h, --help  show this help message and exit

Get Pool Capacity

usage: sbcli pool get-capacity [-h] pool_id

positional arguments:
  pool_id     pool uuid

optional arguments:
  -h, --help  show this help message and exit

Get Pool IO Statistics

usage: sbcli pool get-io-stats [-h] [--history HISTORY] id

positional arguments:
  id                 Pool id

optional arguments:
  -h, --help         show this help message and exit
  --history HISTORY  (XXdYYh), list history records (one for every 15 minutes)
                     for XX days and YY hours (up to 10 days in total).

Snapshot Commands

usage: sbcli snapshot [-h] {add,list,delete,clone} ...

positional arguments:
  {add,list,delete,clone}
    add                 Create new snapshot
    list                List snapshots
    delete              Delete a snapshot
    clone               Create LVol from snapshot

optional arguments:
  -h, --help            show this help message and exit

Create new Snapshot

usage: sbcli snapshot add [-h] id name

positional arguments:
  id          LVol UUID
  name        snapshot name

optional arguments:
  -h, --help  show this help message and exit

List Snapshots

usage: sbcli snapshot list [-h]

optional arguments:
  -h, --help  show this help message and exit

Delete a Snapshot

usage: sbcli snapshot delete [-h] id

positional arguments:
  id          snapshot UUID

optional arguments:
  -h, --help  show this help message and exit

Create lvol from snapshot

usage: sbcli snapshot clone [-h] [--resize RESIZE] id lvol_name

positional arguments:
  id               snapshot UUID
  lvol_name        LVol name

optional arguments:
  -h, --help       show this help message and exit
  --resize RESIZE  New LVol size: 10M, 10G, 10(bytes)

Caching Client Node Commands

usage: sbcli caching-node [-h]
                          {deploy,add-node,list,list-lvols,remove,connect,disconnect,recreate}
                          ...

positional arguments:
  {deploy,add-node,list,list-lvols,remove,connect,disconnect,recreate}
    deploy              Deploy caching node on this machine (local exec)
    add-node            Add new Caching node to the cluster
    list                List Caching nodes
    list-lvols          List connected lvols
    remove              Remove Caching node from the cluster
    connect             Connect to LVol
    disconnect          Disconnect LVol from Caching node
    recreate            recreate Caching node bdevs

optional arguments:
  -h, --help            show this help message and exit

Deploy Caching Node on this Machine (execute locally)

usage: sbcli caching-node deploy [-h] [--ifname IFNAME]

optional arguments:
  -h, --help       show this help message and exit
  --ifname IFNAME  Management interface name, default: eth0

Add new Caching Node to Cluster

usage: sbcli caching-node add-node [-h] [--cpu-mask SPDK_CPU_MASK]
                                   [--memory SPDK_MEM]
                                   [--spdk-image SPDK_IMAGE]
                                   [--namespace NAMESPACE]
                                   cluster_id node_ip ifname

positional arguments:
  cluster_id            UUID of the cluster to which the node will belong
  node_ip               IP of caching node to add
  ifname                Management interface name

optional arguments:
  -h, --help            show this help message and exit
  --cpu-mask SPDK_CPU_MASK
                        SPDK app CPU mask, default is all cores found
  --memory SPDK_MEM     SPDK huge memory allocation, default is Max hugepages
                        available
  --spdk-image SPDK_IMAGE
                        SPDK image uri
  --namespace NAMESPACE
                        k8s namespace to deploy on

List Caching Nodes

usage: sbcli caching-node list [-h]

optional arguments:
  -h, --help  show this help message and exit

List Connected Logical Volumes

usage: sbcli caching-node list-lvols [-h] id

positional arguments:
  id          Caching Node UUID

optional arguments:
  -h, --help  show this help message and exit

Remove Caching Node from Cluster

usage: sbcli caching-node remove [-h] [--force] id

positional arguments:
  id          Caching Node UUID

optional arguments:
  -h, --help  show this help message and exit
  --force     Force remove

Connect to Logical Volume

usage: sbcli caching-node connect [-h] node_id lvol_id

positional arguments:
  node_id     Caching node UUID
  lvol_id     LVol UUID

optional arguments:
  -h, --help  show this help message and exit

Disconnect Logical Volume From Caching Node

usage: sbcli caching-node disconnect [-h] node_id lvol_id

positional arguments:
  node_id     Caching node UUID
  lvol_id     LVol UUID

optional arguments:
  -h, --help  show this help message and exit

Recreate a Caching Node bdevs

usage: sbcli caching-node recreate [-h] node_id

positional arguments:
  node_id     Caching node UUID

optional arguments:
  -h, --help  show this help message and exit