您可以部署第二个 MongoDB Ops Manager 实例(称为从节点(secondary node from replica set) MongoDB Ops Manager),以备份主节点 (primary node in the replica set) MongoDB Ops Manager 及其 后端数据库 。如果主节点 (primary node in the replica set) MongoDB Ops Manager 丢失,从节点(secondary node from replica set) MongoDB Ops Manager 还可作为您的恢复路径。
此模式可以保护 MongoDB Ops Manager 存储在其应用程序数据库和元数据存储中的操作数据。使用本指南设计、配置和运行 MongoDB Ops Manager 本身的灾难恢复。
本指南适用于管理备份和灾难恢复的 Ops Manager 管理员,以及为 Ops Manager 设计高可用性和灾难恢复拓扑的团队。
从节点 Ops Manager 备份的工作原理
在此模式中,两个 MongoDB Ops Manager 实例具有不同的职责:
主节点 (primary node in the replica set) MongoDB Ops Manager 照常托管您的 MongoDB 部署及其备份。
从节点(secondary node from replica set) Ops Manager 仅管理和备份主节点 (primary node in the replica set) Ops Manager 的后端数据库。从节点(secondary node from replica set) Ops Manager 不管理应用程序集群。
MongoDB Agent 在主 Ops Manager 的每个主机上运行 应用程序数据库 并向从 Ops Manager 注册。从 Ops Manager 对这些后端数据库进行连续和时间点备份。
如果主节点 MongoDB Ops Manager 失效,则从从节点 MongoDB Ops Manager 恢复其后端数据库,然后启动新的主节点 MongoDB Ops Manager。主节点 MongoDB Ops Manager 会重新连接到恢复的后端数据库,并恢复对 MongoDB 部署的管理。
重启后,MongoDB 代理重新连接时,会报告比恢复数据库更新的配置版本。主节点 MongoDB Ops Manager 检测到不匹配后,会自动为受影响的项目进入“恢复模式”,将所有代理合并到恢复的配置,并在协调完成前阻止部署更改。
架构
下表介绍了此模式中的组件及其职责:
组件 | 责任 |
|---|---|
主 MongoDB Ops Manager | 管理 MongoDB 部署及其备份。将其自身的操作数据存储在其应用程序数据库、快照元数据存储和 oplog 元数据存储中。 |
从节点(secondary node from replica set) Ops Manager | 运行一个 备份守护程序,该程序可向 S3兼容的存储块存储写入应用程序数据库快照和 oplog 切片。持续备份主 MongoDB Ops Manager 的后端数据库。不管理应用程序集群。 |
应用程序数据库 | 存储主 MongoDB Ops Manager 的运行数据,包括项目配置、自动化状态和备份元数据。您必须备份应用程序数据库。 |
快照和 oplog 元数据存储 | 存储主 Ops Manager 备份的部署的块和oplog 索引。备份这些存储。 |
MongoDB 助手 | 在每个后端数据库主机上运行,并向从节点(secondary node from replica set) Ops Manager 注册以执行备份和恢复。 |
从节点(secondary node from replica set) Ops Manager 将主节点 (primary node in the replica set) Ops Manager 的后端数据库备份存储在其自身的 S3兼容存储块存储中,与主节点 (primary node in the replica set) Ops Manager 的备份存储分开。
部署变体
在与主实例 MongoDB Ops Manager 相分离的故障域中部署从实例 MongoDB Ops Manager,以防止单一故障影响两个实例。常见变体包括:
不同区域
将从节点 MongoDB Ops Manager 部署在与主节点 MongoDB Ops Manager 不同的云区域中。此变体可防止区域损失。
不同的数据中心
将从节点 MongoDB Ops Manager 部署在与主节点 MongoDB Ops Manager 不同的数据中心。此变体可防止数据中心丢失。
独立备份网络
将从节点(secondary node from replica set) Ops Manager 放置在专用于备份流量的独立网络上。此变体可以将备份流量与应用程序网络隔离开来。
重要
将从节点(secondary node from replica set) MongoDB Ops Manager 部署在与主节点 (primary node in the replica set) MongoDB Ops Manager 不同的故障域中,例如不同的机架、可用区、区域或网络段。如果两个实例共享一个故障域,则单个故障会中断主节点 (primary node in the replica set) MongoDB Ops Manager 及其恢复路径。
支持的版本和限制
在使用此模式之前,请查看以下要求和限制。
支持的版本
主节点和从节点 MongoDB Ops Manager 实例必须运行 MongoDB Ops Manager 8.0.24 或更高版本。
从节点 MongoDB Ops Manager 必须运行与主节点 MongoDB Ops Manager 相同或更新的版本。请勿运行早于主节点 MongoDB Ops Manager 版本的从节点 MongoDB Ops Manager。
警告
将应用程序数据库恢复到与拍摄快照的原始主节点 (primary node in the replica set) Ops Manager 版本相同或更新的主节点 (primary node in the replica set) Ops Manager。如果替换的二进制文件早于应用程序数据库的记录版本,Ops Manager 将拒绝启动并报告“不允许降级”错误。
限制
此模式备份主 MongoDB Ops Manager 的后端数据库。它不备份任意 MongoDB 集群。主 MongoDB Ops Manager 继续管理 MongoDB 部署的备份。
备份和协调快照元数据存储和 oplog 元数据存储是一个手动程序。MongoDB Ops Manager 不会自动为这些存储选择恢复点。因此,恢复后备份元数据可能不一致,某些备份可能无法恢复。MongoDB Ops Manager 在恢复快照前会对其进行验证,如果验证失败,则会返回错误,而不是执行不安全的恢复。
恢复模式不适用于外部托管的部署,例如 Kubernetes 操作符托管的部署。恢复应用程序数据库后,这些项目中的代理将在下一次拉取时直接接收恢复的配置,并在不进入恢复模式的情况下进行合并。这些项目无需操作。
如果快照的数据块不再存在快照存储中,则快照可能会变得无法恢复。在恢复之前,主节点 Ops Manager 会验证快照的块是否存在。如果块缺失,则恢复将失败并报错,并使副本集保持不变,而不是将其清除并在中途失败。
未经测试的恢复是一种操作风险。定期验证备份和恢复路径。请参阅 从从 Ops Manager 恢复 Ops Manager 中的验证运行手册。
后续步骤
要设置和运行此模式,请参阅以下页面: