重新平衡纠删码数据的注意事项
如果您正在执行扩展以添加存储节点,并且使用 ILM 规则来擦除代码数据,则如果您无法为所使用的擦除编码方案添加足够的存储节点,则可能需要执行擦除编码 (EC) 重新平衡过程。
审查完这些考虑因素后,进行扩展,然后转到"添加存储节点后重新平衡擦除编码数据"运行该过程。
什么是 EC 再平衡?
EC 重新平衡是存储节点扩展后可能需要的StorageGRID程序。该过程作为主管理节点的命令行脚本运行。当您运行 EC 重新平衡程序时, StorageGRID会在站点的现有存储节点和新添加的存储节点之间重新分配擦除编码片段。
EC 重新平衡程序:
-
仅移动擦除编码的对象数据。它不会移动复制的对象数据。
-
在站点内重新分配数据。它不会在站点之间移动数据。
-
在站点的所有存储节点之间重新分配数据。它不会在存储卷内重新分配数据。
-
在确定将擦除编码数据移动到何处时,不考虑每个存储节点上的复制数据使用情况。
-
在存储节点之间均匀地重新分配擦除编码数据,而不考虑每个节点的相对容量。
-
不会将擦除编码数据分发到已满 80% 以上的存储节点。
-
运行时可能会降低 ILM 操作和 S3 客户端操作的性能——需要额外的资源来重新分配擦除编码片段。
当 EC 重新平衡过程完成时:
-
擦除编码数据将从可用空间较少的存储节点移动到可用空间较多的存储节点。
-
擦除编码对象的数据保护将保持不变。
-
由于两个原因,存储节点之间的已用 (%) 值可能不同:
-
复制的对象副本将继续消耗现有节点上的空间——EC 重新平衡过程不会移动复制的数据。
-
尽管所有节点最终都会拥有大约相同数量的擦除编码数据,但容量较大的节点相对容量较小的节点来说不太满。
例如,假设三个 200 TB 节点各自填充至 80%(每个节点 200 ÷ 0.8 = 160 TB,或站点 480 TB)。如果您添加一个 400 TB 的节点并运行重新平衡程序,则所有节点现在将具有大约相同数量的擦除码数据(480/4 = 120 TB)。但是,较大节点的使用率 (%) 将小于较小节点的使用率 (%)。
-
何时重新平衡纠删码数据
请考虑以下情形:
-
StorageGRID在单个站点上运行,该站点包含三个存储节点。
-
ILM 策略对所有大于 1.0 MB 的对象使用 2+1 擦除编码规则,对较小的对象使用 2 副本复制规则。
-
所有存储节点都已完全填满。 “低对象存储”警报已触发,严重程度达到“严重”级别。
如果添加足够的节点,则不需要重新平衡
为了了解何时不需要 EC 重新平衡,假设您添加了三个(或更多)新的存储节点。在这种情况下,您不需要执行 EC 重新平衡。原始存储节点将保持满载状态,但新对象现在将使用三个新节点进行 2+1 擦除编码——两个数据片段和一个奇偶校验片段可以分别存储在不同的节点上。

|
虽然在这种情况下您可以运行 EC 重新平衡程序,但移动现有的擦除编码数据将暂时降低网格的性能,这可能会影响客户端操作。 |
如果无法添加足够的节点,则需要重新平衡
为了了解何时需要 EC 重新平衡,假设您只能添加两个存储节点,而不是三个。由于 2+1 方案需要至少三个存储节点才有可用空间,因此空节点不能用于新的擦除编码数据。

要使用新的存储节点,您应该运行 EC 重新平衡程序。当此过程运行时, StorageGRID会在站点的所有存储节点之间重新分配现有的擦除编码数据和奇偶校验片段。在此示例中,当 EC 重新平衡过程完成时,所有五个节点现在仅占 60%,并且对象可以继续被提取到所有存储节点上的 2+1 擦除编码方案中。

EC 再平衡建议
如果以下所有陈述都成立,NetApp需要重新平衡 EC:
-
您对对象数据使用擦除编码。
-
站点上的一个或多个存储节点已触发*低对象存储*警报,表明节点已满 80% 或更多。
-
您无法为正在使用的擦除编码方案添加足够的新存储节点。看"增加擦除编码对象的存储容量" 。
-
当 EC 重新平衡过程运行时,您的 S3 客户端可以容忍其写入和读取操作的较低性能。
如果您希望存储节点填充到相似的水平,并且您的 S3 客户端在 EC 重新平衡过程运行时可以容忍其写入和读取操作的较低性能,则可以选择运行 EC 重新平衡过程。
EC 重新平衡过程如何与其他维护任务交互
您不能在运行 EC 重新平衡程序的同时执行某些维护程序。
操作步骤 | 在 EC 重新平衡过程中允许吗? |
---|---|
额外的 EC 重新平衡程序 |
目标卷 您一次只能运行一个 EC 重新平衡程序。 |
退役程序 EC数据修复工作 |
目标卷
|
扩展程序 |
目标卷 如果需要在扩展中添加新的存储节点,请在添加所有新节点后运行 EC 重新平衡程序。 |
升级过程 |
目标卷 如果需要升级StorageGRID软件,请在运行 EC 重新平衡过程之前或之后执行升级过程。根据需要,您可以终止 EC 重新平衡程序以执行软件升级。 |
设备节点克隆过程 |
目标卷 如果需要克隆设备存储节点,请在添加新节点后运行 EC 重新平衡程序。 |
修补程序 |
是 您可以在 EC 重新平衡过程运行时应用StorageGRID修补程序。 |
其他维护程序 |
目标卷 在运行其他维护程序之前,必须终止 EC 重新平衡程序。 |
EC 重新平衡程序如何与 ILM 交互
在 EC 重新平衡过程运行时,避免进行可能改变现有擦除编码对象位置的 ILM 更改。例如,不要开始使用具有不同擦除编码配置文件的 ILM 规则。如果您需要进行此类 ILM 更改,则应终止 EC 重新平衡程序。