|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
|
这是尚未发布的文档。 SUSE® Storage 1.12 (Dev). |
使用 Rancher 快照将 SUSE® Storage 系统恢复到集群
假定:
-
在恢复之前,集群中*大部分数据和底层磁盘仍然存在*,可以直接重用。
-
有一个备份存储保存所有卷数据。
-
设置
Disable Revision Counter为假。(默认情况下为假。)否则,用户需要手动检查卷副本之间的数据是否一致,或者直接从备份中恢复卷。
期望:
-
所有设置和节点及磁盘配置将被恢复。
-
只要有效数据仍然存在,卷可以在不使用备份的情况下恢复。换句话说,我们将尽量避免恢复备份,这可能有助于减少恢复时间目标(RTO)并节省带宽。
-
只要相关卷在恢复后仍然包含有效副本,就检测无效或不同步的副本。
恢复后的操作
-
为所有节点重启所有 Kubernetes 组件。有关更多详细信息,请参见上述链接。
-
杀死所有 Longhorn Manager pods,然后 Kubernetes 将自动重启它们。等待 Longhorn Manager pods 中的冲突消失。
-
所有卷可能会被重新附加。如果一个 Longhorn 卷被单个 pod 使用,用户需要先关闭然后重新创建它。对于 Deployment 或 StatefulSet,Longhorn 会自动杀死并重启相关的 Pod。
-
如果在快照之后和集群恢复之前发生以下情况:
-
卷没有变化:用户无需做任何事情。
-
数据已更新:用户通常无需做任何事情。Longhorn 会自动失败那些不包含最新数据的副本。
-
创建了一个新卷:此卷将在恢复后消失。用户需要重新创建一个新卷,基于消失卷的副本启动 一个单副本卷,然后将数据转移到新卷。
-
卷被删除:由于在卷被移除时数据被清理,恢复的卷不包含任何数据。用户可能需要重新删除它。
-
对于 DR 卷:用户无需做任何事情。Longhorn 将重新执行完整恢复。
-
对卷应用了一些操作:
-
备份:卷的备份信息应自动重新同步。
-
快照:卷的快照信息在卷附加后应重新同步。
-
副本重建与副本删除:
-
如果有新的副本被重建,这些副本将在恢复后从 Longhorn 系统中消失。用户需要手动清理副本数据,或者使用这些副本的数据目录导出单个副本卷,然后在必要时进行数据恢复。
-
如果有一些失败/删除的副本,并且至少有一个副本保持健康,这些失败/删除的副本将在恢复后返回。然后 Longhorn 可以检测到这些恢复的副本不包含任何数据,并将最新数据从健康副本复制到这些副本。
-
如果在快照后所有副本都被新副本替换,恢复后卷将仅包含无效副本。然后用户需要导出 单个副本卷 以进行数据恢复。
-
-
引擎镜像升级:用户需要重新进行升级。
-
扩展:卷的规格大小将小于当前大小。这就像有人请求卷缩小,但实际上 Longhorn 将拒绝内部处理。要恢复卷,用户需要缩减工作负载并重新进行扩展。
-
-
通知:如果用户不知道如何恢复有问题的卷,最简单的方法始终是从备份恢复一个新卷。
-
-
如果在快照后 Longhorn 系统被升级,新设置和节点配置的修改将消失。用户需要重新进行升级,然后重新修改设置和节点配置。
-
如果在快照后从 Longhorn 系统中删除了一个节点,该节点将不会恢复,但被删除节点上的 Pod 将被恢复。用户需要手动清理它们,因为这些 Pod 可能会卡在状态
Terminating中。 -
如果在快照后将节点添加到 Longhorn 系统,Longhorn 应该在集群恢复后自动重新启动该节点上的所有必要工作负载。但用户应该意识到,在恢复后,该节点上的所有新副本或引擎将会消失。
参考资料
-
相关的 GitHub 问题是 https://github.com/longhorn/longhorn/issues/2228. 在这个 GitHub 帖子中,一位用户提供了一种将 Longhorn 恢复到不包含任何数据的新集群的方法。