什么是纠删编码方案?
纠删编码方案可控制为每个对象创建的数据片段数量和奇偶校验片段数量。
在为ILM规则配置纠删编码配置文件时、您可以根据计划使用的存储池中的存储节点和站点数量选择可用的纠删编码方案。
StorageGRID 系统使用 Reed-Solomon 纠删编码算法。算法会将对象切片到 k
数据片段和数据的统计数据 m
奇偶校验片段。。 k + m = n
片段分布在各处 n
用于提供数据保护的存储节点。一个对象最多可支持 m
碎片丢失或损坏。检索或修复对象, k
需要片段。
如果要为创建经过删除编码的副本的规则选择要使用的存储池、请对存储池使用以下准则:
-
存储池必须包含三个或更多站点,或者只包含一个站点。
如果存储池包含两个站点、则不能使用纠删编码。 -
请勿使用包含默认站点"所有站点"的存储池。
-
存储池应至少包含
k+m +1
存储节点。所需的最小存储节点数为
k+m
。但是,如果所需的存储节点暂时不可用,则至少添加一个存储节点有助于防止载入失败或 ILM 回退。
纠删编码方案的存储开销是通过除奇偶校验片段数计算得出的 (m
) (k
)。您可以使用存储开销计算每个擦除编码对象所需的磁盘空间量:
disk space = object size + (object size * storage overhead)
例如,如果使用 4+2 方案存储一个 10 MB 的对象(存储开销为 50% ),则该对象将占用 15 MB 的网格存储。如果使用 6+2 方案存储同一个 10 MB 对象(存储开销为 33% ),则该对象将占用大约 13.3 MB 的空间。
选择总值最低的纠删编码方案 k+m
满足您的需求。片段数量较少的纠删编码方案在计算上总体上更高效、因为每个对象创建和分布(或检索)的片段较少、片段大小较大、性能较高、并且在需要更多存储时、扩展中添加的节点较少。(有关规划存储扩展的信息、请参见 "扩展 StorageGRID 的说明")
包含三个或更多站点的存储池的纠删编码方案
下表介绍了 StorageGRID 当前支持的纠删编码方案,该方案适用于包含三个或更多站点的存储池。所有这些方案都提供站点丢失保护。一个站点可能会丢失,但对象仍可访问。
对于可提供站点丢失保护的纠删编码方案、存储池中建议的存储节点数超过 k+m +1
因为每个站点至少需要三个存储节点。
纠删编码方案( k+m ) | 已部署站点的最小数量 | 每个站点的建议存储节点数 | 建议的存储节点总数 | 站点丢失保护? | 存储开销 |
---|---|---|---|---|---|
4+2 |
3. |
3. |
9 |
是的。 |
50% |
6+2 |
4. |
3. |
12 |
是的。 |
33% |
8+2 |
5. |
3. |
15 |
是的。 |
25% |
6+3. |
3. |
4. |
12 |
是的。 |
50% |
9+3. |
4. |
4. |
16. |
是的。 |
33% |
2+1 |
3. |
3. |
9 |
是的。 |
50% |
4+1 |
5. |
3. |
15 |
是的。 |
25% |
6+1 |
7. |
3. |
21 |
是的。 |
17% |
7+5. |
3. |
5. |
15 |
是的。 |
71% |
StorageGRID 要求每个站点至少有三个存储节点。要使用 7+5 方案,每个站点至少需要四个存储节点。建议每个站点使用五个存储节点。 |
在选择提供站点保护的纠删编码方案时,请平衡以下因素的相对重要性:
-
* 碎片数量 * :当碎片总数减少时,性能和扩展灵活性通常会提高。
-
容错:容错功能通过增加奇偶校验段(即、何时
m
具有更高的值。) -
网络流量:从故障中恢复时、使用包含更多片段的方案(即、的总流量较高)
k+m
)创建更多网络流量。 -
* 存储开销 * :开销较高的方案需要每个对象更多的存储空间。
例如,在选择 4+2 方案和 6+3 方案(两者都有 50% 的存储开销)时,如果需要额外的容错功能,请选择 6+3 方案。如果网络资源受限,请选择 4+2 方案。如果所有其他因素相等,请选择 4+2 ,因为其碎片总数较低。
如果您不确定要使用的方案,请选择 4+2 或 6+3 ,或者联系技术支持。 |
单站点存储池的纠删编码方案
单站点存储池支持为三个或更多站点定义的所有纠删编码方案,但前提是该站点具有足够的存储节点。
所需的最小存储节点数为 k+m
、但具有的存储池 k+m +1
建议使用存储节点。例如, 2+1 纠删编码方案要求一个存储池至少包含三个存储节点,但建议使用四个存储节点。
纠删编码方案( k+m ) | 存储节点的最小数量 | 建议的存储节点数 | 存储开销 |
---|---|---|---|
4+2 |
6. |
7. |
50% |
6+2 |
8. |
9 |
33% |
8+2 |
10 |
11. |
25% |
6+3. |
9 |
10 |
50% |
9+3. |
12 |
13 |
33% |
2+1 |
3. |
4. |
50% |
4+1 |
5. |
6. |
25% |
6+1 |
7. |
8. |
17% |
7+5. |
12 |
13 |
71% |