NetBackup™ for MongoDB 管理指南
保护 MongoDB 的前提条件和最佳做法
对于分片 MongoDB 群集,mongos 和 mongod 进程必须在备份策略中指定为客户端的应用程序服务器上运行。
备份主机仅支持 RHEL 和 SUSE 平台。
NetBackup for MongoDB 插件要求 NetBackup 主服务器、介质服务器和备份主机上的 NetBackup 版本为 8.2 或更高版本。
验证 NetBackup 是否支持您拥有的 MongoDB 版本。有关更多信息,请参考“软件兼容性列表”。
NetBackup 支持在 RHEL、SUSE 和 Linux-s390x IBMzSeriesRedHat 操作系统上配置或安装的 MongoDB 群集。
NetBackup 支持以下 MongoDB 配置:
分片 MongoDB 群集(包含配置服务器和分片的 MongoDB 群集)
副本集 MongoDB 群集
不含副本集的独立 MongoDB
NetBackup 对 MongoDB 支持以下身份验证类型:
无身份验证
简单身份验证
基于证书的身份验证
NetBackup 支持以下文件系统进行备份和还原:
XFS
ext4
在所有 MongoDB 节点上安装 OpenSSH 软件包。在所有 MongoDB 节点上启用 SSH。
NetBackup 支持配置了 WiredTiger 存储引擎的 MongoDB 群集。
NetBackup 会保护使用
.tar文件在本地配置或安装的 MongoDB 群集,也会保护使用 MongoDB 官方存储库安装的 MongoDB 群集。NetBackup 对 MongoDB 支持差异增量式备份以及完全备份。目前不支持累积增量式备份。
NetBackup 建议在分片 MongoDB 环境中至少有三个配置服务器,以支持备份的高可用性。
不要在同时具有 MongoDB 应用程序的服务器上安装 MongoDB 插件。具有 MongoDB 应用程序的服务器不能用作备份主机。
确保 MongoDB 服务器和备份主机上的本地时间与 NTP 服务器同步。
对于分片 MongoDB 群集,查询路由器角色必须存在于配置服务器上。
对于具有 SUSE 操作系统的 MongoDB 群集,在所有 MongoDB 节点上的
/etc/ssh/sshd_config文件中,将 PasswordAuthentication 字段设置为 Yes。更新该文件后,重新启动 sshd。
确保所有群集都支持相同的哈希密钥算法 (RSA)。
确保使用 tpconfig 命令配置的主机用户凭据属于用于配置 MongoDB 群集的主机用户帐户(MongoDB 后台驻留程序的主机用户帐户,可以是 root 用户帐户,也可以是非 root 用户帐户)。
有关更多详细信息,请参见使用非 root 用户作为主机用户。
要保护 MongoDB 版本 4.2,请将在备份策略中定义的 NetBackup 备份主机以及 NetBackup 主服务器和介质服务器升级到版本 9.0。早于 9.0 的备份主机版本可能会影响 MongoDB 4.2 群集。
请确保 ss 命令在 MongoDB 节点上可用。需要使用 ss 命令来标识使用来自外部的配置文件创建的 MongoDB 群集。
要保护 MongoDB 版本 4.2,请将在备份策略中定义的 NetBackup 备份主机以及 NetBackup 主服务器和介质服务器升级到版本 9.0。早于 9.0 的备份主机版本可能会影响 MongoDB 4.2 群集。
如果将 NetBackup 客户端用作备份主机,请确保在 NetBackup 主服务器的
bp.conf文件中添加以下值:APP_PROXY_SERVER=NBU_CLIENT_FQDN如果 MongoDB 主机用户没有 root 权限,请确保该用户有权访问所有临时路径,以便复制精简客户端 (
mdbserver)、日志、快照等。将非 root 用户添加到操作系统中的sudoers文件。如果使用
.tar文件安装 MongoDB 或安装到非默认位置,请在操作系统的bashrc文件中添加 MongoDB bin 文件夹的路径,以确保可以从 CLI 运行 MongoDB 命令。如果 MongoDB 服务器使用 SUSE 12.3 操作系统,请确保可以使用 --host <FQDN> 选项连接到 mongod 和 mongos 进程。有关更多信息,请参考《MongoDB 管理指南》。
在 tpconfig 命令和
mongodb.confHostPassword中使用 -host_password 选项时,请确保密码符合以下条件:不超过 63 个字符
包含一个或多个字母数字字符:a-z、A-Z、0-9
包含以下一个或多个字符:-(连字符)、_(下划线)、,(逗号)、.(句点)、?(问号)
在
mongodb.conf文件中为日志、精简客户端 (mdbserver)、快照或任何其他内容定义路径时,请确保凭据文件中的主机用户具有访问这些路径的有效权限。要启用 SSH,请在 sudoers 文件中添加以下条目:
Default <host_user> !requiretty
确保 MongoDB 限制和阈值符合官方 MongoDB 准则。
确保在 tpconfig 命令中、在策略配置期间和在
mongodb.conf文件中一致使用主机名。例如,如果使用 FQDN,则将其用于所有主机名实例,而不使用短名称。确保 application_server 与 MongoDB 环境中使用的、且已使用 db.hostInfo() 命令进行验证过的主机名相匹配。
例如,db.hostInfo() 显示的主机名值:
"hostname" : "<hostname_value>:<port>"
在运行备份或还原作业之前,确保
mongodb.conf文件中没有 JSON 格式错误或拼写错误。确保在
mongod.conf文件中添加且在 tpconfig 命令中使用的安全证书路径对于所有 MongoDB 节点都相同。对于简单身份验证,请为每个 MongoDB 节点配置属于管理数据库的 root 组的同一用户。
如果使用
mongod.conf或mongos.conf文件启动 MongoDB 进程,请在 MongoDB 群集上使用绝对系统路径运行mongod文件。例如,使用以下命令:mongod --config /home/user1/mongod.conf
NetBackup 建议在 MongoDB 实例中进行任何配置更改后运行完全备份。如果在进行配置更改后计划运行增量式备份,则在运行增量式备份前手动运行完全备份。
例如,修改 MongoDB Feature Compatibility 版本 (FCV)、MongoDB 版本、身份验证类型、拓扑结构(添加新的分片或删除现有分片)、存储参数等,然后运行完全备份。