xfnts_probe 方法将调用 scds_fm_action() 来确定要执行的操作。scds_fm_action() 的逻辑如下:
保留 Retry_interval 属性值内的累积失败历史记录。
如果累积失败次数达到 100 次(完全失败),则重新启动数据服务。如果超出 Retry_interval 的值,将重置该历史记录。
如果在 Retry_interval 指定的时间内,重新启动次数超出了 Retry_count 属性的值,则故障转移该数据服务。
例如,假定探测建立了与 xfs 服务器的连接,但断开连接时失败。这表明该服务器正在运行,但是可能处于挂起状态或恰好处于临时装入状态。断开连接失败将向 scds_fm_action() 发送部分失败 (50)。此值虽然小于用来重启该数据服务的阈值,但是它将保留在失败历史记录中。
如果在下次探测时断开服务器连接再次失败,值 50 将被添加到由 scds_fm_action() 维护的失败历史记录中。累积失败值现在为 100,因此 scds_fm_action() 将重新启动数据服务。