添加存储节点后重新平衡擦除编码数据
添加存储节点后,您可以使用擦除编码 (EC) 重新平衡程序在现有存储节点和新存储节点之间重新分配擦除编码片段。
-
您已完成添加新存储节点的扩展步骤。
-
您已审阅"重新平衡擦除编码数据的注意事项"。
-
您了解此过程不会移动复制的对象数据,并且 EC 重新平衡过程在确定将擦除编码数据移动到何处时不会考虑每个存储节点上的复制数据使用情况。
-
你有 `Passwords.txt`文件。
在开始该过程之前,请注意以下事项:
-
如果一个或多个卷处于脱机(未安装)状态,或者处于联机(已安装)但处于错误状态,则 EC 重新平衡过程将不会启动。
-
EC 重新平衡程序暂时保留了大量存储空间。存储警报可能会被触发,但会在重新平衡完成时解决。如果没有足够的存储空间用于预留,EC 重新平衡程序将会失败。当 EC 重新平衡过程完成时,无论该过程失败还是成功,都会释放存储预留。
-
如果在 EC 重新平衡过程进行过程中卷离线,则重新平衡过程将终止。任何已移动的数据片段将保留在新位置,并且不会丢失任何数据。
所有卷恢复在线后,您可以重新运行该过程。
-
当 EC 重新平衡过程运行时,ILM 操作和 S3 客户端操作的性能可能会受到影响。
如果 S3 API 上传对象(或对象部分)的操作需要超过 24 小时才能完成,则在 EC 重新平衡过程中,这些操作可能会失败。如果适用的 ILM 规则在摄取时使用平衡或严格放置,则长时间的 PUT 操作将会失败。会报如下错误: 500 Internal Server Error
。 -
在此过程中,所有节点的存储容量限制为 80%。超过此限制但仍存储在目标数据分区以下的节点将被排除在外:
-
场地不平衡值
-
任何工作完成条件
目标数据分区是通过将站点的总数据除以节点数来计算的。
-
-
工作完成条件。当以下任一情况成立时,EC 重新平衡程序即视为完成:
-
它无法再移动任何擦除编码数据。
-
所有节点中的数据与目标数据分区的偏差在5%以内。
-
该程序已运行30天。
-
-
-
选择*NODES*。
-
选择站点中的第一个存储节点。
-
选择“存储”选项卡。
-
将光标放在“已用存储 - 对象数据”图表上,查看存储节点上当前复制的数据量和擦除编码数据量。
-
重复这些步骤以查看站点上的其他存储节点。
-
-
登录到主管理节点:
-
输入以下命令:
ssh admin@primary_Admin_Node_IP
-
输入 `Passwords.txt`文件。
-
输入以下命令切换到root:
su -
-
输入 `Passwords.txt`文件。
当您以 root 身份登录时,提示符将从
$`到 `#
。
-
-
启动程序:
`重新平衡数据启动 --site "site-name"
对于“site-name”,指定您添加新存储节点或节点的第一个站点。括 `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 重新平衡操作仍在运行。您应该定期监视该过程直至其完成。使用 `Site Imbalance`值来评估站点存储节点之间的擦除码数据使用不平衡程度。该值的范围是 1.0 到 0,其中 0 表示擦除编码数据的使用在站点的所有存储节点之间完全平衡。
当所有节点中的数据与目标数据分区的偏差在 5% 以内时,EC 重新平衡作业即被视为完成并将停止。
-
-
如果 EC 重新平衡过程产生的负载过大(例如,摄取操作受到影响),请暂停该过程。
rebalance-data pause --job-id job-id
-
如果您需要终止 EC 重新平衡过程(例如,以便执行StorageGRID软件升级),请输入以下内容:
rebalance-data terminate --job-id job-id
当您终止 EC 重新平衡过程时,任何已移动的数据片段仍保留在新位置。数据不会移回原始位置。 -
如果您在多个站点使用擦除编码,请对所有其他受影响的站点运行此过程。