单区域集群备份
通过单区域集群备份,Atlas 可以:
使用以下算法确定尝试获取快照的节点顺序:
从节点上的快照。1 那么,
如果可能,为优先级最低的节点创建快照。2 然后,
如果可能的话,请递增地从一个快照到下一个快照进行快照。3然后,
按主机名在词法上优先对节点进行快照。
1 如果存在并列项,Atlas 将跳到下一步以确定要创建快照的节点。
2如果存在并列项,Atlas 会优先考虑可以从前一个快照创建增量快照的节点(即使用同一磁盘的节点)。
3 如果存在并列项,Atlas 会优先选择具有最小主机名(按字典顺序)的节点。
确定节点顺序后,尝试对节点创建快照。如果选定的节点运行状况不佳,Atlas 会尝试对下一个偏好的节点创建快照。
将快照存储在与集群相同的云区域中。
如果现有快照存储卷失效,Atlas 会自动创建一个新的快照存储卷。Atlas 会在与集群当前主卷相同的区域中创建新卷。然后,Atlas 会拍摄完整副本快照来维护备份可用性,并继续使用该成员及其相应的区域来获取进一步的增量快照。
可能通过选举为快照存储卷选择新节点的事件包括:
更改 Atlas 集群层,
修改 Atlas 集群的存储量或速度,
更改 Atlas 集群的区域,以及
由 Atlas 或集群的云提供商执行维护。
提示
要了解有关快照保留的更多信息,请参阅备份计划、保留和按需快照。
多区域集群备份
通过多区域集群备份,Atlas 可以:
使用以下算法确定要获取快照的节点顺序:
如果可能,请选择最高优先级区域中的快照。1 然后,
从节点上的快照。2 那么,
如果可能,为优先级最低的节点创建快照。3 然后,
如果可能的话,请递增地从一个快照到下一个快照进行快照。4然后,
按主机名在词法上优先对节点进行快照。
1 如果存在并列项,Atlas 会根据优先级降序进行比较。
2 如果存在并列项,Atlas 将跳到下一步以确定要创建快照的节点。
3如果存在并列项,Atlas 会优先考虑可以从前一个快照创建增量快照的节点(即使用同一磁盘的节点)。
4 如果存在并列项,Atlas 会优先选择具有最小主机名(按字典顺序)的节点。
确定节点顺序后,尝试对节点创建快照。如果选定的节点运行状况不佳,Atlas 会尝试对下一个偏好的节点创建快照。
如果现有快照存储卷失效,Atlas 会自动创建一个新的快照存储卷。Atlas 会在与集群当前主卷相同的区域中创建新卷。然后,Atlas 会拍摄完整副本快照来维护备份可用性,并继续使用该成员及其相应的区域来获取进一步的增量快照。
可能通过选举为快照存储卷选择新节点的事件包括:
更改 Atlas 集群层,
修改 Atlas 集群的存储量或速度,
更改 Atlas 集群的最高优先级区域,以及
由 Atlas 或集群的云提供商执行维护。
提示
要了解有关快照保留的更多信息,请参阅备份计划、保留和按需快照。
全局集群备份
Atlas 可以使用云备份作为备份方法来备份全局集群。Atlas 使用集群配置中指定的相同顺序将源集群中的分片恢复到目标集群中相应的分片。
例子
shard0 源集群中的shard0将恢复为目标集群中的 。
如果源集群和目标集群的集群配置不匹配,则分片数据可能会迁移到其他云提供商区域,而非其在源集群中驻留的位置。在 Atlas 完成恢复操作后,如果您的集群满足以下要求,则目标集群的 MongoDB 负载均衡器会将数据迁移回其之前在源集群中所在的区域:
两个集群都在同一集合上启用了全局集群
两个集群对启用全局写入功能的集合使用相同的分片键
注意
如果目标集群上启用全局写入的集合不包含任何数据,则集群的 MongoDB 负载均衡器会自动将您稍后添加到目标集群分片之间的集合中的任何数据进行分发。
如要在目标集群上启用全局写入:
AtlasGoData Explorer在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Database 标题下的 Data Explorer。
显示数据浏览器。
注意
您也可以转到 Clusters 页面,然后单击 Shortcuts 标题下的 Data Explorer。
持续的云备份
连续云备份重放 oplog,以便在备份策略指定的窗口内从特定时间点恢复集群。
您可以选择启用连续云备份恢复。使用备份策略编辑器配置连续云备份窗口。
注意
启用连续云备份会增加集群的每月成本。
要了解有关成本影响的更多信息,请参阅计费。
集群的快照保留在集群或分片的最高优先级地区下的云提供商存储服务中。Amazon Web Services集群上的oplog备份使用标准Amazon Web Services S3 加密, Google Cloud Platform集群使用标准Google Cloud Platform Storage加密。
在单区域和多区域分片集群中,Atlas 会在每个分片的主要区域为其创建一个单独的备份。
注意
启用持续云备份的集群会根据您的云提供商将oplog数据存储在对象存储中:
S3 (代表Amazon Web Services )
适用于Azure的 Azure Blob 存储
适用于 Google Cloud 的 Google Cloud Storage
以下操作会导致所有现有 oplog 备份被删除。所有现有快照均保持不变,但 Atlas 在以下情况下会删除之前保留的 oplog 数据:
您为集群禁用连续云备份。
集群接收的写入操作过多。集群处理了大量写入操作,导致 oplog 在备份对其进行收集之前发生滚动。
例子
您根据通常的写入流量为 oplog 分配了一个小时的大小,如 1,000 个操作。
数据库活动会导致对 oplog 进行大量(如 2,000 个)写入操作。
写入次数会导致 oplog 删除较旧的记录。在此示例中将丢失 1,000 个操作。
备份应该收集操作 #1,但它却收集了 #1,001。
如果您更改集群的最高优先级地区,或者MongoDB将oplog数据迁移到其他地区:
Atlas 会保留旧区域和新区域中的数据,直到您的连续云备份窗口出现在新区域中。一旦连续云备份窗口出现在新区域中,Atlas 就会删除旧区域中的数据。
在区域变更后的几天,您需要同时为新旧区域的存储付费。您必须先禁用连续云备份然后再重新启用,以防止同时为两个区域计费。
注意
如果禁用持续云备份,Atlas 会删除持续云备份历史。
当您使用连续云备份从先前的时间点恢复群集时,Atlas 会保留群集的 oplog。您可以重复使用连续云备份将集群恢复到其连续云备份窗口中的任何时间点,但是,您启动恢复和 Atlas 在恢复后完成快照之间的时间点除外。
一致性和快照
Atlas在拍摄快照时保持因果一致性,但collStats和 db.[collection].count() 报告的大小统计信息除外。collStats 和 db.[collection].count() 报告的大小统计信息可能不准确。
Atlas协调分片的集群的所有分片的时间,以确保快照包括截至计划快照时间写入每个分片和节点的所有文档。
查看 备份AtlasM10+ 备份快照
要使用Atlas CLI列出项目和集群的云备份快照,请运行以下命令:
atlas backups snapshots list <clusterName> [options]
要使用Atlas CLI返回指定快照的详细信息,请运行以下命令:
atlas backups snapshots describe <snapshotId> [options]
要学习;了解有关上述命令的语法和参数的更多信息,请参阅Atlas CLI Atlasbackups 快照 list 和Atlas backups snapshot describe 的 文档。
Atlas 在Snapshots页面上显示给定集群的现有快照。要查看 Atlas 已拍摄的快照,请执行以下操作:
AtlasGoBackup在Atlas中,Go项目的 详细信息。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Database 标题下的 Backup。
此时会显示备份详细信息。
单击集群链接。
或者,要查看启用了云备份的所有M10+集群的列表:
AtlasGoBackup在Atlas中,Go项目的 详细信息。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Database 标题下的 Backup。
此时会显示备份详细信息。
单击集群链接。
Atlas Administration API提供不同的端点来检索副本集快照和分片集群快照。