注意
本文档适用于 Ceph 的开发版本。
ISA 纠删码插件
isa 插件是 Ceph 纠删码存储池的默认插件。isa 插件封装了 ISA 库。
创建 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}
- 描述:
每个对象被分成 data-chunks 份,每份存储在一个不同的 OSD 上。
- 类型:
整数
- 必需:
否。
- 默认值:
7
m={coding-chunks}
- 描述:
计算每个对象的 coding chunks 并将它们存储在不同的 OSD 上。编码块的数量也是在不丢失数据的情况下可以停止运行的 OSD 数量。
- 类型:
整数
- 必需:
否。
- 默认值:
3
technique={reed_sol_van|cauchy}
- 描述:
ISA 插件有两种 Reed Solomon 形式。如果设置为 reed_sol_van,则是 Vandermonde,如果设置为 cauchy,则是 Cauchy。
- 类型:
String
- 必需:
否。
- 默认值:
reed_sol_van
crush-root={root}
- 描述:
用于 CRUSH 规则第一步的 crush 桶的名称。例如 step take default。
- 类型:
String
- 必需:
否。
- 默认值:
default
crush-failure-domain={bucket-type}
- 描述:
确保没有两个块位于具有相同故障域的桶中。例如,如果故障域是 host,则不会有两个块存储在同一主机上。它用于创建 CRUSH 规则步骤,例如 step chooseleaf host。
- 类型:
String
- 必需:
否。
- 默认值:
host
crush-device-class={device-class}
- 描述:
使用 CRUSH 映射中的 crush 设备类名称将放置限制为特定类的设备(例如,
ssd或hdd)。- 类型:
String
- 必需:
否。
- 默认值:
directory={directory}
- 描述:
设置从中加载纠删码插件的 directory 名称。
- 类型:
String
- 必需:
否。
- 默认值:
/usr/lib/ceph/erasure-code
--force
- 描述:
覆盖具有相同名称的现有配置文件。
- 类型:
String
- 必需:
否。