Creating an EC Datastore
Warning
The following Erasure Coding profiles are the only officially supported HyperCloud EC profiles:
* 4 + 2 (k = 4, m = 2) (66.67% Storage Efficiency)
* 8 + 4 (k = 8, m = 4) (66.67% Storage Efficiency)
* 8 + 3 (k = 3, m = 3) (72.73% Storage Efficiency)
For best resiliency, SoftIron recommends k + m + 1, which allows recovery in the case where a whole storage node goes offline. Setting m to a value of 2 will create a system with minimum robustness and increase the risk of inaccessibility.
Danger
The CRUSH failure domain of host is the only supported configuration.
Warning
Deviation from these configurations incurs risk of cluster failure.
This process is manually accomplished via the CLI. To create a storage backend pool, you will need to ssh into the dashboard VM and run the following commands:
root@hypercloud-dashboard:~# storage osd erasure-code-profile set ec83 k=8 m=3 crush-failure-domain=host
root@hypercloud-dashboard:~# storage osd pool create ec83 2048 2048 erasure ec83
pool 'ec83' created
root@hypercloud-dashboard:~# storage osd pool set ec83 allow_ec_overwrites true
set pool 12 allow_ec_overwrites to true
root@hypercloud-dashboard:~# image pool init --pool ec83
root@hypercloud-dashboard:~# storage osd pool create ecdata
pool 'ecdata' created
root@hypercloud-dashboard:~# storage osd pool set ecdata size 3
set pool 13 size to 3
root@hypercloud-dashboard:~# storage osd pool application enable ecdata image
enabled application 'image' on pool 'ecdata'
Warning
If image is not enabled on the ecdata pool, the following warning from storage -s will occur:
After this initial setup, you will then create a template:
- Navigate to
/dashboard/staging/tmp -
Create a file for the template (e.g.
tmp.tmpl) -
Create a second template file (e.g.
tmp.tmpl2) -
Run the following commands to create the templates for the datastore:
-
The newly created datastore is now available for use.