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 Ceph backend pool, you will need to ssh into the dashboard VM and run the following commands:
root@hypercloud-dashboard:~# ceph osd erasure-code-profile set ec83 k=8 m=3 crush-failure-domain=host
root@hypercloud-dashboard:~# ceph osd pool create ec83 2048 2048 erasure ec83
pool 'ec83' created
root@hypercloud-dashboard:~# ceph osd pool set ec83 allow_ec_overwrites true
set pool 12 allow_ec_overwrites to true
root@hypercloud-dashboard:~# rbd pool init --pool ec83
root@hypercloud-dashboard:~# ceph osd pool create ecdata
pool 'ecdata' created
root@hypercloud-dashboard:~# ceph osd pool set ecdata size 3
set pool 13 size to 3
root@hypercloud-dashboard:~# ceph osd pool application enable ecdata rbd
enabled application 'rbd' on pool 'ecdata'
Warning
If rbd
is not enabled on the ecdata
pool, the following warning from ceph -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.