Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/

自管理部署的备份方法

在生产环境中部署MongoDB时,请备份和恢复策略以防止数据丢失。

本页介绍了自管理部署的备份方法。

要详细学习;了解MongoDB Atlas中托管的部署的备份方法,请参阅备份、恢复和存档数据

MongoDB Cloud Manager是一项针对MongoDB 的备份、监控和自动化服务。MongoDB Cloud Manager支持从图形用户界面备份和恢复副本集分片的集群

重要

要使用 MongoDB Cloud Manager 备份副本集和分片集群,您必须使用 MongoDB Enterprise Server。有关更多信息,请参阅安装 MongoDB Enterprise

MongoDB Cloud Manager通过从MongoDB 部署中读取oplog数据来备份副本集和分片的集群。MongoDB Cloud Manager按设立时间间隔创建快照并提供时间点恢复。

提示

使用其他 MongoDB 备份方法很难实现分片集群快照。

要开始使用 MongoDB Cloud Manager Backup,请注册 MongoDB Cloud Manager。有关 MongoDB Cloud Manager 的文档,请参阅 MongoDB Cloud Manager 文档

借助Ops Manager, MongoDB订阅者可以在自己的基础架构上安装并运行与MongoDB Cloud Manager相同的备份软件。Ops Manager随Enterprise Advanced订阅一起提供。

有关 Ops Manager 的更多信息,请参阅 MongoDB Enterprise Advanced 页面和 Ops Manager手册

注意

使用 AES256-GCM 的加密存储引擎的注意事项

对于使用 AES256-GCM 加密模式的加密存储引擎AES256-GCM 要求每个进程使用带有密钥的唯一计数器块值。

对于使用 AES256-GCM 密码配置的加密存储引擎

  • 从热备份恢复
    如果在mongod运行时从通过“热”备份获取的文件恢复, MongoDB会在初创企业时检测到“脏”键,并自动滚动数据库键以避免重复使用 IV(初始化向量)。
  • 从冷备份恢复

    但是,如果在mongod未运行时从通过“冷”备份获取的文件恢复, MongoDB在初创企业时不会检测到“脏”密钥,并且重复使用 IV 会导致机密性和完整性ACID 一致性保证失效。

    为了避免从冷文件系统快照恢复后重复使用密钥, MongoDB添加了一个新的命令行选项 --eseDatabaseKeyRollover。使用 --eseDatabaseKeyRollover 选项启动时,mongod 实例会滚动使用 AES256-GCM 密码配置的数据库密钥并退出。

如果对MongoDB Enterprise使用基于文件系统的备份,请使用“热”备份功能。

如果MongoDB存储数据文件的卷支持时间点快照,请使用这些快照在确切的时间点创建备份。文件系统快照是一项操作系统卷管理器功能,并非MongoDB特有。操作系统拍摄卷的快照以用作备份基准。快照机制取决于根本的存储系统。示例,在Linux上,逻辑卷经理(逻辑卷管理器(LVM)) 可以创建快照。同样,Amazon EC2 的 EBS存储系统也支持快照。

要获得正在运行的 mongod 进程的正确快照,必须启用日志功能,并且该日志必须与其他 MongoDB 数据文件位于同一逻辑卷上。

要获得分片集群的一致快照,必须禁用负载均衡器,并在大约同一时间从每个分片和配置服务器上捕获快照。要备份分片集群,请参阅使用数据库转储备份自管理分片集群

有关更多信息,请参阅使用文件系统Atlas 备份快照自管理部署使用文件系统Atlas 备份快照备份自管理分片集群以获取有关使用逻辑卷管理器(LVM)创建快照的完整说明。

如果存储系统不支持快照,可以使用 cprsync 或类似工具直接复制文件。由于复制多个文件不是原子操作,因此必须在复制文件前停止对 mongod 的所有写入。

通过复制底层数据生成的备份不支持副本集的时间点恢复,并且难以管理较大的分片集群。此外,这些备份更大,因为它们包括索引和重复的底层存储填充和碎片。相比之下,mongodump 创建的备份较小。

mongodumpmongorestore 是用于备份和恢复小型MongoDB部署的工具。要学习;了解更多信息,请参阅使用MongoDB工具备份和恢复自管理部署。

要备份分片集群,请参阅使用数据库转储备份自管理分片集群

下表比较了本地部署的备份方法。

备份注意事项
Cloud Manager/Ops Manager
文件系统快照

备份 RTO

低/取决于快照存储类型

备份 RPO

备份存储成本

低/取决于快照存储类型

中型

员工管理备份的时间

无/取决于快照存储类型

持续给定时间点备份和恢复

No

No

恢复的复杂性

如果是自动化部署,则较低

对于分片集群很高

分片集群备份的复杂性

高,需要额外的步骤。

高,需要额外的步骤。

备份对源分片集群部署的影响

高,需要写锁

高,需要写锁

分片集群备份中的一致性

保证

不保证,使用 fsyncdb.fsyncLock() 来减少不一致性

不保证,使用 fsyncdb.fsyncLock() 来减少不一致性

增量备份

是的,每日增量备份和每周完整备份

取决于存储和工具

No

定义备份范围

是的,使用命名空间过滤

No

后退

管理日志记录

在此页面上