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