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 | - |