查询备份快照
Ops Manager 提供 可查询备份。使用此功能,您可以更快速地查询特定的备份快照。您可以使用可查询备份执行以下操作:
恢复 MongoDB 部署中的部分数据。
将以前版本的数据与当前数据进行比较。
通过比较多个快照中的数据,确定恢复系统的最佳时间点。
Considerations
只读实例
Ops Manager 将这些可查询快照预配为只读 MongoDB 实例。具体来说,Ops Manager 使用所选快照存储中的数据启动 mongod。
重要
默认,这些实例的可用时间最长为24小时。 您可以使用 Expiration (Hours)
配置持续时间。 有关其他可查询备份设置,请参阅可查询快照配置。
对可查询快照的查询限制
无法对可查询快照执行以下操作:
需要使用磁盘的查询,例如使用
allowDiskUse
选项运行聚合以执行大型排序操作。
无法查询命名空间过滤的快照
如果您将命名空间筛选器应用于快照,则无法查询该快照。
如果快照在 文件系统存储 中进行了 压缩 ,则无法查询快照内容。
连接方法
与这些实例的连接通过TLS / SSL进行,并且需要x。 509身份验证。 MongoDB Ops Manager提供:
多区域备份
如果启用了多区域备份,则会在集群级别禁用可查询备份,以防止跨区域数据传输。 您可以将集群成员(例如分片和配置服务器)关联到不同的部署区域。 这使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
存在一个问题,可能会导致集合选项中的键按错误顺序转储。 要了解更多信息,请参阅 工具 -3411 。
本地模式的加密快照支持
如果您运行的是 MongoDB Enterprise Edition 4.2.9 或更高版本,则可以使用 Ops Manager的本地模式对加密快照进行查询。
快照与目标数据库之间的 MongoDB 版本兼容性
您可以使用运行 MongoDB3.2 或更高版本的 CSRS 查询从 副本集 或 分片集群 创建的快照。
为了使可查询备份成功,作为恢复目标的 MongoDB 实例必须运行兼容的 MongoDB 版本。下表列出了每种部署类型和 MongoDB 版本的兼容性要求。
分片集群
快照数据 MongoDB 版本 | 目标数据库的兼容 MongoDB 版本 | 平台 |
---|---|---|
4.4.x | 4.4.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 |
4.0.x | 4.0.0 Enterprise 或更高版本 | Any |
3.6.x | 3.6.5 Enterprise 或更高版本 | Any |
3.4.x | 3.4.11 Enterprise 或更高版本 | Windows |
3.4.x | 3.4.2 Enterprise 或更高版本 | Linux |
副本集
快照数据 MongoDB 版本 | 目标数据库的兼容 MongoDB 版本 | 平台 |
---|---|---|
4.4.x | 4.4.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 |
4.0.x | 4.0.0 Enterprise 或更高版本 | Any |
3.6.x | 3.4.11 Enterprise 或更高版本 | Windows |
3.6.x | 3.4.2 Enterprise 或更高版本 | Linux |
3.4.x | 3.4.11 Enterprise 或更高版本 | Windows |
3.4.x | 3.4.2 Enterprise 或更高版本 | Linux |
3.2 | 3.4.11 Enterprise 或更高版本 | Windows |
3.2 .x | 3.4.2 Enterprise 或更高版本 | Linux |
身份验证和授权
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
实例。
要查询副本集的快照,备份守护程序需要至少一个副本集的工作线程。
示例,如果您使用 1分片路由器 ( 分片 ) 从 3-分片集群恢复可查询备份, 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/SSL 和 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 小时。
按照提示查询备份快照。
选择要查询的快照,然后单击 Next。
Start 查询快照的进程。如果提示输入密码,请输入密码进行验证。
选择 Connect Manually 作为与可查询快照的连接方法。
下载 X.509 客户端 PEM 文件。
下载证书颁发机构 PEM 文件。
注意
等待挂载可查询快照,然后再继续。 快照挂载时间取决于快照的大小。 导航到Continuous Backup并选择Restore History标签页,验证快照是否已挂载。 挂载快照后, Status列会报告挂载操作的日期和时间。
使用
mongosh
或MongoDB驾驶员连接到可查询备份托管。 要进行连接,必须指定主机名和端口、 TLS选项以及 X. 509证书。例子
如果使用
mongosh
连接到实例:mongosh my-queryable-backup-host.mongodb.com:27217 \ --tls --tlsCertificateKeyFile <client certificate> \ --tlsCAFile mms-backup-ca.pem
提示
查询完此快照后,可以终止可查询实例:
转到 Restore History 并将鼠标悬停在部署项的 Status(状态)列上。
单击 Cancel(连接)。
后续步骤
要使用可查询备份 MongoDB 实例恢复数据库或集合,请参阅“从可查询备份中恢复数据库或集合”。