Core节点恢复后处理流程
假设我们定期对Core节点进行备份,当Core节点出现故障时,我们需要将备份数据恢复到新的Core节点上,但是数据备份只是一个时间点的备份, 在备份之后, 集群可能已经存在一些变化, 并不在备份数据中, 所以在恢复数据后, 还需要进行一些处理, 以保证集群的正常 运行. 注意: 处理备份和实际节点的差异存在风险. 尽量避免在相关节点上有任务的时候进行.
本文档描述以下备份点后的改动处理办法:
恢复前的准备工作
- 如果可以将Core节点暂时脱离网络, 建议在恢复前先断开网络连接, 以避免数据冲突.
- 因为恢复步骤中, 仍然有需求访问管理界面, 所以建议任然需要保留能访问界面的最小网络.
备份后有从集群中移除的节点
在Core节点从备份恢复后, 如果有节点从集群中移除, 这些已经移除的节点会在恢复后, 被认为依然存在于集群中. 这时候如果该节点已经用作其他用途, 则在集群配置过程中, 会重新将该节点纳管. 可能会对该节点上已经承载的业务产生影响. 所以在恢复网络连接前, 需要将该节点从 恢复目标集群(正在进行恢复的集群)中移除.
- 从界面中选择移除这些节点
- 因为网络断开, 无法完成清理操作, 选择"强制移除"
- 等待节点移除完成
- 完成备份恢复, 和集群节点差异后, 可以恢复Core节点网络.
备份后有新加入集群的节点
在Core节点从备份恢复后, 如果有节点加入到集群中, 恢复备份后, 这些新加入集群的节点, 会从管理平台中消失. 这时候如果重新配置集群, 会导致这些新节点被移除, 从而影响业务. 所以在恢复后, 需要将新节点重新加入恢复目标集群(正在进行恢复的集群):
- 使用以下命令将新加入的节点改为
DRAIN
状态, 注意reason设置必须一致, 否则会被重置为IDLE
状态.scontrol update nodename=<node_name> state=DRAIN reason=MAINT:RECOVER
- 等待任务结束后, 恢复Core节点网络, 重新将节点加入集群.