NetBackup™ for MongoDB 管理指南

Last Published:
Product(s): NetBackup (10.3)
  1. 使用 NetBackup 保护 MongoDB 的概述
    1.  
      关于使用 NetBackup 保护分片、副本集或独立 MongoDB 群集
    2.  
      使用 NetBackup 保护 MongoDB 数据
    3.  
      NetBackup for MongoDB 术语
    4.  
      限制
    5.  
      保护 MongoDB 的前提条件和最佳做法
  2. 验证适用于 NetBackup 的 MongoDB 插件的前提条件
    1.  
      操作系统和平台兼容性
    2.  
      配置 MongoDB 插件的前提条件
  3. 配置 NetBackup for MongoDB
    1.  
      关于 MongoDB 配置工具
    2.  
      手动创建 mongodb.conf 文件的前提条件
    3. 使用 mongodb.conf 文件为 MongoDB 配置备份选项
      1.  
        在 NetBackup 主服务器允许列表中包括配置文件路径
    4.  
      获取 MongoDB 节点的 RSA 密钥
    5. 在 NetBackup 中添加 MongoDB 凭据
      1.  
        关于凭据配置文件
      2.  
        如何在 NetBackup 中添加 MongoDB 凭据
      3.  
        关于保护数据的 MongoDB 角色
    6.  
      使用非 root 用户作为主机用户
    7. 管理备份主机
      1.  
        在 NetBackup 主服务器允许列表中包括 NetBackup 客户端
  4. 使用 NetBackup 备份 MongoDB
    1. 备份 MongoDB 数据
      1.  
        备份 MongoDB 群集
    2.  
      备份 MongoDB 群集的前提条件
    3. 为 MongoDB 插件配置 NetBackup 策略
      1.  
        使用 Web UI 为 MongoDB 群集创建 BigData 备份策略
  5. 使用 NetBackup 还原或恢复 MongoDB 数据
    1.  
      还原 MongoDB 数据
    2.  
      MongoDB 还原和恢复的前提条件
    3.  
      使用 NetBackup Web UI 在同一群集上还原 MongoDB 数据
    4.  
      使用 NetBackup Web UI 在备用群集上还原 MongoDB 数据
    5.  
      关于在备用客户端上以高可用性设置还原 MongoDB 数据
    6.  
      恢复过程完成后的手动步骤
  6. 故障排除
    1.  
      关于 NetBackup for MongoDB 调试日志记录
    2.  
      使用 NetBackup 保护 MongoDB 的已知限制
  7. 附录 A. 其他信息
    1.  
      添加和更新 MongodB 凭据的 MongodB 配置实用程序工作流程示例
  8.  
    索引

保护 MongoDB 的前提条件和最佳做法

前提条件
  • 对于分片 MongoDB 群集,mongosmongod 进程必须在备份策略中指定为客户端的应用程序服务器上运行。

  • 备份主机仅支持 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 群集。

在 MongoDB 和 NetBackup 之间进行通信的最佳做法
  • 如果将 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> 选项连接到 mongodmongos 进程。有关更多信息,请参考《MongoDB 管理指南》。

  • tpconfig 命令和 mongodb.confHostPassword 中使用 -host_password 选项时,请确保密码符合以下条件:

    • 不超过 63 个字符

    • 包含一个或多个字母数字字符:a-z、A-Z、0-9

    • 包含以下一个或多个字符:-(连字符)、_(下划线)、,(逗号)、.(句点)、?(问号)

  • mongodb.conf 文件中为日志、精简客户端 (mdbserver)、快照或任何其他内容定义路径时,请确保凭据文件中的主机用户具有访问这些路径的有效权限。

  • 要启用 SSH,请在 sudoers 文件中添加以下条目:

    Default <host_user> !requiretty

使用 NetBackup 保护 MongoDB 的最佳做法
  • 确保 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.confmongos.conf 文件启动 MongoDB 进程,请在 MongoDB 群集上使用绝对系统路径运行 mongod 文件。例如,使用以下命令:

    mongod --config /home/user1/mongod.conf

  • NetBackup 建议在 MongoDB 实例中进行任何配置更改后运行完全备份。如果在进行配置更改后计划运行增量式备份,则在运行增量式备份前手动运行完全备份。

    例如,修改 MongoDB Feature Compatibility 版本 (FCV)、MongoDB 版本、身份验证类型、拓扑结构(添加新的分片或删除现有分片)、存储参数等,然后运行完全备份。