sbcli-pre storage-node --help
Aliases: sn
Storage node commands
Prepares a host to be used as a storage node
Runs locally on to-be storage node hosts. Installs storage node dependencies and prepares it to be used as a storage node. Only required, in standalone deployment outside of Kubernetes.
sbcli-pre storage-node deploy
--ifname=<IFNAME>
--cpu-mask=<CPU_MASK>
--isolate-cores
Parameter |
Description |
Data Type |
Required |
Default |
--ifname |
The network interface to be used for communication between the control plane and the storage node. |
string |
False |
- |
--cpu-mask |
SPDK app CPU mask, default is all cores found |
string |
False |
- |
--isolate-cores |
Isolate cores in kernel args for provided cpu mask |
marker |
False |
False |
Cleans a previous simplyblock deploy (local run)
Run locally on storage nodes and control plane hosts. Remove a previous deployment to support a fresh scratch-deployment of cluster software.
sbcli-pre storage-node deploy-cleaner
Adds a storage node by its IP address
Adds a storage node by its IP address
sbcli-pre storage-node add-node
<CLUSTER_ID>
<NODE_IP>
<IFNAME>
--journal-partition=<JOURNAL_PARTITION>
--data-nics=<DATA_NICS>
--max-lvol=<MAX_LVOL>
--max-size=<MAX_SIZE>
--number-of-devices=<NUMBER_OF_DEVICES>
--vcpu-count=<VCPU_COUNT>
--ha-jm-count=<HA_JM_COUNT>
--is-secondary-node
--namespace=<NAMESPACE>
Argument |
Description |
Data Type |
Required |
CLUSTER_ID |
Cluster id |
string |
True |
NODE_IP |
IP of storage node to add |
string |
True |
IFNAME |
Management interface name |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--journal-partition |
1: auto-create small partitions for journal on nvme devices. 0: use a separate (the smallest) nvme device of the node for journal. The journal needs a maximum of 3 percent of total available raw disk space. |
integer |
False |
1 |
--data-nics |
Storage network interface name(s). Can be more than one. Comma-separated list: e.g. eth0,eth1 |
string |
False |
- |
--max-lvol |
Max logical volume per storage node |
integer |
False |
- |
--max-size |
Maximum amount of GB to be utilized on this storage node. This cannot be larger than the total effective cluster capacity. A safe value is 1/n * 2.0 of effective cluster capacity. Meaning, if you have three storage nodes, each with 100 TiB of raw capacity and a cluster with erasure coding scheme 1+1 (two replicas), the effective cluster capacity is 100 TiB * 3 / 2 = 150 TiB. Setting this parameter to 150 TiB / 3 * 2 = 100TiB would be a safe choice. |
string |
False |
- |
--number-of-devices |
Number of devices per storage node if it's not supported EC2 instance |
integer |
False |
- |
--vcpu-count |
Number of vCPUs used for SPDK. Remaining CPUs will be used for Linux system, TCP/IP processing, and other workloads. The default on non-Kubernetes hosts is 80%. |
integer |
False |
- |
--ha-jm-count |
HA JM count |
integer |
False |
3 |
--is-secondary-node |
Adds as secondary node. A secondary node does not have any disks attached. It is only used for I/O processing in case a primary goes down. |
marker |
False |
False |
--namespace |
Kubernetes namespace to deploy on |
string |
False |
- |
Deletes a storage node object from the state database.
Deletes a storage node object from the state database. It must only be used on clusters without any logical volumes.
sbcli-pre storage-node delete
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Removes a storage node from the cluster
The storage node cannot be used or added any more. Any data residing on this storage node will be migrated to the remaining storage nodes. The user must ensure that there is sufficient free space in remaining cluster to allow for successful node removal.
Danger
If there isn't enough storage available, the cluster may run full and switch to read-only mode.
sbcli-pre storage-node remove
<NODE_ID>
--force-remove
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--force-remove |
Force remove all logical volumes and snapshots |
marker |
False |
- |
Lists all storage nodes
Lists all storage nodes
sbcli-pre storage-node list
--cluster-id=<CLUSTER_ID>
--json
Parameter |
Description |
Data Type |
Required |
Default |
--cluster-id |
Cluster id |
string |
False |
- |
--json |
Print outputs in json format |
marker |
False |
- |
Gets a storage node's information
sbcli-pre storage-node get
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Restarts a storage node
A storage node is required to be offline to be restarted. All functions and device drivers will be reset as a result of the restart. New physical devices can only be added with a storage node restart. During restart, the node will not accept any I/O.
sbcli-pre storage-node restart
<NODE_ID>
--max-lvol=<MAX_LVOL>
--node-addr=<NODE_ADDR>
--number-of-devices=<NUMBER_OF_DEVICES>
--force
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--max-lvol |
Max logical volume per storage node |
integer |
False |
0 |
--node-addr, --node-ip |
Allows to restart an existing storage node on new host or hardware. Devices attached to storage nodes have to be attached to new hosts. Otherwise, they have to be marked as failed and removed from cluster. Triggers a pro-active migration of data from those devices onto other storage nodes.
The provided value must be presented in the form of IP:PORT. Be default the port number is 5000. |
string |
False |
- |
--number-of-devices |
Number of devices per storage node if it's not supported EC2 instance |
integer |
False |
- |
--force |
Force restart |
marker |
False |
- |
Initiates a storage node shutdown
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.
sbcli-pre storage-node shutdown
<NODE_ID>
--force
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--force |
Force node shutdown |
marker |
False |
- |
Suspends a storage node
The node will stop accepting new IO, but will finish processing any IO, which has been received already.
sbcli-pre storage-node suspend
<NODE_ID>
--force
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--force |
Force node suspend |
marker |
False |
- |
Resumes a storage node
Resumes a storage node
sbcli-pre storage-node resume
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Gets storage node IO statistics
Gets storage node IO statistics
sbcli-pre storage-node get-io-stats
<NODE_ID>
--history=<HISTORY>
--records=<RECORDS>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--history |
list history records -one for every 15 minutes- for XX days and YY hours -up to 10 days in total-, format: XXdYYh |
string |
False |
- |
--records |
Number of records, default: 20 |
integer |
False |
20 |
Gets a storage node's capacity statistics
Gets a storage node's capacity statistics
sbcli-pre storage-node get-capacity
<NODE_ID>
--history=<HISTORY>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--history |
list history records -one for every 15 minutes- for XX days and YY hours -up to 10 days in total-, format: XXdYYh |
string |
False |
- |
Lists storage devices
Lists storage devices
sbcli-pre storage-node list-devices
<NODE_ID>
--json
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--json |
Print outputs in json format |
marker |
False |
- |
Gets storage device by its id
Gets storage device by its id
sbcli-pre storage-node get-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Resets a storage device
Hardware device reset. Resetting the device can return the device from an unavailable into online state, if successful.
sbcli-pre storage-node reset-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Restarts a storage device
A previously logically or physically removed or unavailable device, which has been re-inserted, may be returned into online state. If the device is not physically present, accessible or healthy, it will flip back into unavailable state again.
sbcli-pre storage-node restart-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Adds a new storage device
Adds a device, including a previously detected device (currently in "new" state) into cluster and launches an auto-rebalancing background process in which some cluster capacity is re-distributed to this newly added device.
sbcli-pre storage-node add-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Logically removes a storage device
Logical removes a storage device. The device will become unavailable, irrespectively 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 while remaining inserted into the server.
sbcli-pre storage-node remove-device
<DEVICE_ID>
--force
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--force |
Force device remove |
marker |
False |
- |
Sets storage device to failed state
Sets a storage device to state failed. This command can be used, if an administrator believes that the device must be replaced. Attention: a failed state is final, meaning, all data on the device will be automatically recovered to other devices in the cluster.
sbcli-pre storage-node set-failed-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device ID |
string |
True |
Gets a device's capacity
Gets a device's capacity
sbcli-pre storage-node get-capacity-device
<DEVICE_ID>
--history=<HISTORY>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--history |
list history records -one for every 15 minutes- for XX days and YY hours -up to 10 days in total-, format: XXdYYh |
string |
False |
- |
Gets a device's IO statistics
Gets a device's IO statistics
sbcli-pre storage-node get-io-stats-device
<DEVICE_ID>
--history=<HISTORY>
--records=<RECORDS>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--history |
list history records -one for every 15 minutes- for XX days and YY hours -up to 10 days in total-, format: XXdYYh |
string |
False |
- |
--records |
Number of records, default: 20 |
integer |
False |
20 |
Gets the data interfaces list of a storage node
Gets the data interfaces list of a storage node
sbcli-pre storage-node port-list
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Gets the data interfaces' IO stats
Gets the data interfaces' IO stats
sbcli-pre storage-node port-io-stats
<PORT_ID>
--history=<HISTORY>
Argument |
Description |
Data Type |
Required |
PORT_ID |
Data port id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--history |
list history records -one for every 15 minutes- for XX days and YY hours -up to 10 days in total, format: XXdYYh |
string |
False |
- |
Checks the health status of a storage node
Verifies if all of the NVMe-oF connections to and from the storage node, including those to and from other storage devices in the cluster and the meta-data journal, are available and healthy and all internal objects of the node, such as data placement and erasure coding services, are in a healthy state.
sbcli-pre storage-node check
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Checks the health status of a device
Checks the health status of a device
sbcli-pre storage-node check-device
<DEVICE_ID>
Argument |
Description |
Data Type |
Required |
DEVICE_ID |
Device id |
string |
True |
Gets the node's information
sbcli-pre storage-node info
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |
Restarts a journaling device
Restarts a journaling device
sbcli-pre storage-node restart-jm-device
<JM_DEVICE_ID>
--force
Argument |
Description |
Data Type |
Required |
JM_DEVICE_ID |
Journaling device id |
string |
True |
Parameter |
Description |
Data Type |
Required |
Default |
--force |
Force device remove |
marker |
False |
- |
Forces to make the provided node id primary
Makes the storage node the primary node. This is required after certain storage cluster operations, such
as a storage node migration.
sbcli-pre storage-node make-primary
<NODE_ID>
Argument |
Description |
Data Type |
Required |
NODE_ID |
Storage node id |
string |
True |