Creating local storage policies
To apply custom redundancy schemes to VM volumes, you can create storage policies from scratch or clone existing policies.
Prerequisites
- A clear understanding of these concepts: Storage policies, Data redundancy, Failure domains, and Storage tiers.
To create a policy for the local cluster
Admin panel
- On the Compute > Storage > Storage policies tab, click Create storage policy.
- In the Create storage policy window, specify a policy name and select Local storage cluster.
-
Select a tier, failure domain, and redundancy scheme.
-
Enable IOPS limit or Bandwidth limit to set the corresponding limits on the volume.
- Click Create.
Command-line interface
Use the following command:
vinfra service compute storage-policy create --tier {0,1,2,3} (--replicas <norm>[:<min>] | --encoding <M>+<N>) --failure-domain {0,1,2,3,4} [--write-bytes-sec <limit>] [--read-bytes-sec <limit>] [--read-iops-sec <limit>] [--write-iops-sec <limit>] [--total-bytes-sec <limit>] [--total-iops-sec <limit>] <name>
--tier {0,1,2,3}
- Storage tier
--encoding <M>+<N>
-
Storage erasure encoding mapping in the format:
M
: number of data blocksN
: number of parity blocks
--failure-domain {0,1,2,3,4}
- Storage failure domain
--replicas <norm>[:<min>]
-
Storage replication mapping in the format:
norm
: number of replicas to maintainmin
: minimum required number of replicas (optional)
--write-bytes-sec <limit>
- Number of bytes written per second
--read-bytes-sec <limit>
- Number of bytes read per second
--read-iops-sec <limit>
- Number of read operations per second
--write-iops-sec <limit>
- Number of write operations per second
--total-bytes-sec <bytes>
- Total number of bytes per second
--total-iops-sec <iops>
- Total number of I/O operations per second
<name>
- Storage policy name
For example, to create a storage policy mystorpolicy
with the tier 3, erasure coding 3+2 scheme, host failure domain, and the limits of 100 IOPS and 104857600 bytes per second, run:
# vinfra service compute storage-policy create mystorpolicy --tier 3 \ --encoding 3+2 --failure-domain 1 --total-bytes-sec 104857600 --total-iops-sec 100
The created storage policy will appear in the vinfra service compute storage-policy list
output:
# vinfra service compute storage-policy list +-------------+--------------+------+--------------+----------------+--------------------------------+ | id | name | tier | redundancy | failure_domain | qos | +-------------+--------------+------+--------------+----------------+--------------------------------+ | 97b55811<…> | mystorpolicy | 3 | encoding=3+2 | 1 | read_bytes_sec: -1 | | | | | | | read_bytes_sec_per_gb: -1 | | | | | | | read_bytes_sec_per_gb_min: -1 | | | | | | | read_iops_sec: -1 | | | | | | | read_iops_sec_per_gb: -1 | | | | | | | read_iops_sec_per_gb_min: -1 | | | | | | | total_bytes_sec: 104857600 | | | | | | | total_bytes_sec_per_gb: -1 | | | | | | | total_bytes_sec_per_gb_min: -1 | | | | | | | total_iops_sec: 100 | | | | | | | total_iops_sec_per_gb: -1 | | | | | | | total_iops_sec_per_gb_min: -1 | | | | | | | write_bytes_sec: -1 | | | | | | | write_bytes_sec_per_gb: -1 | | | | | | | write_bytes_sec_per_gb_min: -1 | | | | | | | write_iops_sec: -1 | | | | | | | write_iops_sec_per_gb: -1 | | | | | | | write_iops_sec_per_gb_min: -1 | | 603bd56b<…> | default | 0 | replicas=3 | 1 | read_bytes_sec: -1 | | | | | | | read_bytes_sec_per_gb: -1 | | | | | | | read_bytes_sec_per_gb_min: -1 | | | | | | | read_iops_sec: -1 | | | | | | | read_iops_sec_per_gb: -1 | | | | | | | read_iops_sec_per_gb_min: -1 | | | | | | | total_bytes_sec: -1 | | | | | | | total_bytes_sec_per_gb: -1 | | | | | | | total_bytes_sec_per_gb_min: -1 | | | | | | | total_iops_sec: -1 | | | | | | | total_iops_sec_per_gb: -1 | | | | | | | total_iops_sec_per_gb_min: -1 | | | | | | | write_bytes_sec: -1 | | | | | | | write_bytes_sec_per_gb: -1 | | | | | | | write_bytes_sec_per_gb_min: -1 | | | | | | | write_iops_sec: -1 | | | | | | | write_iops_sec_per_gb: -1 | | | | | | | write_iops_sec_per_gb_min: -1 | +-------------+--------------+------+--------------+----------------+--------------------------------+
To clone a storage policy
- On the Compute > Storage > Storage policies tab, select a policy from the list.
- On the policy right pane, click Clone.
-
Modify the existing parameters or just leave them as they are, and then click Clone.