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 |