集群软件一查出给持续业务带来问题的故障就会执行业务交接(失效切换)。在进入失效切
换处理的具体内容之前,先简单地介绍一下集群软件是怎样查出故障的。
ExpressCluster 为监视服务器,定期地与伙伴服务器进行生存确认。将此生存确认称为心
跳。
心跳和服务器故障的查出
集群系统中应该查出的最基本的故障是构成集群的服务器的宕机。服务器的故障中包含电
源异常以及内存错误等硬件故障或者OS 的崩溃等。为了查出此类故障,使用心跳来监视
服务器的死活。
心跳可以仅通过确认ping 的应答这种死活监视方式,根据集群软件不同,也可以传送本地
服务器的状态信息等内容。集群软件收发心跳,在心跳无应答时视作该服务器故障并开始
失效切换处理。但考虑到由于服务器的高负荷等原因会导致心跳的收发延迟,所以到判定
为服务器故障需要一定程度的缓冲时间。因此实际发生故障的时间和集群软件查出故障的
时间会存在时间差。
资源故障的查出
业务停止的主要原因不仅仅是由于构成集群的服务器的宕机。例如,由于业务应用程序使
用的磁盘装置以及NIC 的故障、或者业务应用程序本身的故障等也会导致业务停止。为了
提升可用性,也必须查出这样的资源故障,实施失效切换。
作为查出资源异常的手段,所要监视的资源为物理设备时可以采用实际尝试访问的方法。
应用程序的监视中,除了应用程序进程本身的死活监视以外,在对业务没有影响的范围内,
也可以考虑尝试服务端口。