资源池设计注意事项
资源池是管理服务器和/或网关服务器的逻辑分组,用于在它们之间分配工作,并从失败的成员接管工作。 换言之,资源池为工作流提供高可用性和可伸缩性。 设计管理组时,必须考虑网络设备、Linux/UNIX 系统和其他旨在利用资源池的工作负荷的监视需求。
概述
资源池通过提供多个 成员来确保监视的连续性,这些成员是管理服务器和/或网关服务器,如果池的其中一个成员不可用,这些成员可以接管监视工作流。 您可以为特定目的创建资源池。 例如,可以在主数据中心创建管理服务器的资源池来监视网络设备。
资源池应用类似于群集“多数节点集”的逻辑,即(<作为池成员的节点数>/2)+ 1。 池中必须至少有三个成员才能维护仲裁,也就是说池中必须有 50% 以上的仲裁投票成员才能维护池的可用性。 如果只有两个池成员且一个成员不可用,则表示仲裁已丢失。
对于在操作控制台中创建的每个资源池,Operations Manager 数据库(称为 默认观察程序)始终获得投票,即使池中成员数偶数,也允许达到仲裁。 这也适用于在首次创建管理组时默认创建的三个资源池,本文稍后将对此进行了讨论。 对于使用 PowerShell cmdlet NewSCOM-ResourcePool 创建的所有资源池,默认设置为禁用。 将 Operations Manager 数据库作为 默认观察程序 ,只需至少要求部署两个管理服务器来保持资源池的高可用性,从而减少管理组的复杂性。
支持资源池的另一个角色是 观察程序。 这是管理服务器或网关服务器,不参与池的加载工作流;但是,他们参与仲裁决定。 这在正常情况下永远不会使用,因此不应考虑。
有两种类型的成员身份:
- 自动
- 手动
创建资源池时,其成员身份设置为手动,无法重新配置为自动。 创建 System Center – Operations Manager 管理组时,默认使用自动成员身份创建三个资源池。 下表描述了这三个资源池。
资源池名称 | 说明 |
---|---|
所有管理服务器资源池 | 执行组计算、可用性、分布式监视器运行状况汇总和数据库整理的工作流。 |
通知资源池 | 警报订阅服务工作流面向此资源池,以支持警报通知。 |
AD 分配资源池 | AD 集成工作流面向此资源池,以支持自动将代理分配到管理服务器。 |
由于所有管理服务器资源池的成员身份是自动的,因此委托的任何管理服务器都将自动成为此资源池的成员。 在某些体系结构和设计注意事项中,例如合并地理分散的应变操作的体系结构和设计注意事项,可能不需要自动分配给所有管理服务器资源池。 在这些情况下,可以将成员身份分配从自动更改为手动。 因此,必须通过手动分配将管理服务器添加到所有管理服务器资源池。
注意
所有管理服务器资源池的成员资格为只读。 若要将其成员身份从自动更改为手动,请参阅 修改池成员身份。
通过引入资源池,建议所有成员都通过低延迟网络(小于 10 毫秒)进行连接。 资源池不应跨多个数据中心或混合云环境(如 azure Microsoft)进行部署。
资源池可用性示例
以下示例演示了基于以下配置的资源池可用性概念,仅使用管理服务器或网关服务器。
单一管理服务器
- 默认观察程序默认启用,不提供任何好处,因为只有两个成员且未达到仲裁。
- 没有高可用性,因为管理服务器是单一故障点。
两个管理服务器
- 默认观察程序默认处于启用状态。
- 池具有高可用性,因为有三个投票成员 - 两个管理服务器和 默认观察程序。
- 如果禁用 默认观察程序,则池将失去高可用性。
三个管理服务器
- 默认观察程序默认处于启用状态。
- 池具有高可用性,因为有四个投票成员 - 三个管理服务器和 默认观察程序。
- 默认情况下,只能有一个管理服务器无法维护仲裁。 如果两个管理服务器不可用,则只有 50% 的投票成员和资源池不再能够管理监视工作负荷。
- 默认 观察程序 不会增加可关闭的管理服务器数,因此不会增加池可用性。
- 可以考虑在此方案中删除 默认观察程序 。
四个管理服务器
- 默认观察程序默认处于启用状态。
- 池具有高可用性,因为有五个投票成员 - 四个管理服务器和 默认观察程序。
- 默认情况下,为维持仲裁,只能有两个管理服务器不可用。 如果三个管理服务器关闭,则只有不到 50% 的投票成员,并且资源池不再能够管理监视工作负荷。
- 此方案中的默认观察程序提供大量值,因为它会增加可以关闭的管理服务器数。 如果没有默认观察程序,则只有四个仲裁成员,这只允许一个成员不可用。
五个管理服务器
- 默认观察程序默认处于启用状态。
- 池具有高可用性,因为有 6 个投票成员 - 5 个管理服务器和 默认观察程序。
- 默认情况下,只能有两个管理服务器无法维护仲裁。 如果三个管理服务器不可用,这正好是 50% 的投票成员,并且资源池不再能够管理监视工作负荷。
- 默认 观察程序 不会增加可关闭的管理服务器数,因此不会增加池可用性。
- 可以考虑在此方案中删除 默认观察程序 。
在资源池中访问三台或更多个管理服务器(池中有奇数的成员)后,可以考虑删除 默认观察程序 作为成员。 如果到达五个管理服务器,则操作数据库可能会经历大量负载,这可能会产生足够的延迟,从而影响资源池计算。
使用默认观察程序扮演角色的方式,池中的每个管理服务器都会查询自己的本地 SDK 服务,这样它就可以在操作数据库中查询默认观察者的表。 如果 SDK 服务或数据库处于负载情况下,将会遇到前所未有的延迟。
单网关服务器
- 默认观察程序默认处于启用状态。
- 没有高可用性,因为网关服务器是单一故障点。
- 不应在此处使用默认观察程序,因为网关服务器没有本地 SDK 服务,因此无法查询操作数据库。
两个网关服务器
- 默认观察程序默认处于启用状态。
- 没有高可用性,因为只有两个池成员, 而默认观察程序 不是参与者,因为网关服务器不会直接与操作数据库通信。 维护池仲裁需要三个网关服务器。
三个网关服务器
- 默认观察程序默认处于启用状态。
- 池具有高可用性,因为有三个投票成员 - 三个网关服务器。
- 默认情况下,只能有一台网关服务器无法维护仲裁。 如果两个网关服务器关闭,则投票成员少于 50%,资源池不再能够管理监视工作负荷。
- 不应在此处使用默认观察程序,因为网关服务器没有本地 SDK 服务,因此无法查询操作数据库。
支持资源池的监视方案
以下工作流由 Operations Manager 中的资源池托管:
- 网络设备的管理
- UNIX/Linux 代理的管理
- 监视 Web 应用程序 URL
注意
Windows 代理不会向资源池报告。
Operations Manager 中的网络监视需要自己的独立专用资源池。 这是因为网络监视工作流在管理服务器(在 SNMP 模块上)而不是在代理上运行。 当你包括对网络端口的监视时,这会将大量负载置于管理服务器上,尤其是在选择设备上可用的大多数活动端口时。 因此,为了提高性能,我们建议在专用资源池中使用专用管理服务器进行网络监视。 此外,应从所有管理服务器、通知和 AD 分配池中删除属于此池成员的管理服务器。
如果需要启用高可用性监视和代理管理,可将 Operations Manager 中的 Linux/UNIX 监视分配给专用资源池,但不需要。 Operations Manager 使用证书对所管理的计算机的访问权限进行身份验证。 当发现向导部署代理时,它会从代理中检索证书,对证书进行签名,将证书部署回代理,然后重启代理。 为了支持高可用性,资源池中的每个管理服务器都必须具有用于对部署到 UNIX 和 Linux 计算机上的代理的证书进行签名的所有根证书。 否则,如果管理服务器不可用,其他管理服务器将无法信任由服务器签名的证书。
后续步骤
若要了解如何创建和管理资源池,请参阅 如何管理资源池。