Creating a new erasure-code-profile
Learn how to create a new erasure code profile.
To create a new erasure code profile, use the following syntax, with the value information provided in Table 1.
ceph osd erasure-code-profile set NAME \
[<directory=DIRECTORY>] \
[<plugin=PLUGIN>] \
[<stripe_unit=STRIPE_UNIT>] \
[<CRUSH_DEVICE_CLASS>]\
[<CRUSH_FAILURE_DOMAIN>]\
[<key=value> ...] \
[--force]
| Value | Description | Type | Required | Default |
|---|---|---|---|---|
directory |
Set the directory name from which the erasure code plug-in is loaded. | String | No. | /usr/lib/ceph/erasure-code |
plugin |
Use the erasure code plug-in to compute coding chunks and recover missing details. For more information, see Erasure code plugins. | String | No. | isa (for new clusters created on Ceph 9.0 or later),
Jerasure |
stripe_unit |
The amount of data in a data chunk, per stripe. For example, a profile with 2 data chunks and stripe_unit=4K would put the range 0-4K in chunk 0, 4K-8K in chunk 1, then 8K-12K in chunk 0 again. This should be a multiple of 4K for best performance. The default value is taken from the monitor config option osd_pool_erasure_code_stripe_unit when a pool is created. The stripe_width of a pool using this profile will be the number of data chunks multiplied by this stripe_unit. |
String | No. | 4K |
crush-device-class |
The device class, such as hdd or ssd. |
String | No. | none, meaning CRUSH uses all devices regardless of class. |
crush-failure-domain |
The failure domain, such as host or rack. |
String | No. | host |
key |
The semantic of the remaining key-value pairs is defined by the erasure code plug-in. | String | No. | N/A |
--force |
Override an existing profile by the same name. | String | No. | N/A |
Note: The plugin default depends on how the cluster was created. New 9.0 clusters use ISA-L; upgraded clusters continue with Jerasure unless specified otherwise.