A storage pool is a unit in ABS used to organize storage media. Different storage media can be added to different storage pools, giving each pool distinct storage characteristics. For example, a hybrid SSD/HDD storage pool or an all-SSD storage pool. (In the current ABS implementation, a server is the smallest unit that can join a storage pool.) You can also assign a specific datastore, NFS Export, or iSCSI target to a particular storage pool. All data volumes on it will be stored in the chunks of that pool. The default storage pool is system. You are allowed to move chunks from one storage pool to another storage pool.
Storage pools provide physical isolation of data. All replicas of a piece of data are stored within the same storage pool. Data is not shared among storage pools. If data needs to be moved between storage pools, data copying is triggered.
Procedure
Run the following command on any node in the cluster to view all current storage pools:
zbs-meta storage_pool list
Output example
id name chunks
------ ------ --------
system system 3,2,1Output note
| Parameter | Description |
|---|---|
id | The storage pool ID. |
name | The storage pool name. |
chunks | The chunks in the storage pool. |
Procedure
Run the following command on any node in the cluster to view the properties of the storage pool with the specified ID:
zbs-meta storage_pool show <storage_pool_id>
Output example
------ ------
id system
name system
chunks 3,2,1
------ ------Output note
| Parameter | Description |
|---|---|
id | The storage pool ID. |
name | The storage pool name. |
chunks | The chunks in the storage pool. |
Procedure
Run the following command on any node in the cluster to create a storage pool with the specified name:
zbs-meta storage_pool create <storage_pool name>
Output note
If the command succeeds, no output is displayed.
Procedure
Run the following command on any node in the cluster to delete the storage pool with the specified ID:
zbs-meta storage_pool delete <storage_pool id>
Output note
If the command succeeds, no output is displayed.
Procedure
Run the following command on any node in the cluster to update the storage pool name with the specified ID:
zbs-meta storage_pool update <storage_pool_id> <new_name>
Output note
If the command succeeds, no output is displayed.
Procedure
Run the following command on any node in the cluster to add chunks to a storage pool.
zbs-meta storage_pool add_chunk <storage_pool_id> <chunk_id>
Output note
If the command succeeds, no output is displayed.
Procedure
Run the following command on any node in the cluster to remove a chunk from a storage pool.
zbs-meta storage_pool remove_chunk <storage_pool_id> <chunk_id>
Output note
If the command succeeds, no output is displayed.
Run the following command to cancel the removal of a chunk before it is completely removed from the storage pool.
Procedure
Run the following command on any node in the cluster:
zbs-meta storage_pool cancel_remove <chunk_id>
Output note
If the command succeeds, no output is displayed.