From 024efeb6d4359128bc30c73855a8e10a846dc403 Mon Sep 17 00:00:00 2001 From: Yuan Zhou Date: Thu, 23 Oct 2014 13:27:45 +0800 Subject: [PATCH] EC: document the LRC per layer plugin configuration LRC now uses Jerasure as the default EC backend. But it is actually possible to switch to other backend like Isa using the low level configuration. This commits Adds documents on how to specify the EC backend in each LRC layer: Signed-off-by: Yuan Zhou --- doc/rados/operations/erasure-code-lrc.rst | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/doc/rados/operations/erasure-code-lrc.rst b/doc/rados/operations/erasure-code-lrc.rst index 17500c85b57a..112abfa868b8 100644 --- a/doc/rados/operations/erasure-code-lrc.rst +++ b/doc/rados/operations/erasure-code-lrc.rst @@ -226,6 +226,36 @@ OSD is in the same rack as the lost chunk.:: ]' $ ceph osd pool create lrcpool 12 12 erasure LRCprofile +Testing with different Erasure Code backends +-------------------------------------------- + +LRC now uses jerasure as the default EC backend. It is possible to +specify the EC backend/algorithm on a per layer basis using the low +level configuration. The second argument in layers='[ [ "DDc", "" ] ]' +is actually an erasure code profile to be used for this level. The +example below specifies the ISA backend with the cauchy technique to +be used in the lrcpool.:: + + $ ceph osd erasure-code-profile set LRCprofile \ + plugin=lrc \ + mapping=DD_ \ + layers='[ [ "DDc", "plugin=isa technique=cauchy" ] ]' + $ ceph osd pool create lrcpool 12 12 erasure LRCprofile + +You could also use a different erasure code profile for for each +layer.:: + + $ ceph osd erasure-code-profile set LRCprofile \ + plugin=lrc \ + mapping=__DD__DD \ + layers='[ + [ "_cDD_cDD", "plugin=isa technique=cauchy" ], + [ "cDDD____", "plugin=isa" ], + [ "____cDDD", "plugin=jerasure" ], + ]' + $ ceph osd pool create lrcpool 12 12 erasure LRCprofile + + Erasure coding and decoding algorithm ===================================== -- 2.47.3