将对象数据恢复到系统驱动器完好的存储卷
在系统驱动器完好的存储节点上恢复存储卷后,您可以还原存储卷发生故障时丢失的复制或擦除编码对象数据。
我应该使用哪种程序?
只要有可能,就使用网格管理器中的*体积恢复*页面恢复对象数据。
-
如果卷列在 维护 > 卷恢复 > 要恢复的节点 中,请使用"网格管理器中的卷恢复页面"。
-
如果卷未在“维护 > 卷恢复 > 要恢复的节点”中列出,请按照以下步骤使用 `repair-data`脚本来恢复对象数据。
如果恢复的存储节点包含的卷少于它所替换的节点,则必须使用 `repair-data`脚本。
|
修复数据脚本已弃用,并将在未来版本中删除。如果可能,请使用"网格管理器中的卷恢复过程"。 |
使用 `repair-data`恢复对象数据的脚本
-
您已确认恢复的存储节点的连接状态为*已连接*
在网格管理器中的 NODES > Overview 选项卡上。
假设网格的 ILM 规则已配置为可以使用对象副本,则可以从其他存储节点或云存储池恢复对象数据。
请注意以下事项:
-
如果 ILM 规则配置为仅存储一个复制副本,并且该副本存在于发生故障的存储卷上,则您将无法恢复该对象。
-
如果对象的唯一剩余副本位于云存储池中,StorageGRID必须向云存储池端点发出多个请求来恢复对象数据。在执行此过程之前,请联系技术支持以获取帮助,以估计恢复时间范围和相关成本。
关于 `repair-data`脚本
要恢复对象数据,请运行 `repair-data`脚本。该脚本开始恢复对象数据的过程并与 ILM 扫描配合使用以确保满足 ILM 规则。
选择下面的*复制数据*或*擦除编码 (EC) 数据*来了解不同的选项 `repair-data`脚本,取决于您要恢复复制的数据还是擦除编码的数据。如果需要恢复两种类型的数据,则必须运行两组命令。
|
有关 `repair-data`脚本,输入 `repair-data --help`从主管理节点的命令行。 |
|
修复数据脚本已弃用,并将在未来版本中删除。如果可能,请使用"网格管理器中的卷恢复过程"。 |
根据您是否需要修复整个节点或仅修复节点上的某些卷,有两个命令可用于恢复复制的数据:
repair-data start-replicated-node-repair
repair-data start-replicated-volume-repair
您可以使用以下命令跟踪复制数据的修复:
repair-data show-replicated-repair-status
根据您是否需要修复整个节点或仅修复节点上的某些卷,有两个命令可用于恢复擦除编码数据:
repair-data start-ec-node-repair
repair-data start-ec-volume-repair
您可以使用以下命令跟踪擦除编码数据的修复:
repair-data show-ec-repair-status
|
当某些存储节点处于离线状态时,可以开始修复擦除编码数据。然而,如果无法解释所有擦除编码数据,则无法完成修复。所有节点可用后修复将完成。 |
|
EC修复工作暂时预留了大量存储空间。存储警报可能会被触发,但修复完成后就会解决。如果没有足够的存储空间用于预留,EC 修复作业将会失败。无论 EC 修复作业失败还是成功,存储预留都会在作业完成时释放。 |
查找存储节点的主机名
-
登录到主管理节点:
-
输入以下命令:
ssh admin@primary_Admin_Node_IP
-
输入 `Passwords.txt`文件。
-
输入以下命令切换到root:
su -
-
输入 `Passwords.txt`文件。
当您以 root 身份登录时,提示符将从
$`到 `#
。
-
-
使用
/etc/hosts`文件来查找已恢复存储卷的存储节点的主机名。要查看网格中所有节点的列表,请输入以下内容: `cat /etc/hosts
。
如果所有卷都发生故障,请修复数据
如果所有存储卷都发生故障,则修复整个节点。根据您使用的是复制数据、擦除编码 (EC) 数据还是两者,按照*复制数据*、*擦除编码 (EC) 数据*或两者的说明进行操作。
如果只有部分卷发生故障,请转至[如果只有部分卷发生故障,请修复数据]。
|
你不能跑 `repair-data`同时对多个节点进行操作。要恢复多个节点,请联系技术支持。 |
如果您的网格包含复制数据,请使用 `repair-data start-replicated-node-repair`命令 `--nodes`选项,其中 `--nodes`是主机名(系统名称),用于修复整个存储节点。
此命令修复名为 SG-DC-SN3 的存储节点上的复制数据:
repair-data start-replicated-node-repair --nodes SG-DC-SN3
|
当对象数据恢复时,如果StorageGRID系统无法找到复制的对象数据,则会触发“对象丢失”警报。整个系统的存储节点可能会触发警报。您应该确定损失的原因以及是否可以恢复。看"调查丢失的物品" 。 |
如果您的网格包含擦除编码数据,请使用 `repair-data start-ec-node-repair`命令 `--nodes`选项,其中 `--nodes`是主机名(系统名称),用于修复整个存储节点。
此命令修复名为 SG-DC-SN3 的存储节点上的擦除编码数据:
repair-data start-ec-node-repair --nodes SG-DC-SN3
该操作返回一个唯一的 `repair ID`识别这个 `repair_data`手术。使用这个 `repair ID`跟踪进展和结果 `repair_data`手术。恢复过程完成后不会返回任何其他反馈。
当某些存储节点处于离线状态时,可以开始修复擦除编码数据。所有节点可用后修复将完成。
如果只有部分卷发生故障,请修复数据
如果只有部分卷发生故障,请修复受影响的卷。根据您使用的是复制数据、擦除编码 (EC) 数据还是两者,按照*复制数据*、*擦除编码 (EC) 数据*或两者的说明进行操作。
如果所有卷都失败,请转至[如果所有卷都发生故障,请修复数据]。
以十六进制输入卷 ID。例如, `0000`是第一卷, `000F`是第十六卷。您可以指定一个卷、一系列卷或不在一个序列中的多个卷。
所有卷必须位于同一个存储节点上。如果需要恢复多个存储节点的卷,请联系技术支持。
如果您的网格包含复制数据,请使用 `start-replicated-volume-repair`命令 `--nodes`识别节点的选项(其中 `--nodes`是节点的主机名)。然后添加 `--volumes`或者 `--volume-range`选项,如以下示例所示。
单个卷:此命令将复制的数据恢复到卷 `0002`在名为 SG-DC-SN3 的存储节点上:
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0002
卷范围:此命令将复制的数据恢复到范围内的所有卷 `0003`到 `0009`在名为 SG-DC-SN3 的存储节点上:
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volume-range 0003,0009
多个卷不在序列中:此命令将复制的数据还原到卷 0001
, 0005
, 和 `0008`在名为 SG-DC-SN3 的存储节点上:
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0001,0005,0008
|
当对象数据恢复时,如果StorageGRID系统无法找到复制的对象数据,则会触发“对象丢失”警报。整个系统的存储节点可能会触发警报。请注意警报描述和建议的操作,以确定丢失的原因以及是否可以恢复。 |
如果您的网格包含擦除编码数据,请使用 `start-ec-volume-repair`命令 `--nodes`识别节点的选项(其中 `--nodes`是节点的主机名)。然后添加 `--volumes`或者 `--volume-range`选项,如以下示例所示。
单个卷:此命令将擦除编码数据恢复到卷 `0007`在名为 SG-DC-SN3 的存储节点上:
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 0007
卷范围:此命令将擦除编码数据恢复到范围内的所有卷 `0004`到 `0006`在名为 SG-DC-SN3 的存储节点上:
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volume-range 0004,0006
多个卷不在序列中:此命令将擦除编码数据恢复到卷 000A
, 000C
, 和 `000E`在名为 SG-DC-SN3 的存储节点上:
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 000A,000C,000E
这 `repair-data`操作返回唯一的 `repair ID`识别这个 `repair_data`手术。使用这个 `repair ID`跟踪进展和结果 `repair_data`手术。恢复过程完成后不会返回任何其他反馈。
|
当某些存储节点处于离线状态时,可以开始修复擦除编码数据。所有节点可用后修复将完成。 |
显示器维修
根据您使用*复制数据*、*擦除编码 (EC) 数据*还是两者来监控修复作业的状态。
您还可以监控正在进行的卷恢复作业的状态,并查看已完成的恢复作业的历史记录"网格管理器"。
-
要获取重复修复的估计完成百分比,请添加 `show-replicated-repair-status`修复数据命令的选项。
repair-data show-replicated-repair-status
-
要确定修复是否完成:
-
选择 NODES > 正在修复的存储节点 > ILM。
-
查看评估部分中的属性。修复完成后,Awaiting - All 属性指示 0 个对象。
-
-
要更详细地监控修复情况:
-
选择*支持* > 工具 > 网格拓扑。
-
选择 grid > Storage Node being repaired > LDR > Data Store。
-
尽可能结合使用以下属性来确定复制修复是否完整。
Cassandra 可能存在不一致,并且无法跟踪失败的修复。 -
尝试修复 (XRPA):使用此属性来跟踪重复修复的进度。每次存储节点尝试修复高风险对象时,此属性都会增加。当此属性在比当前扫描周期(由*扫描周期-估计*属性提供)更长的时间内没有增加时,表示 ILM 扫描未在任何节点上发现需要修复的高风险对象。
高风险物体是指有完全丢失风险的物体。这不包括不满足其 ILM 配置的对象。 -
扫描周期——估计(XSCM):使用此属性来估计何时将策略更改应用于先前摄取的对象。如果“尝试修复”属性在比当前扫描周期更长的时间内没有增加,则很可能进行了重复修复。请注意,扫描周期可能会发生变化。 扫描周期——估计 (XSCM) 属性适用于整个网格,并且是所有节点扫描周期的最大值。您可以查询网格的*扫描周期——估计*属性历史记录来确定适当的时间范围。
-
-
要监控擦除编码数据的修复并重试任何可能失败的请求:
-
确定擦除编码数据修复的状态:
-
选择 SUPPORT > Tools > Metrics 来查看当前作业的预计完成时间和完成百分比。然后,在 Grafana 部分中选择 EC Overview。查看*Grid EC 作业预计完成时间*和*Grid EC 作业完成百分比*仪表板。
-
使用此命令查看特定 `repair-data`手术:
repair-data show-ec-repair-status --repair-id repair ID
-
使用此命令列出所有修复:
repair-data show-ec-repair-status
输出列出信息,包括
repair ID
,适用于所有之前和当前正在进行的维修。 -
-
如果输出显示修复操作失败,请使用 `--repair-id`选项来重试修复。
此命令使用修复 ID 6949309319275667690 重试失败的节点修复:
repair-data start-ec-node-repair --repair-id 6949309319275667690
此命令使用修复 ID 6949309319275667690 重试失败的卷修复:
repair-data start-ec-volume-repair --repair-id 6949309319275667690