Ops Manager 提供可查询备份。此功能使您可以更快速地查询特定的备份快照。您可以使用可查询备份执行以下操作:
恢复 MongoDB 部署中的部分数据。
将以前版本的数据与当前数据进行比较。
通过比较多个快照中的数据,确定恢复系统的最佳时间点。
Considerations
只读实例
Ops Manager将这些可查询快照预配为只读MongoDB实例。具体来说, Ops Manager使用所选快照存储中的数据启动mongod 。
重要
默认情况下,这些实例的可用时间最长为 24 小时。您可以使用 Expiration (Hours) 配置持续时间。有关其他可查询备份设置,请参阅可查询快照配置。
对可查询快照的查询限制
无法对可查询快照执行以下操作:
需要占用磁盘空间的查询,例如带有
running aggregationallowDiskUse选项的 ,用于执行大型排序操作。
无法查询命名空间过滤的快照
如果您将命名空间筛选器应用于快照,则无法查询该快照。
无法查询压缩文件系统存储Atlas 备份快照
您无法查询在文件系统存储中压缩的快照。此限制不适应用存储在块存储或与 S3 兼容的存储兼容的快照存储中的压缩快照,这些快照存储使用压缩作为其存储格式的一部分。
对于运行FCV.4 2或更高版本的 MongoDB数据库, Ops Manager不会将备份压缩到文件系统存储,并忽略File System Store Gzip Compression Level 设置。
如果对 文件系统存储 中的快照应用压缩,创建一个新的文件系统存储 并禁用压缩,将来来的备份分配给该存储。
连接方法
与这些实例的连接通过 TLS 进行,并需要 x.509身份验证。 Ops Manager提供:
一个可执行文件,用于创建处理连接的隧道,包括客户端TLS 和 x.509身份验证。
请求通过隧道路由。隧道确保请求与正确的
mongod实例通信。x.509 证书(如果要手动处理连接详细信息),包括 TLS 和 x.509身份验证。
请求通过网络服务器传入,该服务器充当
mongod的代理。
多区域备份
如果启用了多区域备份,则会在集群级别禁用可查询备份,以防止跨区域数据传输。 您可以将集群成员(例如分片和配置服务器)关联到不同的部署区域。 这使MongoDB Ops Manager能够通过配置服务器的 bqProxyEndpoint 路由所有集群级查询。 要在集群级别启用可查询备份,请在/opt/mongodb/mms/conf/conf-mms.properties文件中将mms.backup.enableClusterLevelMultiRegionQueryable设立为true 。 默认,此应用设置的值为false 。
注意
直接查询分片或配置服务器不会导致跨区域的任何数据传输。
从区域备份恢复
如果为分片集群启用区域备份,则必须逐个分片启动可查询恢复作业,以确保区域数据隔离性。 由于部署区域绑定到单个分片而不是分分片的集群,因此当您在分片分片集群级别启动恢复作业时, MongoDB Ops Manager无法保证数据隔离性性。
先决条件
重要
要从自己的工作站连接到可查询备份实例,请使用最新版本的MongoDB Database Tools(包括 mongodump和mongorestore )以及最新版本的mongosh 。
mongodump 的旧版本包含一个问题,该问题可能导致集合选项中的密钥按错误的顺序转储。要了解更多信息,请参阅 TOOLS-3411.。
如果您在 本地模式下运行 Ops Manager,请安装针对 Ops Manager 版本在 数据库工具兼容性表中列出的版本,而不是最新可用版本。
本地模式的加密快照支持
如果您运行的是 MongoDB Enterprise Edition 4.2.9 或更高版本,则可以使用 Ops Manager的本地模式对加密快照进行查询。
快照与目标数据库之间的 MongoDB 版本兼容性
您可以运行MongoDB3.2 或更高版本的 CSRS查询从副本集或分片的集群创建的快照。
为了使可查询备份成功,作为恢复目标的 MongoDB 实例必须运行兼容的 MongoDB 版本。下表列出了每种部署类型和 MongoDB 版本的兼容性要求。
分片集群
快照数据 MongoDB 版本 | 目标数据库的兼容 MongoDB 版本 | 平台 |
|---|---|---|
8.0 .x | 8.0.xEnterprise 或更高版本 | Any |
7.0 .x | 7.0.xEnterprise 或更高版本 | Any |
6.0 .x | 6.0.0 Enterprise 或更高版本 | Any |
5.0 .x | 5.0.0 Enterprise 或更高版本 | Any |
4.4.x | 4.4.0 Enterprise 或更高版本 | Any |
副本集
快照数据 MongoDB 版本 | 目标数据库的兼容 MongoDB 版本 | 平台 |
|---|---|---|
8.0 .x | 8.0.xEnterprise 或更高版本 | Any |
7.0 .x | 7.0.0 Enterprise 或更高版本 | Any |
6.0 .x | 6.0.0 Enterprise 或更高版本 | Any |
5.0 .x | 5.0.0 Enterprise 或更高版本 | Any |
4.4.x | 4.4.0 Enterprise 或更高版本 | Any |
身份验证和授权
重要
传输层安全、公钥基础架构、X.509 证书和证书颁发机构的完整描述超出了本教程的范围。本教程假定您事先了解 TLS 并访问权限有效的 X.509 证书。
Ops Manager 需要一个单独的 PEM 文件来验证和授权使用可查询备份。该 PEM 文件:
必须属于拥有 Ops Manager 进程的同一平台用户和群组。在 Linux 上,
mongodb-mms:mongodb-mms用户和群组拥有此 PEM 文件。在 Windows 上,使用SYSTEM用户。必须仅由平台用户读取。
必须不同于用于与Ops Manager进行 HTTPS 连接的连接 (
HTTPS PEM Key File)。应使用大于 512 位的密钥长度。 建议使用 2048 位 RSA 密钥。
应使用比
sha1更强的消息摘要,例如sha256。
PEM 文件至少包括以下内容:
服务器证书/密钥对和
证书颁发机构证书
这些对会合并在一起以创建一个 PEM 文件,供可查询备份使用。该对有以下要求:
证书颁发机构证书
证书颁发机构必须签署要在 PEM 文件中使用的任何其他证书和密钥。证书颁发机构可以是以下机构之一:
私有证书颁发机构(自签名;建议用于测试目的)。
来自证书提供者的中间证书颁发机构证书。
公司安全团队签发的证书颁发机构。
服务器证书/密钥对
您选择的证书颁发机构必须签署此服务器证书。
服务器证书/密钥对的公用名称设置取决于 Ops Manager 部署使用的主机数量:
对于单个 Ops Manager 主机,该对中的主题备用名称(或者,如果没有 SAN,则为通用名称)必须与 Ops Manager 主机的 FQDN 匹配。
为了获得高可用性,该对中的 SAN(或者,如果没有 SAN,则为通用名称)必须与负载均衡器 URL 的 FQDN 相匹配。
连接服务器证书/密钥对和证书链以创建代理服务器 PEM 密钥。
PEM 文件位置
对于可查询的备份主机,您必须使用Proxy Server PEM File设置指定 PEM 文件(其中包含公钥证书及其关联的私钥)的位置。 如果尚未设置可查询备份设置:
单击右上角的 Admin。在 Admin 屏幕上,单击 General Ops Manager Config Backup。
滚动到Queryable Snapshot Configuration
Proxy Server PEM File并指定隧道或客户端可用于连接到可查询的 实例的mongod。如果文件已加密,请指定
Proxy Server PEM File Password。可选。根据需要更新其他可查询快照设置。有关设置的说明,请参阅可查询快照配置。
注意
如果要更改以下任何设置,则必须重新启动 Web 服务器:
为应用服务器开放端口
应用服务器要求 27700-27719 端口处于打开状态,以便与可查询备份快照进行通信。
如果使用负载负载均衡器,则它必须通过 Proxy Server Port 中的值传递 TCP 连接。
要了解有关端口要求的详情,请参阅防火墙配置。
Ops Manager 备份守护程序有足够的 Worker
要查询分片集群的快照,备份守护程序至少需要一个用于配置服务器的工作线程,每个分片一个工作线程,以及一个用于mongos 实例的工作线程。
要查询副本集的快照,备份守护程序需要至少一个副本集的工作线程。
示例,如果您从具有3 1分片路由器 ()mongos 的 -分片集群恢复可查询备份,则需要此值至少为5 :
每个分片 1 个 (
3) +1 用于配置服务器 (
1) +1 表示
mongos
当可查询备份开始时,备份守护程序会启动 5 个或更多工作线程来管理这些组件。
主机名
可查询备份的mongod 的 FQDN 必须与 Daemons 页面中找到的 FQDN 相匹配。要查找该主机名,请单击 Admin 链接,然后单击 Backup 和 Daemons。
可查询备份需要下载 Enterprise 版
如果Ops Manager可以连接到互联网,请将 Backup Versions Auto Download Enterprise Builds设立为 TRUE。可查询备份需要MongoDB Enterprise。
查询备份(使用隧道进行连接)
注意
隧道处理连接到实例的安全性(TLS 和 x.509身份验证)。
按照提示查询备份快照。
选择要查询的快照,然后单击 Next。
Start 查询快照的进程。您将收到双因素验证的提示。
选择 Backup Tunnel 作为与可查询快照的连接方法。
选择您的平台并进行下载。
解压缩下载的文件。
注意
等待挂载可查询快照,然后再继续。 快照挂载时间取决于快照的大小。 导航到Continuous Backup并选择Restore History标签页,验证快照是否已挂载。 挂载快照后, Status列会报告挂载操作的日期和时间。
打开终端或命令提示符,转到解压缩的<隧道>目录。运行可执行文件,启动隧道。
隧道的默认端口是
27017。要更改端口,请使用--local标志,如下例所示:./<tunnel executable> --local localhost:27020 注意
如果您更改端口,则必须在连接时包含端口信息。
要查看可传递到隧道的完整选项列表,请使用
-h选项运行隧道可执行文件:./<tunnel executable> -h 使用
mongosh或MongoDB驾驶员通过隧道连接到备份。如果从运行隧道的同一台计算机进行本地连接,则无需指定连接字符串或主机信息。 否则,请为运行隧道的计算机指定连接字符串或主机信息。
如果您已变更通道监听的端口,则必须在连接时指定端口信息。
提示
查询完此快照后,可以终止可查询实例:
转到 Restore History 并将鼠标悬停在部署项的 Status(状态)列上。
单击 Cancel(连接)。
注意
要查找可查询备份mongod 实例的日志文件,请导航到备份守护程序托管的头部目录中的以下路径:
<daemon-hostname>:/<headDirectory>/queryable/<backupId>/mongod.log
查询备份(手动处理 TLS 身份验证)
注意
客户端 X.509 证书的有效期与可查询实例 Expiration (Hours) 的有效期相同,默认为 24 小时。
提示
查询完此快照后,可以终止可查询实例:
转到 Restore History 并将鼠标悬停在部署项的 Status(状态)列上。
单击 Cancel(连接)。
后续步骤
要使用可查询备份 MongoDB 实例恢复数据库或集合,请参阅“从可查询备份中恢复数据库或集合”。