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

备份准备

在此页面上

  • 备份配置选项
  • 备份大小调整建议
  • 快照频率和保留策略
  • 备份注意事项

在备份群集或副本集之前,请确定如何备份数据以及要备份哪些数据。本页介绍在开始备份之前必须考虑的事项。

提示

另请参阅:

要学习;了解备份的工作原理,请参阅备份。

警告

MongoDB Ops Manager不再支持从使用 本地密钥加密的数据库部署创建集群快照。 如果使用本地密钥加密对数据库部署进行加密,则快照将失败。 要加密快照,请在数据库部署中使用基于KMIP加密。

给定系统的备份和恢复要求可能会有所不同,以符合系统所有者制订的成本、性能和数据保护标准。

Ops Manager 企业备份和恢复支持五种备份架构,每种架构都有自己的利弊。在配置和部署备份架构之前,请考虑满足部署的数据保护要求的架构。

例子

考虑一个要求低运营成本的系统。系统所有者可能对备份和恢复配置需要的存储费用有严格的限制。因此,他们可能会接受更长的恢复时间。

反之,考虑一个要求包括低恢复时间目标的系统。如果备份和恢复配置能够满足恢复要求,则系统所有者可以容忍更高的存储成本。

Ops Manager Enterprise 备份和恢复支持以下备份架构:

重要

我们提供备份架构建议作为开发自己的数据保护方法的指导。 我们的建议并不涵盖或代表每个场景或部署。

备份系统功能
SAN上的文件系统
NAS上的文件系统
AWS S3 块存储
MongoDB HA 块存储
MongoDB 块存储
快照类型
完整 [1]
完整 [1]
很多部分
很多部分
很多部分
备份数据去重
如果 SAN 支持
No
备份数据压缩
No
备份数据复制
如果 SAN 支持
No
No
No
备份存储成本
更高
中型
降低
更高
降低
员工管理备份的时间
中型
中型
降低
更高
中型
备份 RTO
降低
中型
降低
降低
中型
[1]12要对文件系统存储执行增量备份, MongoDB Agent会将指定备份的路径中的每个storage engine文件分割为数据块,并仅将更改的块传输到MongoDB Ops Manager 。 MongoDB Ops Manager从收到的区块创建新快照,并从上一个完整备份快照复制剩余未更改的区块。 存储到文件系统的每个增量备份快照都可以节省网络 I/O。 每个此类备份快照都包含备份的 MongoDB 部署中所有必需文件的完整副本,并且不会对记录进行去重

注意

何时使用特定的备份方法?

  • 要频繁地对大量数据运行备份并从备份中恢复,请考虑备份到SAN上的文件系统、 Amazon Web Services S3 兼容存储快照存储或配置为副本集或副本集的MongoDB块存储。分片集群。

  • 要在不依赖 MongoDB 数据库的情况下恢复数据,请考虑备份到与 AWS S3 兼容的存储快照存储、一个或多个 NAS 设备或 SAN 上具有文件系统备份高级功能(例如高可用性、压缩、或去重)的文件系统。

  • 为了最大限度地降低内部存储和维护成本,请考虑备份到与 AWS S3 兼容的存储快照存储或 MongoDB 独立块存储。

    MongoDB 独立块存储提供的恢复力有限。如果磁盘已满,该块存储可能会脱机。只有在添加额外存储后,才能恢复备份快照。

在调整数据备份大小时,请将2 未压缩数据 的 副本集 大小保持为 TB 或更少。如果数据库的未压缩数据增加到超过2 TB:

  • 对数据库进行分片

  • 将每个分片的未压缩数据保持在 2 TB 或更少

这些大小建议是最佳实践。它们不是 MongoDB 数据库或 Ops Manager 的限制。

备份和恢复可能会使用大量的 CPU、内存、存储和网络带宽。

例子

您提到的网络吞吐量(例如 10 Gbps 或 100 Gbps)是理论上的最大值。该值不考虑网络流量的共享或限制。

考虑以下情况:

  • 您希望备份一个 2 TB 数据库。

  • 您的主机支持从 Ops Manager 到其备份存储的 10 Gbps TCP 连接。

  • 网络连接的丢包率很低,往返延迟时间也很短。

您的数据的完整备份需要30多个小时才能完成[ 3 ]

这不考虑磁盘读取和写入速度,对于单个或镜像 NVMe 存储设备,磁盘读取和写入速度最多为 3 Gbps 读取和 1 Gbps 写入。

完成每个连续增量备份所需的时间取决于写入负载。

如果您将此数据库分成 4 个分区,则每个分区分别运行各自的备份。这会导致备份需要不到 8 小时才能完成。

[2] 这些吞吐量数字是使用网络吞吐量计算器计算的,并假设没有额外的网络压缩。

默认情况下,Ops Manager 每 24 小时拍摄一次数据的基本快照。

如需要,管理员可以将基本快照的频率更改为 6、8、12 或 24 小时。 Ops Manager 按计划自动创建快照;您无法按需拍摄快照。

Ops Manager 会在下表所列时间段内保留快照。

如果终止部署的备份,Ops Manager 会立即删除当前保留政策日期内的快照。

如果停止部署的备份,Ops Manager 将停止拍摄新快照,但保留现有的快照,直到列出的过期日期为止。

快照
默认保留政策
最长保留时间策略
基础快照
2 天
5 天(如果频率为 24 小时,则为 30 天)
每日快照
0 天
1 年
每周快照
2 周
1 年
月度快照
1 个月
7 年

您可以通过 Backup 页面上的 Edit Snapshot Schedule 菜单选项更改备份部署的计划。管理员可以通过 API 中的 snapshotSchedule 资源更改快照频率和保留时间。

更改参考时间会更改下一个计划快照的时间。下一次计划快照的时间不能早于当前的下一次快照时间。当前的下一次快照时间是当前参考时间加上快照之间的间隔。

要确定下一个快照的时间,请将当前的下一个快照时间与新的参考时间进行比较:

  • 如果新的参考时间早于当前下次快照时间,则下次快照仍将在当前下次快照时间之后。快照拍摄时间为新的参考时间加上超过当前下一快照时间所需的间隔数。如果在该时间点之后执行更改,Ops Manager 将会在下一个新参考时间点拍摄下一次快照。请参阅下表中前两行的示例。

  • 如果新参考时间在当前的下一个快照时间之后,Ops Manager 将在下一个新参考时间出现时拍摄下一次快照。请参见下表第三行和第四行的示例。

变更时间
当前参考时间
快照之间的间隔
当前下次快照时间
新参考时间
下一个快照的时间
08:00 UTC
12:00 UTC
6 小时
12:00 UTC
10:00 UTC
16:00 UTC 今天
23:00 UTC
12:00 UTC
6 小时
00:00 UTC
10:00 UTC
04:00 UTC 明天
08:00 UTC
12:00 UTC
6 小时
12:00 UTC
19:00 UTC
今天 19:00 UTC
20:00 UTC
12:00 UTC
6 小时
00:00 UTC
19:00 UTC
01:00 UTC 明天

如果您更改计划以保存更少的快照,Ops Manager 不会删除现有快照以符合新计划。要删除不需要的快照,请参阅删除快照

  • Ops Manager 不会备份其中的集合总数达到或超过 100,000 的部署。

  • Ops Manager 不会复制索引集合选项。

MongoDB Ops Manager可以使用 存储引擎对存储在运行 MongoDB Enterprise且介于 FCV3 .4 和4 .0 之间的WiredTiger 头部数据库 中的任何备份作业进行加密。

FCV 4.2 ,然后使用备份游标而不是头部数据库。 有关详细信息,请参阅备份守护程序服务。

提示

另请参阅:

对于运行 MongoDB 4.2 或更高版本的集群:

  • MongoDB Ops Manager在拍摄快照时保持因果一致性,但collStatsdb.[collection].count() 报告的大小统计信息除外。 collStatsdb.[collection].count()报告的大小统计信息可能不准确。

  • Ops Manager 会协调分片集群中所有分片的时间。这样可以确保快照包含在计划快照时间之前写入每个分片和节点的所有文档。

对于运行 MongoDB 4.0 和更早版本的集群:

  • Ops Manager 保留崩溃一致的快照。

  • Ops Manager 大约在同一时间从分片集群的每个分片以及配置服务器副本集中拍摄快照。

功能
运行 FCV 4.2 及更高版本的数据库
运行 FCV 4.0 和更早版本的数据库
使用 WiredTiger 快照备份数据
使用备份守护程序备份数据
备份副本集
备份分片集群
可以使用命名空间[ 4 ]进行过滤
可指定同步源数据库
可以将数据恢复到特定时间点[ 5 ]
可以执行增量备份[ 6 ]
支持使用KMIP加密[ 7 ]的Atlas 备份快照
支持使用本地密钥加密[ 8 ]的Atlas 备份快照
支持保存到块存储快照存储
支持保存到 S3 兼容存储快照存储
支持保存到文件系统存储[ 9 ]
支持运行 MongoDB Enterprise 的数据库
支持运行 MongoDB Community 的数据库
需要在每个 mongod集群节点上 启用备份 的MongoDB Agent
[3] 仅 Ops Manager 版本 6.0.8 及更高版本支持命名空间过滤。您的 MongoDB 部署的featureCompatibilityVersion值必须为4.0及更早版本,或者6.0.1及更高版本。
[4] 执行 PIT 恢复需要 Ops Manager 4.2.13 或更高版本。
[5] 在删除快照后以及块存储区块大小已更改的情况下,Ops Manager 需要对首次备份进行完整备份。增量备份可降低网络传输和存储成本。此功能适用于:
  • MongoDB 4.4 和更早版本。
  • MongoDB 4.2.6或更高版本(如果运行FCV 4.2或更高版本)。
[6] 查询加密快照需要MongoDB Enterprise 4.2.9及更高版本或4.4.0及更高版本。
[7] FCV 4.2及更高版本的备份不支持本地密钥加密。
[8] 备份到文件系统存储的FCV 4.2或更高版本的数据库时会忽略File System Store Gzip Compression Level

如果您运行的是带有FCV 4.2或更高版本的 MongoDB 4.2或更高版本,要运行备份和恢复,您需要:

  • 必须运行MongoDB Enterprise。

  • 必须考虑块存储块大小的变化。如果您未设置块大小并使用默认值,该块大小将从 64 KB 更改为 1 MB。这可能会影响存储使用情况。

  • 必须确保副本集配置中的主机名与MongoDB Agent使用的主机名匹配,或者主机映射包含正确的主机名。 您可以使用rs.conf()验证副本集配置。

  • 仅当运行的是 MongoDB 6.0或更高版本时,才能使用命名空间筛选器列表来定义备份中包含的命名空间。 在 MongoDB 4.2到5.0版本上拍摄的快照始终包含所有命名空间。

  • 不需要同步源数据库。 拍摄快照时,Ops Manager 选择对性能影响最小且快照数据的存储级别重复最多的副本集成员。

  • MongoDB Agent必须为集群中的每个 节点部署mongod

注意

如果 Ops Manager 不管理集群:

  • 向运行备份的 MongoDB 用户授予backupclusterAdmin角色。

  • 确保运行 MongoDB 助手的操作系统用户对部署的所有数据文件(包括日志文件)具有读取权限。

MongoDB Ops ManagerMongoDB Ops ManagerHTTP如果将 42配置为在 或 HTTPS 负载均衡器后面使用多个 应用程序服务器并使用 文件系统快照 ,则 FCV . 或更高版本的备份快照作业会在一台或多台服务器上并行运行。确保每个MongoDB Ops Manager服务器上都安装了共享文件系统。 MongoDB Ops Manager应用程序服务器可能会打开并写入相同文件的不同偏移量。 确保共享文件系统允许此操作。 否则,您将遇到访问错误。

重要

仅可备份分片集群或副本集。若要备份独立运行的 mongod 进程,则须将其转换为单节点副本集

如果数据库运行任何 MongoDB 4.0 或更早版本,或者数据库运行 MongoDB 4.2 并满足以下条件,则以下注意事项适用: "featureCompatibilityVersion" : 4.0

Ops Manager 使用修饰作业管理过期快照。 根据包含快照的快照存储,这些修饰作业的行为会有所不同:

快照存储
Groom 作业的工作方式
MongoDB 块存储
使用额外的磁盘空间,最多为每个作业的活动块数量。
文件系统快照存储
删除过期的快照
S3 快照存储
如果 Ops Manager 在修饰作业运行时创建快照,则可能会使用额外的磁盘空间。 Ops Manager 可以在 S3 快照存储上运行并发修饰作业。

注意

快照作业和修饰作业不能同时运行。 如果在快照作业运行时启动 groom 作业,则 groom 作业将失败, MongoDB Ops Manager会记录错误并在快照作业完成后自动重试 groom 作业。 如果在 groom 作业运行时启动快照作业,则快照作业将失败, MongoDB Ops Manager会记录错误并在 groom 作业完成后重试快照作业。

要了解有关 groom 作业的更多信息,请参阅Groom 作业。

命名空间过滤允许您指定要备份的数据库和集合。 您可以应用命名空间过滤应用于除adminlocal之外的任何数据库以及任何不以system开头的集合。

您可以创建 Blacklist 以包含要排除的数据库和集合,或者创建 Whitelist 以包含要包括的数据库和集合。您可以在开始备份时选择数据库和集合,也可以以后根据需要编辑这些数据库和集合。如果在备份中添加数据以更改过滤器,则需要进行重新同步。

使用黑名单可以防止备份包含日志记录数据、缓存或其他临时数据的集合。排除这些类型的数据库和集合会帮您减少备份时间和费用。使用黑名单通常比使用白名单更可取,因为白名单要求您有意选择加入要备份的每个命名空间。

注意

仅 Ops Manager 6.0.8 和更高版本支持命名空间过滤。MongoDB 部署的 featureCompatibilityVersion 值必须为 4.0和更低或者 6.0.1 和更高。

要备份 MongoDB 集群,请使用 WiredTiger 存储引擎

如果您当前的支持数据库使用 MMAPv1,请升级到 WiredTiger:

通过使用 WiredTiger,Ops Manager 将备份限制为文件数少于 100,000 个的部署。文件包括集合和索引。

MongoDB 4.2删除了 MMAPv 1存储。 要了解有关存储引擎的更多信息,请参阅 MongoDB 手册中的存储

对于生产部署,请定期重新同步所有备份的副本集,例如每年一次。重新同步时,将从每个副本集中的从节点读取数据。在重新同步期间,不会生成新快照。

如果您符合以下条件,您可能还需要重新同步备份:

重要

您可以对运行功能兼容性版本为4.0或更早版本的 MongoDB 的集群使用检查点。 检查点已从FCV为4.2或更高版本的 MongoDB 实例中删除。

对于分分片的集群,检查点在快照之间提供额外的恢复点。 启用检查点后, MongoDB Ops Manager会按照可配置的间隔(每 15、30 或 60 分钟)在快照之间创建恢复点。 要启用检查点,请参阅启用检查点。

要创建检查点, 会停止MongoDB Ops Manager 负载均衡器 ,并将令牌插入到集群中每个分oplog 和 配置服务器 的 中。这些检查点令牌是轻量级的,不会影响性能或磁盘使用情况。

备份不需要检查点,默认情况下它们处于禁用状态。

从检查点恢复需要 Ops Manager 将每个分片和配置服务器的 oplog 应用于检查点之前捕获的最后一个快照。从检查点恢复比从快照恢复需要更长的时间。

对于使用 FCV 4.0 或更早版本运行的分片集群, MongoDB Ops Manager会在拍摄集群快照之前禁用负载均衡器。 在某些情况下,例如长时间迁移或没有运行mongos , MongoDB Ops Manager会尝试禁用负载均衡器,但失败了。 在这种情况下, MongoDB Ops Manager会继续拍摄集群快照,但会标记可能包含不完整或不一致数据的快照。 在主动均衡操作期间拍摄的集群快照存在数据丢失或孤立数据的风险。

对于分片集群,如果备份无法访问 mongod 进程(无论是分片还是配置服务器),则助手无法插入同步 oplog 标记。在这些情况下,Ops Manager 不会创建快照,并显示一条警告消息。

后退

备份进程