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>
    --is-single-node
    --mode=<MODE>
    --ingress-host-source=<INGRESS_HOST_SOURCE>
    --dns-name=<DNS_NAME>
    --enable-node-affinity
    --fabric=<FABRIC>
    --strict-node-anti-affinity
    --name=<NAME>
    --qpair-count=<QPAIR_COUNT>
    --client-qpair-count=<CLIENT_QPAIR_COUNT>
    --client-data-nic=<CLIENT_DATA_NIC>
    --use-backup=<USE_BACKUP>
    --nvmf-base-port=<NVMF_BASE_PORT>
    --rpc-base-port=<RPC_BASE_PORT>
    --snode-api-port=<SNODE_API_PORT>
Parameter Description Data Type Required Default
--cap-warn The capacity warning level in percent. Default: 89. integer False 89
--cap-crit The capacity critical level in percent. Default: 99. integer False 99
--prov-cap-warn The capacity warning level in percent. Default: 250. integer False 250
--prov-cap-crit The 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 The 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 The email or slack webhook url to be used for alerting. string False
--grafana-endpoint The endpoint url for Grafana. string False
--data-chunks-per-stripe The erasure coding schema parameter k (distributed raid). Default: 1. integer False 1
--parity-chunks-per-stripe The 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. Default: ha.

Available Options:
- single
- ha
string False ha
--is-single-node For single-node clusters only. Default: false. marker False False
--mode The 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. Default: hostip.

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 -
--fabric The NVMe fabric to use (specify: tcp, rdma, tcp,rdma). Default: tcp.

Available Options:
- tcp
- rdma
- tcp,rdma
string False tcp
--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 -
--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 32
--client-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 3
--client-data-nic Network interface name from client to use for logical volume connection. string False -
--use-backup The path to JSON file with S3/MinIO backup configuration. string False -
--nvmf-base-port Base port for all NVMe-oF listeners (lvol, hublvol, device). Default: 4420. integer False 4420
--rpc-base-port The base port for SPDK JSON-RPC. Default: 8080. integer False 8080
--snode-api-port The SNodeAPI/firewall port (one per host IP). Default: 50001. integer False 50001

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
    --fabric=<FABRIC>
    --is-single-node
    --qpair-count=<QPAIR_COUNT>
    --client-qpair-count=<CLIENT_QPAIR_COUNT>
    --strict-node-anti-affinity
    --name=<NAME>
    --client-data-nic=<CLIENT_DATA_NIC>
    --use-backup=<USE_BACKUP>
    --nvmf-base-port=<NVMF_BASE_PORT>
    --rpc-base-port=<RPC_BASE_PORT>
    --snode-api-port=<SNODE_API_PORT>
Parameter Description Data Type Required Default
--cap-warn The capacity warning level in percent. Default: 89. integer False 89
--cap-crit The capacity critical level in percent. Default: 99. integer False 99
--prov-cap-warn The capacity warning level in percent. Default: 250. integer False 250
--prov-cap-crit The capacity critical level in percent. Default: 500. integer False 500
--data-chunks-per-stripe The erasure coding schema parameter k (distributed raid). Default: 1. integer False 1
--parity-chunks-per-stripe The 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. Default: ha.

Available Options:
- single
- ha
string False ha
--enable-node-affinity Enables node affinity for storage nodes. marker False -
--fabric Fabric: tcp, rdma or both (specify: tcp, rdma). Default: tcp.

Available Options:
- tcp
- rdma
- tcp,rdma
string False tcp
--is-single-node For single-node clusters only. Default: false. marker False 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 32
--client-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 3
--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 -
--client-data-nic Network interface name from client to use for logical volume connection. string False -
--use-backup The path to JSON file with S3/MinIO backup configuration. string False -
--nvmf-base-port Base port for all NVMe-oF listeners (lvol, hublvol, device). Default: 4420. integer False 4420
--rpc-base-port The base port for SPDK JSON-RPC. Default: 8080. integer False 8080
--snode-api-port The SNodeAPI/firewall port (one per host IP). Default: 50001. integer False 50001

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 The 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 The 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 The 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 The 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 The 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 The 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 The cluster id. string True
Parameter Description Data Type Required Default
--records The 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 The 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. 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 The 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 The cluster id. string True
SECRET The new 20 characters password. string True

Updates a cluster's fabric.

Updates a cluster's fabric.

sbctl cluster update-fabric
    <CLUSTER_ID>
    <FABRIC>
Argument Description Data Type Required
CLUSTER_ID The cluster id. string True
FABRIC Fabric: tcp, rdma or both (specify: tcp, rdma). Default: tcp. string True

Checks a cluster's health.

Checks a cluster's health.

sbctl cluster check
    <CLUSTER_ID>
Argument Description Data Type Required
CLUSTER_ID The 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>
    --spdk-image=<SPDK_IMAGE>
    --mgmt-image=<MGMT_IMAGE>
Argument Description Data Type Required
CLUSTER_ID The cluster id. string True
Parameter Description Data Type Required Default
--cp-only Update the control plane only. Default: false. 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 The cluster id. string True
Parameter Description Data Type Required Default
--limit Show last number of tasks, default 50. 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 The cluster 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 The cluster 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 The 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 The cluster id. string True
NAME The new cluster name. string True

Assigns the snapshot replication target cluster

Assigns the snapshot replication target cluster

sbctl cluster add-replication
    <CLUSTER_ID>
    <TARGET_CLUSTER_ID>
    --timeout=<TIMEOUT>
    --target-pool=<TARGET_POOL>
Argument Description Data Type Required
CLUSTER_ID Cluster id string True
TARGET_CLUSTER_ID Target Cluster id string True
Parameter Description Data Type Required Default
--timeout Snapshot replication network timeout integer False 3600
--target-pool Target cluster pool ID or name string False -