Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

StorageGRID 中纠删编码的优势、劣势和要求

在决定是否使用复制或纠删编码来保护对象数据免受丢失之前,您应该了解纠删编码的优缺点和要求。

纠删码的优势

与复制相比,纠删码提高了可靠性、可用性和存储效率。

  • 可靠性:通过在不丢失数据的情况下可以承受的并发故障数量来衡量。

    • 复制:多个相同的对象副本存储在不同节点和站点上。

    • 纠删码:对象被编码为数据和奇偶校验片段,并分布在许多节点和站点上。此分散提供站点和节点故障保护。

  • 可用性:在存储节点出现故障或无法访问时获取对象的能力。与复制相比,纠删编码以相当的存储成本提供了更高的可用性。

  • 存储效率:为了获得相似的可用性和可靠性,纠删码对象比复制对象使用更少的磁盘空间。例如,复制到两个站点的 10 MB 对象会消耗 20 MB 的磁盘空间(两个副本),而使用 6+3 纠删码方案跨三个站点进行纠删码的对象只会消耗 15 MB 的磁盘空间。

    备注 擦除编码对象的磁盘空间计算为对象大小加上存储开销。存储开销百分比是奇偶校验片段数除以数据片段数。

纠删码的缺点

与复制相比,擦除编码具有以下缺点:

  • 建议增加存储节点和站点的数量,具体取决于纠删码方案。相比之下,如果复制对象数据,则每个副本只需要一个存储节点。请参阅 "包含三个或更多站点的存储池的擦除编码方案""单站点存储池的纠删码方案"

  • 存储扩展的成本和复杂性增加。若要扩展使用复制的部署,请在生成对象副本的每个位置添加存储容量。要扩展使用擦除编码的部署,必须考虑正在使用的擦除编码方案以及现有存储节点的完整程度。例如,如果等待现有节点 100% 满,则必须至少添加 `k+m`存储节点,但如果在现有节点 70% 满时进行扩展,则可以为每个站点添加两个节点,并最大限度地提高可用存储容量。有关详细信息,请参见"为纠删码对象添加存储容量"

  • 当您跨地理位置分散的站点使用纠删码时,检索延迟会增加。通过 WAN 连接检索经过纠删码编码并分布在远程站点上的对象片段,比检索已复制且在本地可用的对象(即客户端所连接的同一站点)需要更长的时间。

  • 当您跨地理位置分散的站点使用纠删码时,用于检索和修复的 WAN 网络流量使用率较高,特别是对于频繁检索的对象或通过 WAN 网络连接进行的对象修复。

  • 当您跨站点使用纠删码时,随着站点之间的网络延迟增加,最大对象吞吐量急剧下降。这种下降是 TCP 网络吞吐量下降的结果,这会影响 StorageGRID 系统存储和检索对象片段的速度。

  • 计算资源使用率更高。

何时使用擦除编码

对以下要求使用擦除编码:

  • 大于 1 MB 的对象。

    备注 纠删码最适合大于 1 MB 的对象。不要对小于 200 KB 的对象使用纠删码,以避免管理极小纠删码片段所带来的开销。
  • 针对不常检索的内容进行长期或冷存储。

  • 高数据可用性和可靠性。

  • 针对完整站点和节点故障的保护。

  • 存储效率。

  • 需要通过单个纠删码副本而非多个复制副本实现高效数据保护的单站点部署。

  • 站点间延迟小于 100 ms 的多站点部署。