Skip to content

Cluster commands

sbctl cluster --help

Cluster commands

Creates a new cluster

Created a new control plane cluster with the current node as the primary control plane node.

sbctl cluster create
    --cap-warn=<CAP_WARN>
    --cap-crit=<CAP_CRIT>
    --prov-cap-warn=<PROV_CAP_WARN>
    --prov-cap-crit=<PROV_CAP_CRIT>
    --ifname=<IFNAME>
    --mgmt-ip=<MGMT_IP>
    --tls-secret-name=<TLS_SECRET_NAME>
    --log-del-interval=<LOG_DEL_INTERVAL>
    --metrics-retention-period=<METRICS_RETENTION_PERIOD>
    --contact-point=<CONTACT_POINT>
    --grafana-endpoint=<GRAFANA_ENDPOINT>
    --data-chunks-per-stripe=<DATA_CHUNKS_PER_STRIPE>
    --parity-chunks-per-stripe=<PARITY_CHUNKS_PER_STRIPE>
    --ha-type=<HA_TYPE>
    --mode=<MODE>
    --ingress-host-source=<INGRESS_HOST_SOURCE>
    --dns-name=<DNS_NAME>
    --enable-node-affinity
    --qpair-count=<QPAIR_COUNT>
    --strict-node-anti-affinity
    --name=<NAME>
Parameter Description Data Type Required Default
--cap-warn Capacity warning level in percent, default: 89 integer False 89
--cap-crit Capacity critical level in percent, default: 99 integer False 99
--prov-cap-warn Capacity warning level in percent, default: 250 integer False 250
--prov-cap-crit Capacity critical level in percent, default: 500 integer False 500
--ifname Management interface name, e.g. eth0 string False -
--mgmt-ip Management IP address to use for the node (e.g., 192.168.1.10) string False -
--tls-secret-name Name of the Kubernetes TLS Secret to be used by the Ingress for HTTPS termination (e.g., my-tls-secret) string False -
--log-del-interval Logging retention policy, default: 3d string False 3d
--metrics-retention-period Retention period for I/O statistics (Prometheus), default: 7d string False 7d
--contact-point Email or slack webhook url to be used for alerting string False
--grafana-endpoint Endpoint url for Grafana string False
--data-chunks-per-stripe Erasure coding schema parameter k (distributed raid), default: 1 integer False 1
--parity-chunks-per-stripe Erasure coding schema parameter n (distributed raid), default: 1 integer False 1
--ha-type Logical volume HA type (single, ha), default is cluster ha type

Available Options:
- single
- ha
string False ha
--mode Environment to deploy management services, default: docker

Available Options:
- docker
- kubernetes
string False docker
--ingress-host-source Ingress host source: 'hostip' for node IP, 'loadbalancer' for external LB, or 'dns' for custom domain

Available Options:
- hostip
- loadbalancer
- dns
string False hostip
--dns-name Fully qualified DNS name to use as the Ingress host (required if --ingress-host-source=dns) string False
--enable-node-affinity Enable node affinity for storage nodes marker False -
--qpair-count Increase for clusters with few but very large logical volumes or decrease for clusters with a large number of very small logical volumes. range(0..128) False 0
--strict-node-anti-affinity Enable strict node anti affinity for storage nodes. Never more than one chunk is placed on a node. This requires a minimum of data-chunks-in-stripe + parity-chunks-in-stripe + 1 nodes in the cluster. marker False -
--name, -n Assigns a name to the newly created cluster. string False -

Adds a new cluster

Adds a new cluster

sbctl cluster add
    --cap-warn=<CAP_WARN>
    --cap-crit=<CAP_CRIT>
    --prov-cap-warn=<PROV_CAP_WARN>
    --prov-cap-crit=<PROV_CAP_CRIT>
    --data-chunks-per-stripe=<DATA_CHUNKS_PER_STRIPE>
    --parity-chunks-per-stripe=<PARITY_CHUNKS_PER_STRIPE>
    --ha-type=<HA_TYPE>
    --enable-node-affinity
    --qpair-count=<QPAIR_COUNT>
    --strict-node-anti-affinity
    --name=<NAME>
Parameter Description Data Type Required Default
--cap-warn Capacity warning level in percent, default: 89 integer False 89
--cap-crit Capacity critical level in percent, default: 99 integer False 99
--prov-cap-warn Capacity warning level in percent, default: 250 integer False 250
--prov-cap-crit Capacity critical level in percent, default: 500 integer False 500
--data-chunks-per-stripe Erasure coding schema parameter k (distributed raid), default: 1 integer False 1
--parity-chunks-per-stripe Erasure coding schema parameter n (distributed raid), default: 1 integer False 1
--ha-type Logical volume HA type (single, ha), default is cluster single type

Available Options:
- single
- ha
string False ha
--enable-node-affinity Enables node affinity for storage nodes marker False -
--qpair-count Increase for clusters with few but very large logical volumes or decrease for clusters with a large number of very small logical volumes. range(0..128) False 0
--strict-node-anti-affinity Enable strict node anti affinity for storage nodes. Never more than one chunk is placed on a node. This requires a minimum of data-chunks-in-stripe + parity-chunks-in-stripe + 1 nodes in the cluster." marker False -
--name, -n Assigns a name to the newly created cluster. string False -

Activates a cluster.

Once a cluster has sufficient nodes added, it needs to be activated. Can also be used to re-activate a suspended cluster.

sbctl cluster activate
    <CLUSTER_ID>
    --force
    --force-lvstore-create
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--force Force recreate distr and lv stores marker False -
--force-lvstore-create Force recreate lv stores marker False -

Shows the cluster list

Shows the cluster list

sbctl cluster list
    --json
Parameter Description Data Type Required Default
--json Print json output marker False -

Shows a cluster's status

Shows a cluster's status

sbctl cluster status
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Create lvstore on newly added nodes to the cluster

Create lvstore on newly added nodes to the cluster

sbctl cluster complete-expand
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Shows a cluster's statistics

Shows a cluster's statistics

sbctl cluster show
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Gets a cluster's information

Gets a cluster's information

sbctl cluster get
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Gets a cluster's capacity

Gets a cluster's capacity

sbctl cluster get-capacity
    <CLUSTER_ID>
    --json
    --history=<HISTORY>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--json Print json output marker False -
--history (XXdYYh), list history records (one for every 15 minutes) for XX days and YY hours (up to 10 days in total). string False -

Gets a cluster's I/O statistics

Gets a cluster's I/O statistics

sbctl cluster get-io-stats
    <CLUSTER_ID>
    --records=<RECORDS>
    --history=<HISTORY>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--records Number of records, default: 20 integer False 20
--history (XXdYYh), list history records (one for every 15 minutes) for XX days and YY hours (up to 10 days in total). string False -

Returns a cluster's status logs

Returns a cluster's status logs

sbctl cluster get-logs
    <CLUSTER_ID>
    --json
    --limit=<LIMIT>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--json Return JSON formatted logs marker False -
--limit show last number of logs, default 50 integer False 50

Gets a cluster's secret

Gets a cluster's secret

sbctl cluster get-secret
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Updates a cluster's secret

Updates a cluster's secret

sbctl cluster update-secret
    <CLUSTER_ID>
    <SECRET>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
SECRET new 20 characters password string True

Checks a cluster's health

Checks a cluster's health

sbctl cluster check
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Updates a cluster to new version

Updates a the control plane to a new version. To update the storage nodes, they have to be shutdown and restarted. This can be done in a rolling manner. Attention: verify that an upgrade path is available and has been tested!"

sbctl cluster update
    <CLUSTER_ID>
    --cp-only=<CP_ONLY>
    --restart=<RESTART>
    --spdk-image=<SPDK_IMAGE>
    --mgmt-image=<MGMT_IMAGE>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--cp-only Update the control plane only boolean False False
--restart Restart the management services boolean False False
--spdk-image Restart the storage nodes using the provided image string False -
--mgmt-image Restart the management services using the provided image string False -

Lists tasks of a cluster

Lists tasks of a cluster

sbctl cluster list-tasks
    <CLUSTER_ID>
    --limit=<LIMIT>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
Parameter Description Data Type Required Default
--limit show last number of tasks, default 50 integer False 50

Cancels task by task id

Cancels task by task id

sbctl cluster cancel-task
    <TASK_ID>
Argument Description Data Type Required
TASK_ID Task id string True

Get rebalancing subtasks list

Get rebalancing subtasks list

sbctl cluster get-subtasks
    <TASK_ID>
Argument Description Data Type Required
TASK_ID Task id string True

Deletes a cluster

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

sbctl cluster delete
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True

Assigns or changes a name to a cluster

Assigns or changes a name to a cluster

sbctl cluster change-name
    <CLUSTER_ID>
    <NAME>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
NAME Name string True