在副本集和分片环境中使用Percona Backup for MongoDB:第一部分

在副本集和分片环境中使用Percona Backup for MongoDB:第一部分

💡 原文英文,约5900词,阅读约需22分钟。
📝

内容提要

本文介绍了Percona Backup for MongoDB(PBM)的使用方法,包括多种备份方式和在副本集和分片拓扑中的应用。文章还提供了配置、监控和调试PBM的步骤。PBM是一个适用于复杂MongoDB拓扑结构的简单方便的备份和恢复工具。

🔎

延伸解读

PBM 代理连接配置的关键细节

在配置 pbm-agent 时,必须确保每个代理连接到本地的 mongod 节点,而不是副本集 URI。文章强调,代理应使用独立连接(如 mongodb://pbmuser:pbmuser@localhost:27017/?authSource=admin),而 PBM 客户端则应连接到副本集(如添加 replSetName 参数)。这种区分对于备份和恢复操作的正确性至关重要,错误配置可能导致代理无法正常工作。

分片环境下的用户与角色管理

在分片集群中,PBM 要求在每个副本集(包括配置服务器和所有分片)的主节点上创建相同的用户和角色。文章演示了在 configRepl、shard01 和 shard02 上分别执行创建 pbmAnyAction 角色和 pbmuser 用户的命令。这确保了 PBM 代理有足够的权限执行备份和恢复操作,同时避免了因权限不足而导致的失败。

物理备份与逻辑备份的差异及限制

PBM 支持物理和逻辑两种备份类型。物理备份直接复制磁盘文件,恢复时需要关闭 mongod 节点、清理数据目录并复制文件,之后还需重启节点、重新同步备份列表并启动 balancer 和 mongos。逻辑备份则通过 mongodump 工具进行,恢复时数据会插入到每个主节点,然后通过复制传播。但文章指出,MongoDB 社区版不支持热物理备份,因此只能使用逻辑备份。

监控与调试 PBM 活动的实用命令

文章提供了多个监控和调试 PBM 的命令,例如使用 pbm logs 查看所有日志,或通过 --event=backup 和 --event=restore 过滤特定事件的日志。还可以使用 journalctl -u pbm-agent.service 检查代理服务事件,以及 pbm describe-backup 查看特定备份的详细信息。这些命令有助于快速定位备份或恢复过程中的问题。

❓

Q&A

Percona Backup for MongoDB (PBM) 是什么?它支持哪些备份类型?

PBM 是一个备份管理工具,通过提供物理、逻辑、增量、PITR 等多种备份层来增强 MongoDB 的备份能力。

在副本集环境中配置 PBM 时,如何设置 MongoDB 身份验证?

需要在主节点上创建自定义角色 pbmAnyAction 和用户 pbmuser,并赋予 readWrite、backup、clusterMonitor、restore 和 pbmAnyAction 角色。

PBM 的 pbm-agent 进程应该连接到什么类型的 MongoDB 连接?

pbm-agent 进程应连接到本地 mongod 节点的独立连接,不要设置为连接到副本集 URI。

在分片环境中设置 PBM 时,需要在哪些节点上创建用户?

需要在每个副本集的主节点上创建用户,包括配置服务器副本集和所有分片副本集的主节点。

PBM 的物理备份和逻辑备份有什么区别?

物理备份是复制磁盘文件,恢复时需关闭 mongod 节点并清理数据目录;逻辑备份通过 mongodump 工具转储数据,恢复时由 pbm-agent 将数据插入每个主节点,其余节点通过复制获得数据。

如何监控和调查 PBM 的备份或恢复活动?

可以使用 pbm logs 查看所有日志,pbm logs --event=backup 或 --event=restore 查看特定事件,journalctl -u pbm-agent.service 检查代理事件,pbm describe-backup 查看特定备份详情。

🏷️

标签

➡️

继续阅读