Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

从旧版备份快照恢复集群

在此页面上

  • Considerations
  • 先决条件
  • 步骤

重要

传统备份已弃用

自 2020 年 3 月 23 日起,所有新集群只能使用云备份。

当升级到 5.0 时,如果备份系统当前设置为传统备份,则它会升级到云备份。在进行该升级后:

  • 所有现有的传统备份快照仍然可用。 根据您的保留策略,它们会随着时间的推移而过期。

  • 您的备份策略将重置为默认计划。如果传统备份应用的是自定义备份政策,则须按照云备份文档中的步骤说明重新创建该政策。

注意

此功能不适用于 M0免费集群、 M2M5集群。要详细学习;了解哪些功能不可用,请参阅Atlas M 0 (免费集群)、M 2和 M 5限制。

Atlas 允许您从计划的旧版备份快照或从快照之间的选定点恢复数据。

注意

您必须具有包含源集群和目标集群的 Atlas 项目的Project Owner角色,才能将数据从一个 Atlas 集群恢复到另一个集群。

  • 对于副本集,您可以从过去 24 小时内的选定时间点进行恢复。

  • 对于正在运行的分片集群:

    • FCV 4.2或更早版本,您可以从过去24小时内的快照之间的检查点恢复。

    • FCV 4.2或更高版本,您可以从过去24小时内的选定时间点恢复。

您可以将数据恢复到从其拍摄快照的同一集群或 Atlas 或 Cloud Manager 管理的其他集群。

您必须将备份恢复到运行同一主要版本或更高版本的集群。Atlas 不支持恢复至更老的版本。

您仍然可以使用升级前的备份。

例子

4.0 集群恢复到 4.2:

  1. 将旧的 4.0 备份恢复到另一个 4.2 集群。

  2. 将已恢复的集群升级到 4.2。

有关从云备份恢复数据的说明,请参阅恢复集群。

恢复过程需要目标集群停机

MongoDB 版本也必须兼容。例如,您无法从 5.0 版本集群的快照恢复为 4.2 或更早版本的集群。

如果您拥有适当的项目权限,则可以在 AtlasCloud Manager 中恢复到不同项目的集群:

恢复到项目于
目标项目所需的角色

Atlas

Cloud Manager

以下 Cloud Manager 角色之一:

  • 组织所有者

  • 项目所有者

  • 项目备份管理员

您必须确保目标 Atlas 集群不会在恢复期间收到客户端请求。您可以恢复到一个新的集群,并重新配置应用程序,以便在该新集群运行达到最大正常运行时间后使用它。

除了标准快照和连续云备份之外,您还可以从本地下载的快照文件恢复传统备份。

1
传统备份按钮
2

Legacy Backup页面上的Overview标签页列出了项目的集群。

  • 如果为集群启用了备份,则StatusActive

  • 如果已禁用集群备份,则StatusInactive

要开始恢复集群,请执行以下任一操作:

  • 将鼠标悬停在集群的Active状态上,然后单击Restore or Download

  • 菜单选择集群旁边的Restore

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

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

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

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

    重要提示:请考虑以下连续云备份时间范围限制:

    • 您不能执行会覆盖最新备份重新同步之前的任何时间的连续云备份。

    • 对于运行分片的 4.0或更早版本的分FCV集群,必须启用集群检查点才能在分分片集群上执行PIT恢复。 如果没有包含您的日期和时间的可用检查点, Atlas会要求您choose another point in time

    • 对于运行分片的 4.2或更高版本的分FCV集群,您可以从oplog持续时间内的任何时间点进行恢复。

    选择DateTime
    Oplog Timestamp

    重要提示:对于运行FCV 4.0或更早版本的分片集群,您无法选择Oplog Timestamp 。 您只能选择Oplog Timestamp作为运行FCV 4的副本集和分片集群的备份点目标。 2 。

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

    输入oplog TimestampIncrement

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

  2. 单击 Next(连接)。

例子

查找最新的 Oplog 条目

要查找最新的oplog条目,请在mongosh中运行以下查询:

db.getSiblingDB('local').oplog.rs.find().sort({$natural:-1}).limit(1).pretty()
{
"ts": Timestamp(1537559320, 1),
"h": NumberLong("-2447431566377702740"),
"v": 2,
"op": "n",
"ns": "",
"wall": ISODate("2018-09-21T19:48:40.708Z"),
"o": {
"msg": "initiating set"
}
}

ts值的各部分与TimestampIncrement框所需的值相对应。

要将纪元时间转换为人类可读的时间戳,请尝试使用 Epoch Converter 等工具 MongoDB不支持此服务。其引用仅供参考。

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

  2. 填写以下字段:

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

    选择一个要恢复快照的集群。

    Atlas必须托管目标副本集。

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

  1. 单击 Restore(连接)。

    Atlas 记录了恢复所需的存储空间。

5
6

Atlas 会将快照压缩到 .tar.gz 文件中。该存档包括快照和 mongod 日志。

  1. 提取存档中的文件。

    例子

    以下命令使用 tar 实用程序来提取 tar``archive with ``gzip 压缩文件。

    tar -xvzf ~/Downloads/mongodb-snapshots/my-cluster-snapshot.tar.gz
  2. 通过在主机上启动 mongod 实例并使用 --dbpath 选项将其指向数据提取目录来访问数据文件。要了解更多信息,请参阅启动 mongod 进程

    例子

    以下命令使用提取的数据文件目录启动 mongod 实例:

    mongod --dbpath ~/Downloads/mongodb-snapshots/my-cluster-snapshot/
1
传统备份按钮
2

Legacy Backup页面上的Overview标签页列出了项目的集群。

  • 如果为集群启用了备份,则StatusActive

  • 如果已禁用集群备份,则StatusInactive

要开始恢复集群,请执行以下任一操作:

  • 将鼠标悬停在集群的Active状态上,然后单击Restore or Download

  • 菜单选择集群旁边的Restore

3
4
5

注意

下载链接会在一小时后过期。 该链接只能使用一次。 如果您单击的链接超出这些限制,您将收到 HTTP404 错误。

6

Atlas 会将快照压缩到 .tar.gz 文件中。该存档包括快照和 mongod 日志。

  1. 提取存档中的文件。

    例子

    以下命令使用 tar 实用程序来提取 tar``archive with ``gzip 压缩文件。

    tar -xvzf ~/Downloads/mongodb-snapshots/my-cluster-snapshot.tar.gz
  2. 通过在主机上启动 mongod 实例并使用 --dbpath 选项将其指向数据提取目录来访问数据文件。要了解更多信息,请参阅启动 mongod 进程

    例子

    以下命令使用提取的数据文件目录启动 mongod 实例:

    mongod --dbpath ~/Downloads/mongodb-snapshots/my-cluster-snapshot/

后退

传统备份(已弃用)