lbcli list volumes
Lists volumes resources.
By default, all volumes of the Lightbits cluster are returned, unless one of the optional filters is specified.
lbcli list volumes [flags]
Examples:
# List all volumes belonging to project ‘my proj’
lbcli -J $JWT --project-name=my-proj list volumes
# Filter a specific volume by its volume UUID.
lbcli -J $JWT list volumes --project-name=proj-1 --uuid=e08d9ce8-366b-49d6-9fc0-9173b9de29af --offset-uuid=abcdef00-366b-49d6-9fc0-9173b9de29af --limit=5
Flag | Short | Type | Default | Description |
---|---|---|---|---|
--name | string | Volume name. | ||
--uuid | string | Volume UUID. | ||
--failure-domain | string | List only volumes that belong to a specific failure domain. | ||
--help | -h | bool | Help for list volumes. | |
--limit | int64 | Optional. Limits the number of volumes in the response. | ||
--offset-uuid | string | Optional. When provided, the returned list starts with next to offset-uuid volume. | ||
--project-name | string | Project name. | ||
--source-snapshot-uuid | string | Lists only volumes that were created from a specific source snapshot. | ||
--show-all | bool | Optional. Shows all volumes. The default is to show only active volumes. To return all volumes including volumes in deleting state, this should be set to true. |
This command returns the following fields for each node. The default output format is human-readable. The human-readable output only shows some of these fields. The json/yaml output format is also supported and includes additional fields.
Field | Type | Description |
---|---|---|
Name | string | Volume name. |
UUID | string | Volume UUID. |
State | string | Indicates the current state of the volume in its creation/update/delete lifetime. This will reflect the state of execution of a user-invoked API (CreateVolume, UpdateVolume). or an internal operation (volume migration). Volume states:
|
Protection State | string | An indication of the volume's data availability, derived from the health of each of the replicas it resides on. Volume protection states:
Note: For any volumes that are not in "Available" state, the protection state is “Not available“. |
NSID | int | Volume NSID. |
Size | int | Maximal logical capacity of the volume in bytes. |
Replica Count | int | Total replicas count. |
Compression | string |
|
ACL | list of strings | Access Control List. |
Rebuild Progress | string | Rebuild progress in percentage. If a node that the volume is associated with is also undergoing the clustering rebuild process this field will show progress. Otherwise, it will show None. Note: This field displays information on the replications nodes state associated with this volume. So, it may show a rebuild even for volumes with no data. |
Nodes List | list of strings | Node UUIDs on which the volume is stored (only in json/yaml). |
Statistics | list of integers |
(only in json/yaml) |
IP ACL | list of strings | List of allowed IPs (Default:ALLOW_ANY), (only in json/yaml). |
Connected Hosts | list of strings | List of connected host-nqns, (only in json/yaml). |
Etag | string | An identifier for a specific version of a resource. |
Source Snapshot UUID | string | The source snapshot UUID which the volume was cloned from. An empty string means that this volume did not originate from any snapshot. |
Source Snapshot Name | string | The source snapshot name which the volume was cloned from. An empty string means that this volume did not originate from any snapshot. |
QoS Policy UUID | string | The UUID of the QoS policy that is assigned to the volume. |
QoS Policy Name | string | The name of the QoS policy that is assigned to the volume. |
The table below illustrates the volume metrics.
Use Case Example
When a user creates a volume of size 10G:
- Compression is enabled (assume that data is written which is compressed at 50%).
- Writes data from address 0-3G.
- Creates a snapshot.
- Writes an additional 2G of data to ranges 2-4. This means that 1G was overwritten or deleted and 1G was new.
So overall at the device level:
- The user has written a total of 5G of bytes to this volume over time (3G + 2G).
- The current amount of data the user sees on the device associated with this volume is 4G (0-4G address range).
- The total amount of storage space for the volume and snapshot is 2.5G (0.5_3G + 0.5_2G).
All volume metrics below represent values for a single replica of the volume.
Field | Type | Description |
---|---|---|
physicalCapacity | uint64 | The physical capacity that exists in this volume layer (the storage used for a single replica since the last snapshot or rollback for this volume). |
physicalOwnedCapacity | uint64 | The capacity that would be freed when the volume is deleted (this counter will have the same value as Physical Capacity for a volume object). |
physicalOwnedMemory | uint64 | The amount of memory that would be freed by deleting this volume. This is only for the top volume layer - since the last snapshot rollback operation. Note that this will be identical to Physical Memory for volume. |
physicalMemory | uint64 | The amount of memory being used by this volume. This is only for the top volume layer since the last snapshot rollback operation. |
userWritten | uint64 | The amount (in bytes of data) requested to be written to this volume layer since the last snapshot/rollback operation. |
logicalUsedStorage | uint64 | The logical storage space used by a volume, given in bytes. This is the total address range that you will see on a device. |
physicalUsedStorage | uint64 | The total physical storage space used by a volume (and its snapshot), given in bytes. This is the sum of the actual storage space used in a Lightbits cluster, for a single replica of the volume and any its snapshots. |
compressionRatio | double | Compression ratio user written / physical capacity. The compression ratio for this layer since the last snapshot/rollback on this volume. |
totalCompressionRatio | double | Compression ratio sum (user written) / sum (physical capacity). This is the compression ratio calculated over all data written to this volume (i.e., calculated over data that has also been since snapshotted). |
unrecoverableDataIntegrityErrors | uint32 | The number of data integrity errors that could not be recovered by the system. |
recoverableDataIntegrityErrors | uint32 | The number of data integrity errors that were recovered by the system. |