ISA 纠删码插件¶
isa 插件封装了 ISA 库。它只能运行在 Intel 处理器上。
创建 isa 配置¶
要新建 isa 纠删码配置:
ceph osd erasure-code-profile set {name} \
plugin=isa \
technique={reed_sol_van|cauchy} \
[k={data-chunks}] \
[m={coding-chunks}] \
[crush-root={root}] \
[crush-failure-domain={bucket-type}] \
[crush-device-class={device-class}] \
[directory={directory}] \
[--force]
其中:
k={data chunks}
- 描述
各对象都被分割为数据块,分别存储于不同 OSD 。
- 类型
Integer
- 是否必需
No.
- 默认值
7
m={coding-chunks}
- 描述
计算各对象的编码块、并存储于不同 OSD 。编码块的数量等同于在不丢数据的前提下允许同时失效的 OSD 数量。
- 类型
Integer
- 是否必需
No.
- 默认值
3
technique={reed_sol_van|cauchy}
- 描述
ISA 插件包含两种 Reed Solomon 编码形式。设置为 reed_sol_van 表示用 Vandermonde 算法,设置为 cauchy 表示用 Cauchy 算法。
- 类型
String
- 是否必需
No.
- 默认值
reed_sol_van
crush-root={root}
- 描述
CRUSH 规则(如 step take default )第一步要用的 crush 桶的名字。
- 类型
String
- 是否必需
No.
- 默认值
default
crush-failure-domain={bucket-type}
- 描述
确保两个编码块不会存在于同一故障域的桶中。比如,假设故障域是 host ,就不会有两个编码块存储到同一主机;此值用于在 CRUSH 规则中创建类似 step chooseleaf host 的步骤。
- 类型
String
- 是否必需
No.
- 默认值
host
crush-device-class={device-class}
- 描述
使归置限于指定的设备类(比如
ssd
或hdd
)之内,在 CRUSH 图里使用设备类的名字。- 类型
String
- 是否必需
No.
- 默认值
directory={directory}
- 描述
设置纠删码插件的路径,需是目录。
- 类型
String
- 是否必需
No.
- 默认值
/usr/lib/ceph/erasure-code
--force
- 描述
覆盖同名配置。
- 类型
String
- 是否必需
No.