我正在尝试构建一个 HA syslog 集群。
UDP 系统日志是无状态的,平衡器无法确保节点的活跃性,因此我在 CentoOS7 上尝试使用 PCS/Corosync。
理想情况下,我希望集群软件能够检测到节点上的 rsyslog 故障。检测到后,集群会将 IP 资源故障转移到剩余节点之一。
我所能做的完全不同。我为 rsyslog 添加了“systemd”资源,然后“克隆”它,以便能够让它在两个节点上运行。当我将节点置于待机状态以执行维护或测试时,该节点上的 rsyslog 服务将关闭。
rsyslog 是一个系统服务,我不想让集群来管理它,但是我找不到其他方法。
有没有办法向集群添加“虚拟”依赖项,以便仅当特定服务正在运行(或端口正在监听等)时,共享资源(即 IP 地址)才能在节点上运行,而不让集群拥有服务生命周期的所有权?
我想我可以编写一个简单的 shell 脚本来检测我的“外部”依赖项是否正在运行,但是我应该把它放在 Corosync 集群的哪里呢?
提前致谢
安吉洛。