How much is the used and free space?
How much is the current usage?
Short answer
Use storpool volume status
, column stored
.
Long answer
StorPool is copy-on-write storage with data replication and multiple space saving features, so there are different metrics of space usage in StorPool - raw capacity, provisioned space and stored data.
Raw capacity / raw data is the data that is written to the physical drives. This includes the replication and some overhead for checksums and metadata.
Provisioned space is the logical space - the sum of the sizes of all volumes and snapshots created.
Stored data is the actual amount of user data stored in the system, taking into account all savings from thin provisioning, zero detection and clones.
The last one is the metric that is used for billing purposes.
Your cluster at the moment has XXX TB of stored data (1 TB = 10^12 bytes). Provisioned data is YYY TB - this is the sum of the sizes of all created volumes.
How do we calculate the usage charge?
License charges are calculated based on the stored data. You can monitor the current amount of stored data with the command:
storpool volume status
and looking at the column stored
. Note that the numbers reported by
storpool
utility are represented in TiB (1024^4), not in TB (1000^4), so
there is some difference.
Note also that the sum of used data on drives (as reported by storpool disk
list
command) is not the same as stored data that is used for billing
purposes. The storpool disk list
column used
shows all copies of the
data and may include some internal data structures that are not billed.
How much space you can provision and how much data you can store on your cluster?
There is no limit on the logical size you can provision on a StorPool cluster. The logical space may exceed the physical capacity of the cluster. For example you can create hundreds of volumes of many TB each. Until you store actual data in these volumes, no physical space will be used. Or you may have multiple clones or snapshots of the same volume, and StorPool will consume physical space only to store the deltas. Because provisioned space may greatly exceed the available physical space, there shall be careful planning when you provision new volumes.
The actual data that can be stored is, of course, limited by the available physical space. It depends on many factors, but an estimation can be got with the command:
storpool template status
The estimation of the available space is displayed in column avail.
. If
for example storpool template status
reports 16TB avail., this means that
you can store about 16TB of actual data (after all space saving features),
before the cluster is depleted.
Why there is space used in a new/empty cluster?
As StorPool is a copy-on-write system, what it does is to add new records for data written, and then at some point “aggregate” and compress it. On SSD-only system the aggregation kicks in only when the drives are with beyond 60% on-disk size used up so we reduce the wearing of the SSDs. Thus, the space used is pretty much stale/overwritten data for the iolatmon volumes or initial cluster tests.