当前位置: 首页 > 文档资料 > Ceph 中文文档 >

Jerasure 纠删码插件

优质
小牛编辑
137浏览
2023-12-01

jerasure 插件是最通用、最灵活的插件,也是 Ceph 纠删码存储池的默认插件。

jerasure 插件封装了 Jerasure 库,要想更好地理解各参数,建议您仔细阅读 jerasure 文档。

创建 jerasure 配置

要新建 jerasure 纠删码配置:

ceph osd erasure-code-profile set {name} \
     plugin=jerasure \
     k={data-chunks} \
     m={coding-chunks} \
     technique={reed_sol_van|reed_sol_r6_op|cauchy_orig|cauchy_good|liberation|blaum_roth|liber8tion} \
     [ruleset-root={root}] \
     [ruleset-failure-domain={bucket-type}] \
     [directory={directory}] \
     [--force]

其中:

k={data chunks}

描述:各对象都被分割为数据块,分别存储于不同 OSD 。
类型:Integer
是否必需:Yes.
实例:4

m={coding-chunks}

描述:计算各对象的编码块、并存储于不同 OSD 。编码块的数量等同于在不丢数据的前提下允许同时失效的 OSD 数量。
类型:Integer
是否必需:Yes.
实例:2

technique={reed_sol_van|reed_sol_r6_op|cauchy_orig|cauchy_good|liberation|blaum_roth|liber8tion}

描述:reed_sol_van 技术更灵活:它足以设置 km 值。 cauchy_good 技术更快,但你得谨慎地选择 packetsize 值。 reed_sol_r6_opliberationblaum_rothliber8tion 都是与 RAID6 等价的技术,它们只能配置为 m=2
类型:String
是否必需:No.
默认值:reed_sol_van

packetsize={bytes}

描述:bytes 大小的包为单位进行编码。确定合适的包尺寸很难, jerasure 文档对此有很详细的描述。
类型:Integer
是否必需:No.
默认值:2048

ruleset-root={root}

描述:规则集的第一步所用的 crush 桶的名字,例如 step take default
类型:String
是否必需:No.
默认值:default

ruleset-failure-domain={bucket-type}

描述:确保两个数据块不会存储到同一故障域中的桶里。例如,假设故障域是 host ,那么两个数据块就不会存储到同一主机。它被用于创建规则集阶梯,如 step chooseleaf host
类型:String
是否必需:No.
默认值:host

directory={directory}

描述:设置纠删码插件的路径,需是目录
类型:String
是否必需:No.
默认值:/usr/lib/ceph/erasure-code

--force

描述:覆盖同名配置。
类型:String
是否必需:No.