什么是纠删编码方案
为 ILM 规则配置纠删编码配置文件时,您可以根据计划使用的存储池中的存储节点和站点数量选择可用的纠删编码方案。纠删编码方案可控制为每个对象创建的数据片段数量和奇偶校验片段数量。
StorageGRID 系统使用 Reed-Solomon 纠删编码算法。该算法会将对象分段为 k 数据片段,并计算 m 奇偶校验片段。k + m = n 个片段分布在 n 个存储节点上,以提供数据保护。一个对象最多可承受丢失或损坏的碎片。检索或修复对象需要 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% |