从旧版备份快照恢复集群
在此页面上
重要
传统备份已弃用
自 2020 年 3 月 23 日起,所有新集群只能使用云备份。
当升级到 5.0 时,如果备份系统当前设置为传统备份,则它会升级到云备份。在进行该升级后:
所有现有的传统备份快照仍然可用。 根据您的保留策略,它们会随着时间的推移而过期。
注意
此功能不适用于 M0
免费集群、 M2
和M5
集群。要详细学习;了解哪些功能不可用,请参阅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:
将旧的 4.0 备份恢复到另一个 4.2 集群。
将已恢复的集群升级到 4.2。
Considerations
目标集群的停机时间
恢复过程需要目标集群停机。
MongoDB 版本必须兼容
MongoDB 版本也必须兼容。例如,您无法从 5.0 版本集群的快照恢复为 4.2 或更早版本的集群。
恢复到 Atlas 或 Cloud Manager
如果您拥有适当的项目权限,则可以在 Atlas或Cloud Manager 中恢复到不同项目的集群:
恢复到项目于 | 目标项目所需的角色 |
---|---|
Atlas | |
Cloud Manager |
先决条件
在恢复期间停止客户端操作
您必须确保目标 Atlas 集群不会在恢复期间收到客户端请求。您可以恢复到一个新的集群,并重新配置应用程序,以便在该新集群运行达到最大正常运行时间后使用它。
步骤
除了标准快照和连续云备份之外,您还可以从本地下载的快照文件恢复传统备份。
选择恢复点。
选择要恢复备份的时间点。
恢复类型说明操作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持续时间内的任何时间点进行恢复。
选择Date和Time 。Oplog Timestamp重要提示:对于运行FCV 4.0或更早版本的分片集群,您无法选择Oplog Timestamp 。 您只能选择Oplog Timestamp作为运行FCV 4的副本集和分片集群的备份点目标。 2 。
创建一个自定义快照,其中包括输入的 Oplog 时间戳之前(包含时间戳)的所有操作。Oplog 时间戳由两个字段表示:
Timestamp时间戳(以自 UNIX 纪元 以来经过的秒数表示)
Increment作为 32 位序数在该秒内应用的操作顺序。输入oplog Timestamp 和 Increment。
在副本集上运行针对
local.oplog.rs
的查询,以查找所需的时间戳。单击 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
值的各部分与Timestamp和Increment框所需的值相对应。
要将纪元时间转换为人类可读的时间戳,请尝试使用 Epoch Converter 等工具 MongoDB不支持此服务。其引用仅供参考。
使用您首选的存档实用程序提取存档并访问数据文件。
Atlas 会将快照压缩到 .tar.gz
文件中。该存档包括快照和 mongod
日志。
提取存档中的文件。
例子
以下命令使用
tar
实用程序来提取tar``archive with ``gzip
压缩文件。tar -xvzf ~/Downloads/mongodb-snapshots/my-cluster-snapshot.tar.gz 通过在主机上启动
mongod
实例并使用--dbpath
选项将其指向数据提取目录来访问数据文件。要了解更多信息,请参阅启动 mongod 进程。例子
以下命令使用提取的数据文件目录启动
mongod
实例:mongod --dbpath ~/Downloads/mongodb-snapshots/my-cluster-snapshot/
Download单击 或复制下载链接。
注意
下载链接会在一小时后过期。 该链接只能使用一次。 如果您单击的链接超出这些限制,您将收到 HTTP404 错误。
使用您首选的存档实用程序提取存档并访问数据文件。
Atlas 会将快照压缩到 .tar.gz
文件中。该存档包括快照和 mongod
日志。
提取存档中的文件。
例子
以下命令使用
tar
实用程序来提取tar``archive with ``gzip
压缩文件。tar -xvzf ~/Downloads/mongodb-snapshots/my-cluster-snapshot.tar.gz 通过在主机上启动
mongod
实例并使用--dbpath
选项将其指向数据提取目录来访问数据文件。要了解更多信息,请参阅启动 mongod 进程。例子
以下命令使用提取的数据文件目录启动
mongod
实例:mongod --dbpath ~/Downloads/mongodb-snapshots/my-cluster-snapshot/