将节点添加到 StorageGRID 系统后重新平衡纠删码数据
添加存储节点后,您可以使用纠删码 (EC) 重新平衡操作步骤在现有存储节点和新存储节点之间重新分配纠删编码的片段。
-
您已完成添加新存储节点的扩展步骤。
-
您已审阅 "重新平衡纠删码数据的注意事项"。
-
您已了解,此过程不会移动复制的对象数据,且 EC 重新平衡过程也不会移动复制的数据。但是,在确定将 EC 数据移动到何处时,会考虑复制的数据。
-
您拥有
Passwords.txt文件。
在开始此程序之前,请注意以下事项:
-
如果一个或多个卷处于离线(未挂载)状态,或处于在线(已挂载)但处于错误状态,则 EC 重新平衡过程将不会启动。
-
EC 再平衡程序会暂时保留大量存储空间。可能会触发存储警报,但在重新平衡完成后将自动解除。如果没有足够的存储空间用于预留,EC 再平衡程序将失败。EC 再平衡程序完成后,无论该程序是否失败或成功,存储预留都将被释放。
-
如果卷在 EC 重新平衡过程中转为脱机状态,则重新平衡过程将终止。已移动的任何数据片段都将保留在其新位置,并且不会丢失任何数据。
所有卷恢复联机后,您可以重新运行该程序。
-
当 EC 重新平衡过程运行时,ILM 操作和 S3 客户端操作的性能可能会受到影响。
如果 S3 API 上传对象(或对象部分)的操作需要超过 24 小时才能完成,则在 EC 重新平衡过程中可能会失败。如果适用的 ILM 规则在载入时使用平衡或严格放置,则长时间运行的 PUT 操作将失败。将报告以下错误: 500 Internal Server Error。 -
作业完成条件。如果满足以下条件之一,则认为 EC 再平衡程序已完成:
-
它无法再移动任何擦除编码的数据。
-
所有节点中的数据与目标数据分区的偏差均在5%以内。
-
此程序已运行 30 天。
-
-
-
选择 Nodes。
-
选择站点上的第一个存储节点。
-
选择 Storage 选项卡。
-
将光标放在"已使用的存储 - 对象数据"图表上,以查看存储节点上当前的复制数据和擦除编码数据量。
-
请重复这些步骤以查看站点上的其他存储节点。
-
-
登录到主管理节点:
-
输入以下命令:
ssh admin@primary_Admin_Node_IP -
输入 `Passwords.txt`文件中列出的密码。
-
输入以下命令切换到 root:
su - -
输入 `Passwords.txt`文件中列出的密码。
以 root 身份登录时,提示符将从
$`更改为 `#。
-
-
开始此过程:
`rebalance-data start --site "site-name"
对于 "site-name",指定您添加了新 Storage Node 的第一个站点。将
site-name括在引号中。EC重新平衡过程开始,并返回作业ID。
-
复制作业 ID。
-
-
要查看单个EC再平衡程序的状态:
rebalance-data status --job-id job-id对于
job-id,请指定启动该程序时返回的 ID。 -
要查看当前 EC 再平衡程序和任何先前已完成程序的状态,请执行以下操作:
rebalance-data status
要获得有关 rebalance-data 命令的帮助:
rebalance-data --help -
-
根据返回的状态执行其他步骤:
-
如果
State`为 `In progress,则 EC 重新平衡操作仍处于运行状态。您应定期监控该过程,直至其完成。转到"节点"页面,评估站点中各 Storage Node 的数据分布情况。
当所有节点中的数据与目标数据分区的偏差在 5% 以内时,EC 重新平衡作业将被视为完成并停止。
-
-
如果 EC 重新平衡过程产生过多负载(例如,数据载入操作受到影响),请暂停该过程。
rebalance-data pause --job-id job-id -
如果需要终止 EC 再平衡过程(例如,以便执行 StorageGRID 软件升级),请输入以下内容:
rebalance-data terminate --job-id job-id当您终止 EC 再平衡程序时,任何已移动的数据片段都将保留在其新位置。数据不会移回原始位置。 -
如果要在多个站点使用纠删码,请对所有其他受影响的站点运行此过程。