配置高可用性 Ops Manager 应用程序
在此页面上
MongoDB Ops Manager应用程序通过在负载负载均衡器器后面使用多个MongoDB Ops Manager 应用程序服务器以及使用 副本集 托管Ops Manager Application Database 来提供高可用性。
Considerations
负载均衡器
Ops Manager 应用程序的组件在请求之间是无状态的。只要所有服务器都从同一个 Ops Manager 应用程序数据库读取数据,任何 Ops Manager 应用程序服务器都可以处理请求。如果一个 Ops Manager 应用程序不可用,则另一个应用程序会处理请求。
要利用此功能实现高可用性,请配置您选择的负载均衡器,在 Ops Manager 应用程序主机池之间实现平衡。要在 Ops Manager 中实现此目标,请执行以下操作:
将
URL to Access Ops Manager
属性设置为负载均衡器 URL。将
Load Balancer Remote IP Header
属性设置为X-Forwarded-For
,这是负载均衡器用于识别原始客户端 IP 地址的 HTTP 标头字段。注意
如果您使用的是默认不支持 的 层负载均衡器,请启用4
X-Forwarded-For
X-Forwarded-For
,或使用 代理协议 。
Ops Manager 应用程序使用客户端的 IP 地址进行审核、日志记录并为 API 设置访问列表。
配置并启动负载均衡器后,您不应通过单个主机 URL 登录 Ops Manager 应用程序。
注意
要禁止访问每个 Ops Manager 应用程序服务器,请相应地配置防火墙规则。
例子
如果您有两个 Ops Manager 主机为以下 URL 提供服务:
ops1.example.com
ops2.example.com
并将它们放在以下 URL 的负载平衡器后面:
opsmanager.example.com
配置并启动该负载均衡器后,不应登录 ops1.example.com
,而应登录 opsmanager.example.com
。
注意
如果您使用配置文件设置这些参数,请将 mms.remoteIp.header
更改为负载均衡器的 URL,将 mms.centralUrl
更改为 Ops Manager 主机和端口的 URL。
文件系统快照需要共享文件系统
MongoDB Ops ManagerMongoDB Ops ManagerHTTP如果将 42配置为在 或 HTTPS 负载均衡器后面使用多个 应用程序服务器并使用 文件系统快照 ,则 FCV . 或更高版本的备份快照作业会在一台或多台服务器上并行运行。确保每个MongoDB Ops Manager服务器上都安装了共享文件系统。 MongoDB Ops Manager应用程序服务器可能会打开并写入相同文件的不同偏移量。 确保共享文件系统允许此操作。 否则,您将遇到访问错误。
诊断存档
要为 Ops Manager 提供生成诊断存档的时间,请将负载平衡器的 HTTP idle timeout 参数设置为 180 秒。
设备网络层支持
所有负载均衡设备都必须支持 7层 OSI 模型的(应用程序层)。
Ops Manager 应用程序数据库的副本集
部署副本集而不是独立运行的副本集来托管Ops Manager Application Database 。 如果 主 节点不可用,副本集将进行自动 故障转移 。
如果副本集在多个设施中有成员,请确保单个设施有足够的票数来选举主节点(如果需要)。 选择托管核心应用程序系统的设施。 将大多数有投票权的节点和所有可以成为主节点的节点放置在该设施中。 否则,网络分区可能会阻止集合形成多数。 有关副本集如何选举主节点的详细信息,请参阅副本集选举。
您可以使用文件系统快照备份副本集。文件系统快照使用系统级工具来创建保存副本集数据文件的设备的副本。
要部署托管 Ops Manager 应用程序数据库的副本集,请参阅“后端 MongoDB 实例”。
文件gen.key
gen.key
文件是一个 24 字节的二进制文件,用于对 Ops Manager 的后端数据库和用户凭证进行加密和解密。相同的 gen.key
文件必须存储在属于高可用性 Ops Manager 部署的每台服务器上。
gen.key
文件可以自动或手动生成。
- 要让 Ops Manager 生成该文件,请执行以下操作:
- 启动一台Ops Manager 服务器。如果不存在,Ops Manager 将创建一个
gen.key
文件。 - 要手动创建文件:
生成 24 字节的二进制文件。
例子
以下使用
openssl
创建gen.key
文件:openssl rand 24 > /<keyPath>/gen.key 像保护任何敏感文件一样保护
gen.key
文件。 将所有者更改为用户运行 Ops Manager,并将文件权限设置为仅所有者的读写权限。
获得 gen.key
文件(自动或手动创建)后,启动其他 Ops Manager 服务器前,将该文件复制到当前服务器上的相应目录和其他 Ops Manager 服务器上的相应目录:
/etc/mongodb-mms/
用于 RPM 或 Ubuntu 安装包${HOME}/.mongodb-mms/
用于存档 (.tar
) 文件安装包
重要
存储
gen.key
文件的任何共享存储资源都应配置为高度可用性,以免引入潜在的单点故障。任何未安装
gen.key
文件的 Ops Manager 服务器都无法连接到后端数据库并成为 HA Ops Manager 实例的一部分。在第一个 Ops Manager 服务器上为 Ops Manager 实例生成
gen.key
后,将gen.key
文件备份到安全位置。
升级模式
如果安装了 Ops Manager,且有多个 Ops Manager 主机指向同一应用程序数据库,则可以将 Ops Manager 升级至较新版本,而不会导致监控停机。完成高可用 Ops Manager 部署的一台 Ops Manager 主机的升级后,该部署将进入称为升级模式的状态。在此状态下,Ops Manager 在升级期间可用。此模式的优点是在整个升级过程中:
警报和监控运行
Ops Manager 实例会保持活动状态
Ops Manager 应用程序可以以只读模式访问
写入或删除数据的 Ops Manager API 已禁用
Ops Manager 实例会保持为升级模式,直到所有 Ops Manager 主机均已升级并重启。您不应一次升级多于一台 Ops Manager 主机。
先决条件
部署为Ops Manager Application Database提供服务的副本集。 要部署副本集,请参阅MongoDB手册中的部署副本集。
步骤
以下步骤假设您使用其中一个 Ops Manager 应用程序主机生成了第一个 gen.key
。如果您改为创建自己的 gen.key
,请在启动任何 Ops Manager 应用程序前将其分发到 Ops Manager 主机。
重要
位于 Ops Manager 应用程序服务器前面的负载均衡器不得返回已缓存的内容。负载均衡器必须禁用缓存。
要为多个 Ops Manager 应用程序配置负载均衡,请执行以下操作:
配置 Ops Manager 以使用负载均衡器。
在 Ops Manager 中,依次单击 Admin、General 标签页和 Ops Manager Config。
设置
URL to Access Ops Manager
属性以指向负载均衡器 URL。将
Load Balancer Remote IP Header
属性设置为负载均衡器用来识别客户端 IP 地址的 HTTP 标头字段的名称。设置
Load Balancer Remote IP Header
后,Ops Manager 将启用以下 HTTP 标头:HTTP 标头转发到 Ops Manager客户端在主机 HTTP 请求标头中请求的原始主机。用于发出 HTTP 请求的协议。代理服务器的主机名。请求的 HTTPS 状态。
使用复制主机信息更新每个 Ops Manager 应用程序主机。
在每个托管上,编辑conf-mms.properties
文件以设立mongo.mongoUri
属性设置为 的 连接string Ops Manager Application Database。您 必须 在3mongo.mongoUri
连接 中至少指定string 个主机。
mongo.mongoUri=mongodb://<mms0.example.net>:<27017>,<mms1.example.net>:<27017>,<mms2.example.net>:<27017>/?maxPoolSize=100
将Ops Manager URL 更改为MongoDB 助手配置文件中的负载均衡器 URL 。
在每个 MongoDB 助手的主机上完成以下步骤。
打开 MongoDB 助手配置文件。
vi /path/to/configurationFile.config 自动化配置文件的位置取决于您的平台:
/path/to/install/local.config /etc/mongodb-mms/automation-agent.config /etc/mongodb-mms/automation-agent.config /path/to/install/local.config 编辑
mmsBaseUrl
属性以指向负载均衡器并保存更改。mmsBaseUrl=<LOAD-BALANCER-URL>:<PORT> 重新启动 MongoDB 助手。
更多信息
有关使 Ops Manager 备份高度可用的信息,请参阅配置高度可用 Ops Manager 备份服务。