Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ /

从快照恢复分片集群

在此页面上

  • 注意事项
  • 恢复快照

当您从快照中恢复集群时,Ops Manager会为您提供所选恢复点的恢复文件。

要了解恢复过程,请参阅恢复概述。

重要

Ops Manager 3.6 中的更改:时间点恢复

在3.6之前, 备份守护程序会在其主机上创建完整的时间点恢复。 使用3.6 ,您可以下载客户端工具和快照。 此工具会下载oplog并将其应用于客户端系统上的快照。 这减少了MongoDB Ops Manager部署的网络和存储需求。

BSON 规范 将 BSON 二进制数据类型 (BinData ) 的默认子类型从2 更改为0 。快照中存储的某些二进制数据可能是BinData 2BinData2BinData子类型0 。备份会自动检测BinData 2BinData子类型 的快照数据并将其转换为 子类型 。如果应用程序代码需要使用 子类型 ,则必须更新应用程序代码以处理 子类型0 。

提示

另请参阅:

有关 BSON 规范 的注释 解释此变更的具体细节。

备份恢复文件包括名为restoreInfo.txt的元数据文件。 此文件捕获拍摄快照时数据库使用的选项。 恢复后,数据库必须使用列出的选项运行。 此文件包含:

  • groupName

  • ReplicaSetName

  • 集群 ID (如果适用)

  • 快照时间戳(作为 UTC 时间戳)

  • 恢复时间戳(作为 UTC 的 BSON 时间戳)

  • 上次应用的oplog (作为 UTC 的BSON时间戳)

  • MongoDB 版本

  • storage engine类型

  • 拍摄快照时数据库上使用的mongod 启动选项

  • 加密(仅在对快照启用加密时显示)

  • 主密钥 UUID (仅在对快照启用加密时显示)

    如果从加密备份恢复,则必须为此主密钥预配证书。

MongoDB Ops Manager会在启用负载均衡器时拍摄的集群快照旁边显示警告。 如果从此类快照进行恢复,则存在数据丢失或孤立数据的风险。 有关更多信息,请参阅代理无法停止负载均衡器时的快照。

所有 FCV数据库必须符合相应的备份注意事项。

要从加密备份中恢复,您需要用于加密备份的相同主密钥,以及与备份守护程序主机上相同的证书或从KMIP主机使用该密钥预配的新证书。

如果快照已加密,恢复面板将显示 KMIP 主密钥 ID 和 KMIP 服务器信息。 您还可以在查看快照本身时以及在restoreInfo.txt文件中找到这些信息。

您必须确保 MongoDB 部署在恢复期间不会收到客户端请求。 您必须:

  • 使用新主机名恢复到新系统,并在新部署运行后重新配置应用程序代码,或者

  • 确保恢复数据时 MongoDB 部署不会收到客户端请求。

要让 Ops Manager 自动恢复快照,请执行以下操作:

1
2
3
  1. 选择要恢复备份的时间点。

    恢复类型
    说明
    操作
    Snapshot
    允许您选择一个已存储的快照。
    选择要恢复的现有快照
    Point In Time

    创建一个自定义快照,包括所有操作,直到但不包括所选时间。默认情况下,Oplog 会将数据保存 24 小时。

    例如,如果您选择12:00 ,则恢复中的最后一次操作为11:59:59或更早。

    重要

    在 FCV 4中。 0 ,您无法执行涵盖最近一次备份重新同步之前任何时间的PIT恢复。有关导致重新同步的条件,请参阅重新同步备份。本说明不适用于 FCV 4 。 2或更高版本。

    选择DateTime
    Oplog Timestamp

    创建自定义快照,其中包括输入的oplog时间戳(含)之前的所有操作。 oplog Timestamp 包含两个字段:

    Timestamp
    Increment
    作为 32 位序数在该秒内应用的操作顺序。

    输入oplog TimestampIncrement

    副本集上运行针对local.oplog.rs的查询,以查找所需的时间戳。

  2. 单击 Next(连接)。

4
  1. 单击 Choose Cluster to Restore to(连接)。

  2. 填写以下字段:

    字段
    操作
    Project
    选择要将 快照 恢复到的 项目 。
    Cluster to Restore to

    选择要将快照恢复到的集群

    Ops Manager必须托管目标分片集群。

    警告:自动化操作会删除集群中的所有现有数据。它会保留现有集群的所有备份数据和快照。

  1. 单击 Restore(连接)。

    Ops Manager 在其用户界面中记录恢复需要多少存储空间。

5

重要

恢复使用 AES256-GCM 加密的快照后轮换主密钥

如果恢复 Ops Manager 使用 AES256-GCM 加密的加密快照,请在完成恢复后轮换主密钥

手动恢复过程假设:

  • 目标主机中没有数据。

  • 您尚未使用加密快照。

  • 您尚未启用双重身份验证。

警告

仅当无法运行自动恢复时才手动恢复快照。如果您确定必须使用手动恢复,请联系 MongoDB 支持部门以获取帮助。本节简要概述了手动恢复过程的各个阶段。

手动恢复过程包括以下高级阶段,您可以在 MongoDB 支持部门的帮助下执行这些阶段:

  1. 使用旧版mongo Shell 或mongosh连接到每个副本集和配置服务器副本集 (CSRS)。

  2. (可选)。查看每个副本集和 CSRS 的配置文件。完成恢复过程后,您可以使用保存的配置文件在恢复的副本集上重建配置。

  3. 准备目标主机。

    • 停止目标主机上运行的所有mongod进程。

    • 配置足够的存储空间来保存恢复的数据。

    • 为数据和日志准备目录。

    • 配置文件添加到 MongoDB Server 目录,其中包含目标主机的存储和日志路径以及副本和分片角色的配置。

  4. 恢复 CSRS。

  5. 恢复每个分片的副本集。

  6. 重启目标集群中的每个 mongos 进程。

  7. 验证您是否可以连接到集群。

完整的手动恢复过程可在MongoDB Server 4中找到。 2文档。对于 MongoDB 4 。 4或更高版本的部署,请参阅相应版本的手册。

要让 Ops Manager 自动恢复快照,请执行以下操作:

1
2
3
  1. 选择要恢复备份的时间点。

    恢复类型
    说明
    操作
    Snapshot
    允许您选择一个已存储的快照。
    选择要恢复的现有快照
    Point In Time

    允许您选择日期和时间作为快照的恢复时间目标。默认情况下,Oplog 存储会存储24小时的数据。

    例子

    如果您选择12:00 ,则恢复中的最后一次操作为11:59:59或更早。

    重要

    • 如果要恢复运行FCV为4的分片集群。 0或更早版本,必须启用集群检查点才能在分片集群上执行PIT恢复。

      如果没有包含您的日期和时间的可用检查点,Ops Manager 会要求您choose another point in time

    • 您无法执行涵盖最近一次备份重新同步之前任何时间的PIT恢复。有关导致重新同步的条件,请参阅重新同步备份。

    选择DateTime
  2. 单击 Next(连接)。

  3. 如果要恢复运行FCV为4的分片集群。 0或更早版本,并且您选择了Point In Time

    1. 出现与所选时间最接近的Checkpoints列表。

    2. 要开始时点恢复,您可以:

      • 选择列出的检查点之一,或

      • 单击Choose another point in time (删除检查点)以删除检查点列表,然后从菜单中选择其他日期和时间。

4
  1. 单击 Choose Cluster to Restore to(连接)。

  2. 填写以下字段:

    字段
    操作
    Project
    选择要将 快照 恢复到的 项目 。
    Cluster to Restore to

    选择要将快照恢复到的集群

    Ops Manager必须托管目标分片集群。

    警告:自动化操作会删除集群中的所有现有数据。它会保留现有集群的所有备份数据和快照。

  1. 单击 Restore(连接)。

    Ops Manager 在其控制台中记录恢复需要多少存储空间。

5

重要

恢复使用 AES256-GCM 加密的快照后轮换主密钥

如果恢复 Ops Manager 使用 AES256-GCM 加密的加密快照,请在完成恢复后轮换主密钥

手动恢复过程假设:

  • 目标主机中没有数据。

  • 您尚未使用加密快照。

  • 您尚未启用双重身份验证。

警告

仅当无法运行自动恢复时才手动恢复快照。如果您确定必须使用手动恢复,请联系 MongoDB 支持部门以获取帮助。本节简要概述了手动恢复过程的各个阶段。

手动恢复过程包括以下高级阶段,您可以在 MongoDB 支持部门的帮助下执行这些阶段:

  1. 使用旧版mongo Shell 或mongosh连接到每个副本集和配置服务器副本集 (CSRS)。

  2. (可选)。查看每个副本集和 CSRS 的配置文件。完成恢复过程后,您可以使用保存的配置文件在恢复的副本集上重建配置。

  3. 准备目标主机。

    • 停止目标主机上运行的所有mongod进程。

    • 配置足够的存储空间来保存恢复的数据。

    • 为数据和日志准备目录。

    • 配置文件添加到 MongoDB Server 目录,其中包含目标主机的存储和日志路径以及副本和分片角色的配置。

  4. 恢复 CSRS。

  5. 恢复每个分片的副本集。

  6. 重启目标集群中的每个 mongos 进程。

  7. 验证您是否可以连接到集群。

完整的手动恢复过程可以在MongoDB Server 文档中找到。

后退

从特定时间点恢复

来年

恢复副本集