对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

为 Ops Manager 资源配置可查询备份

您可以为在Kubernetes Operator 中部署的Ops Manager资源配置可查询备份。

注意

在 Ops Manager 文档中,可查询备份也称为可查询快照或可查询恢复。

可查询备份允许您对 资源中的特定备份快照 运行查询MongoDB Ops Manager 。查询MongoDB Ops Manager备份可帮助您比较不同快照中的数据,并确定用于恢复数据的最佳快照。

在以下过程中,您将:

一旦 Kubernetes 操作符为其自定义资源部署更新后的配置,Ops Manager 就可以从spec.backup.queryableBackupSecretRef.name参数中读取密钥。您现在可以访问备份快照并对其运行查询。

在配置可查询备份之前,请完成以下任务:

1

如果您尚未执行,请运行以下命令,执行所创建命名空间的所有 kubectl 命令。

注意

MongoDB Ops Manager如果要在多 Kubernetes 集群 部署中部署MongoDB 资源:

  • 将 context 设置为中央集群的名称,例如:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"。

  • 将--namespace设置为您用于多 Kubernetes 集群 MongoDB 部署的相同范围,例如: kubectl config --namespace "mongodb" 。

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2

创建MongoDB Ops Manager queryable.pem文件,根据部署的TLS要求,使用该文件访问和查询备份。 PEM 文件包含公钥证书及其关联的私钥,在MongoDB Ops Manager中访问和运行备份快照时需要这些证书。

要学习;了解有关 PEM 文件要求的更多信息,请参阅Ops Manager中的授权和身份验证要求。

3

运行以下命令,使用上一步中创建的Queryable.pem文件创建密钥:

kubectl create secret generic queryable-pem --from-file=./queryable.pem

如果您使用 HashiCorp Vault 作为密钥存储工具,则可以改为创建保管库密钥。

要了解有关 Secret 存储的选项,请参阅配置 Secret 存储。

4

配置spec.backup.queryableBackupSecretRef.name以引用queryable.pem密钥。

1 apiVersion: mongodb.com/v1
2 kind: MongoDBOpsManager
3 metadata:
4 name: ops-manager
5 spec:
6 replicas: 1
7 version: 8.0.0
8 adminCredentials: ops-manager-admin-secret
9 backup:
10 enabled: true
11 queryableBackupSecretRef:
12 name: om-queryable-pem
5
6

对 Ops Manager 资源定义的文件名调用以下kubectl命令:

kubectl apply -f <opsmgr-resource>.yaml

当您将更改应用于 Ops Manager 资源定义时,Kubernetes 会更新 Ops Manager StatefulSet、创建卷并挂载密钥。

7
  1. 获取持久卷声明列表:

    kubectl get pvc
  2. 获取密钥:

    kubectl get secrets
  3. 检查你的 Ops Manager 资源的状态:

    kubectl get om <resource-name> -o yaml -w

    -w标志的意思是“观看”。 设置“watch”标志后,输出会在配置更改时立即刷新,直到状态阶段达到Running状态。

    要了解有关资源部署状态的更多信息,请参阅Kubernetes 操作符故障排除。

配置可查询备份后,您可以对其进行查询以选择用于恢复数据的最佳备份快照。

如果您要求MongoDB 部署中的所有容器都是完全静态的,最佳实践是禁用可查询备份。这样备份守护程序服务就不会尝试从Ops Manager下载MongoDB二进制文件。下载二进制文件会破坏静态容器的不变性,并且只能在非静态容器中进行。要学习;了解更多信息,请参阅静态容器(公共预览版)。

要禁用可查询备份,请执行以下操作:

1

在MongoDBOpsManager自定义资源中,将spec.configuration.mms.featureFlag.backup.queryable和spec.configuration.mms.featureFlag.backup.wt.queryable设置为disabled 。

1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: opsmgr-resource
5spec:
6 configuration:
7 mms.featureFlag.backup.wt.queryable: "disabled"
8 mms.featureFlag.backup.queryable: "disabled"
2
3

对 Ops Manager 资源定义的文件名调用以下kubectl命令:

kubectl apply -f <opsmgr-resource>.yaml
4

在MongoDB Ops Manager用户界面中,单击右上角的 Admin。 在Admin屏幕中,单击General Ops Manager Config Backup 。

5

导航至 Queryable Snapshot Configuration 部分并删除Proxy Server PEM File。

6