安装 Ops Manager 应用程序数据库和备份数据库
在安装MongoDB Ops Manager之前,必须部署其支持数据库。 这些称为后端数据库。 这些数据库包括Ops Manager Application Database和备份数据库。 下表对Ops Manager Application Database和备份数据库进行了比较:
常见问题解答 | ||
---|---|---|
数据库存储什么? | 警告:以下项目可能包含敏感数据。 为了防止未经授权的访问权限并保护敏感数据,您必须保护Ops Manager Application Database 。
| |
数据库有必要吗? | 是 | 不可以,除非您使用MongoDB Ops Manager备份MongoDB Ops Manager管理的数据库。 |
数据库应该如何存储数据? | 独立存储卷上的专用副本集 | 独立存储卷上每个备份数据库的专用副本集 |
数据库是否可以使用多个部署? | No | |
MongoDB Ops Manager是否可以对此数据库使用自动化模块? | No | 是 |
MongoDB Ops Manager能否使用备份模块来备份此数据库? | No | No |
MongoDB Ops Manager是否可以使用监控模块来监控此数据库? | 是 |
注意
每个后端数据库必须使用专用副本集。 副本集不能存储其他数据。
如果运行常规备份,一个备份数据库可能会占满一个卷。 如果应用程序数据库无法写入卷, MongoDB Ops Manager将停止。 正确的存储设置可降低MongoDB Ops Manager故障的风险。
Considerations
副本集拓扑
每个后端数据库副本集应包括三个承载数据的节点,以实现高可用性。 如果存储容量不足,无法容纳三个数据承载节点,则后端数据库的第三个节点可能是仲裁节点。
对于MongoDB Ops Manager应用程序数据库,您可以在与MongoDB Ops Manager相同的托管上运行副本集的一个成员。
重要
承载数据的成员少于三个的后端数据库
在写入其后端数据库时, MongoDB Ops Manager使用 Replica Acknowledged (w:2
)写关注(write concern)。 只有在主节点 (primary node in the replica set)和一个从从节点(secondary node from replica set)确认写入后,此写关注(write concern)才会报告写入成功。 这意味着,如果后端数据库丢失两个承载数据的成员之一, MongoDB会停止写入操作。
警告
默认读关注和写关注
MongoDB版本的默认MongoDB读关注和写入关注应与后端数据库和应用程序数据库的默认读关注和写入关注相匹配。 如果设立了不同的读关注或写关注(write concern),则可能会遇到数据丢失的情况。
应用程序数据库监控
您可以选择在安装MongoDB Ops Manager后监控应用程序数据库。
要监控应用程序数据库,请执行以下操作:
完成后端数据库的安装。
安装MongoDB Ops Manager应用程序。
Enable Monitoring
用于应用程序数据库。在应用程序数据库主机上安装MongoDB Agent 。
通过 用户界面 添加应用程序数据库 MongoDB Ops Manager。
先决条件
副本集配置
托管Ops Manager 后端数据库 的 副本集 必须:
使用专用数据库
副本集 必须存储数据以MongoDB Ops Manager 仅 支持 元数据。它们不得存储任何其他数据。
将后端数据库用于 S3 兼容存储块和oplog元数据
如果使用 S 3兼容存储进行区块或 oplog 存储,则后端数据库可以存储区块和 oplog 的元数据。
使用兼容的 MongoDB 版本
对于以下 Ops Manager 版本系列,您可以在以下任一 MongoDB 版本上运行其后端数据库:
Ops Manager 版本 | MongoDB 4.2 | MongoDB 4.4 | MongoDB 5.0 | MongoDB 6.0 |
---|---|---|---|---|
MongoDB Ops Manager 5.0 | 已弃用 | 受支持 | 受支持 | |
Ops Manager 6.0 | 已弃用 | 受支持 | 受支持 |
注意
已弃用的版本仍然适用于相应的 Ops Manager 版本,但我们将在下一版本中删除对该版本的支持。MongoDB 支持部门建议迁移到支持的版本,以避免潜在的不兼容问题。
如要了解更多信息,请参阅 MongoDB 旧版支持政策和 MongoDB Ops Manager 的软件生命周期时间表。
版本支持涵盖从第一个版本到最后一个版本的完整版本系列。
要了解有关 MongoDB 版本控制的更多信息,请参阅 MongoDB 手册中的 MongoDB 版本控制。
重要
只有 MongoDB Ops Manager 备份数据库必须满足此要求。Ops Manager 管理的 MongoDB 部署不是。有关托管 MongoDB 部署所需的最低版本,请参阅 MongoDB 兼容性矩阵。
对应用程序数据库使用WiredTiger storage engine
WiredTiger对MongoDB Ops Manager 应用程序数据库使用 。
使用WiredTiger storage engine作为备份数据库
有关备份数据库配置选项,请参阅备份准备。
使用不需要索引的查询
请勿使用MongoDB --notablescan
参数设立运行后端数据库。 设立为 后,此参数将指定所有查询都必须使用索引。
副本集安全性
保护与后端数据库的连接
确保从MongoDB Ops Manager到后端数据库的连接是安全的。 配置这些数据库以接受来自MongoDB Ops Manager 仅使用 TLS 的 连接。
为后端数据库配置身份验证机制
使用身份验证机制将对后端后端数据库的访问权限限制为特定MongoDB用户。 要将后端数据库配置为使用身份验证,请参阅配置MongoDB Ops Manager以使用应用程序数据库进行身份验证。
为访问后端数据库的MongoDB Ops Manager用户授予最少角色
将这些用户设置为具有readWriteAnyDatabase
和dbAdminAnyDatabase
角色。 如果后端数据库是分片集群,请添加clusterAdmin
,否则添加clusterMonitor
。
主机配置
运行副本集的主机必须满足以下要求:
硬件
主机必须满足Ops Manager Application Database硬件要求或备份数据库硬件要求,具体取决于托管运行的数据库。 如果托管除数据库之外还服务其他MongoDB Ops Manager组件,则必须汇总每个组件的硬件要求,以确定托管的要求。
系统配置
除非与本教程明确抵触,否则必须根据MongoDB 生产说明中给出的要求配置主机。 生产说明包括有关 ulimit、NUMA 和其他配置选项的信息。
主机名
使用小写的 FQDN 。 如果使用大写字符, MongoDB Ops Manager可能无法找到您的后端数据库。 要了解有关命名主机的更多信息,请参阅 RFC1178 。
网络
主机网络安全必须允许防火墙配置中描述的所需端口。 每台主机相应的入站和出站防火墙规则必须允许访问所需的端口。
仅限 RHEL 6和CentOS 主机
RHEL 和 CentOS 6 将用户进程的最大数量限制为 1024
。这将覆盖一般用户进程限制 (ulimit -u
) 设置。
对于运行 Ops Manager 的用户 ID(默认为 mongodb-mms
),将 soft
和 hard
nproc
(进程数)条目添加到 /etc/security/limits.d/99-mongodb-nproc.conf
用户进程配置文件。使用大于 RHEL 1024
用户进程数限制的值。
mongodb-mms soft nproc 200000 mongodb-mms hard nproc 500000
如果 /etc/security/limits.d/99-mongodb-nproc.conf
不存在,则进行创建。将 /etc/security/limits.d/90-nproc.conf
文件的内容作为模板。
在 模式运行SELinux 的 RHEL 和CentOS主机enforcing
如果主机未配置为使用默认 MongoDB data
或log
路径或端口,且正在执行 SELinux 策略,请在启动后端数据库之前更新 SELinux 策略。
要了解如何更新 SELinux 策略,请执行以下操作:
对于 MongoDB Community Edition,请参阅配置 SELinux
对于 MongoDB Enterprise 版,请参阅配置 SELinux
部署后端数据库
要部署MongoDB副本集以托管MongoDB Ops Manager后端数据库,请执行以下操作:
预配主机。
您的主机必须满足主机配置要求。
重要
根据 MongoDB生产说明 ,为后端 后端数据库 配置MongoDB 部署。否则, MongoDB 部署可能会失败。
在每台主机上安装 MongoDB。
按照以下步骤安装 MongoDB 。 如果为后端数据库安装MongoDB Enterprise ,则必须安装 MongoDB Enterprise 依赖项。
后续步骤
安装MongoDB Ops Manager时,必须设立
mongo.mongoUri
设置以连接到您在本教程中为应用程序数据库创建的副本集。如果您为MongoDB Ops Manager部署启用备份,则必须将oplog存储配置为使用您在本教程中为备份数据库创建的副本集。 如果您 还 选择使用 块存储 或 S3 快照存储 来存储 快照 ,则必须为每个 块存储 或 S3 块存储 元数据数据库 部署一个副本集 。