Setting IOPS and bandwidth limits
You can specify IOPS and bandwidth limits relative to the size of the block
device. These limits can be set for templates, volumes, and snapshots using the
iops
, bw
, and limitType
parameters on the command line.
About
The main use case is the ability to provide limited services on a single storage pool. For example, for providing faster and slower storage tiers on a flash-only underlying storage without the need for actual hard drives in a cluster.
Having such limits is a common feature of cloud deployments, which provides better-matched resources to customers. Having the limits implemented in StorPool reduces the complexity of the implementations of this feature in the different orchestration systems.
When a new volume is created or when its size changes, the storage system takes the limits into account and (re)configures the overall limits of the volume to match the values set per GiB .
The limits are implemented as multipliers to the size of the volume in GiB.
Examples
For example, a new template called tier3
could be configured with a
fractional limit for IOPS and bandwidth:
# storpool template tier3 placeAll hdd placeTail ssd replication 3 iops 1.5 bw 0.12M limitType perGiB
OK
# storpool template list
-----------------------------------------------------------------------------------------------------
| template | size | rdnd. | placeHead | placeAll | placeTail | iops | bw | parent | flags |
-----------------------------------------------------------------------------------------------------
| hybrid | 128 GiB | 3 | hdd | hdd | ssd | - | - | | |
| tier3 | - | 3 | hdd | hdd | ssd | 1.5 | 123 KiB | | G |
-----------------------------------------------------------------------------------------------------
Flags:
R - allow placing two disks within a replication chain onto the same server
G - limits are per GiB, actual limits will be visualized for each volume/snapshot depending on its size
A 1TiB volume will end up with an IOPS and bandwidth limits like this:
# storpool volume data size 1T template tier3
OK
# storpool volume list
---------------------------------------------------------------------------------------------------------------------
| volume | size | rdnd. | placeHead | placeAll | placeTail | iops | bw | parent | template | flags | tags |
---------------------------------------------------------------------------------------------------------------------
| data | 1.0 TiB | 3 | hdd | hdd | ssd | 1536 | 123 MiB | | tier3 | G | |
---------------------------------------------------------------------------------------------------------------------
Flags:
R - allow placing two disks within a replication chain onto the same server
t - volume move target. Waiting for the move to finish
G - IOPS and bandwidth limits are per GiB and depend on volume/snapshot size
More information
For details about the iops
, bw
, and limitType
parameters used for
setting limits on the command line, see Volumes,
Snapshots, and Templates.
This functionality is available starting with the 19.4 revision 19.01.2686.1f4cf6e1d release.