Erasure code is implemented by creating a Ceph pool of the type erasure. This pool is based on an erasure code profile that defines erasure-coding characteristics. We will first create an erasure code profile, and then we will create an erasure-coded pool based on this profile.
The command mentioned in this recipe will create an erasure code profile with the name EC-profile, which will have characteristics of k=3 and m=2, which are the numbers of data and coding chunks respectively. So, every object that is stored in the erasure-coded pool will be divided into 3 (k) data chunks, and 2 (m) additional coding chunks are added to them, making a total of 5 (k + m) chunks. Finally, these 5 (k + m) chunks are spread across different OSD failure zones.
Create the erasure code profile:
# ceph osd erasure-code-profile set EC-profile rulesetfailure-domain=osd k=3 m=2
List the profile:
# ceph osd erasure-code-profile ls
Get the contents of your erasure code...