Ops Manager 提供可查询备份。此功能使您可以更快速地查询特定的备份快照。您可以使用可查询备份执行以下操作:
恢复 MongoDB 部署中的部分数据。
将以前版本的数据与当前数据进行比较。
通过比较多个快照中的数据,确定恢复系统的最佳时间点。
Considerations
只读实例
MongoDB Ops Manager 将这些可查询快照预配为只读 MongoDB 实例。具体来说,MongoDB Ops Manager 使用所选快照存储中的数据启动 mongod。
重要
默认情况下,这些实例的可用时间最长为 24 小时。您可以使用 Expiration (Hours) 配置持续时间。有关其他可查询备份设置,请参阅可查询快照配置。
对可查询快照的查询限制
无法对可查询快照执行以下操作:
需要使用磁盘的查询,例如使用
allowDiskUse选项执行大型排序操作的running aggregation。
无法查询命名空间过滤的快照
如果您将命名空间筛选器应用于快照,则无法查询该快照。
如果快照在 文件系统存储 中进行了 压缩 ,则无法查询快照内容。
连接方法
与这些实例的连接通过 TLS 进行,并需要 x.509509 身份验证 。MongoDB Ops Manager 提供:
x.509 证书(如果您想手动处理连接详情),包括 TLS 和 x.509 身份验证。
请求通过 Web 服务器进来,该服务器充当
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 |
身份验证和授权
Ops Manager 需要一个单独的 PEM 文件来验证和授权使用可查询备份。该 PEM 文件:
必须属于拥有 Ops Manager 进程的同一平台用户和群组。在 Linux 上,
mongodb-mms:mongodb-mms用户和群组拥有此 PEM 文件。在 Windows 上,使用SYSTEM用户。必须仅由平台用户读取。
必须与用于将 HTTPS 连接到 Ops Manager (
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 分片路由器( mongos )从1 mongos-分片集群恢复可查询备份,则此值需至少为5 :
每个分片 1 个 (
3) +1 用于配置服务器 (
1) +1 表示
mongos
当可查询备份开始时,备份守护程序会启动 5 个或更多工作线程来管理这些组件。
主机名
托管可查询备份的 的 FQDN mongod必须与 页面找到的 FQDN 相匹配。Daemons要查找该主机名,请单击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(连接)。
注意
查询备份(手动处理 TLS 身份验证)
注意
客户端 X.509 证书的有效期与可查询实例 Expiration (Hours) 的有效期相同,默认为 24 小时。
提示
查询完此快照后,可以终止可查询实例:
转到 Restore History 并将鼠标悬停在部署项的 Status(状态)列上。
单击 Cancel(连接)。
后续步骤
要使用可查询备份 MongoDB 实例恢复数据库或集合,请参阅“从可查询备份中恢复数据库或集合”。