因为我们要提供"高可用性",所以要考虑到"导演"突然罢工的情形;因此我们要安排两个导演,也 就是要有两个调度服务器节点。这两个节点的地位不同,其中一个是主节点,另外一个是辅节点(可以看成是一个"主导演"和一个"副导演")。这两个节点正是 用heartbeat来互相监测对方的。
heartbeat可以通过以太网(或者串行接口)来监控节点的"健康"状况。如果有多个heartbeat节点(heartbeat2.0及后续版本已经能够支持两个以上节点),我们既可以使用串行线又可以使用以太网连接它们,这样将大大提高系统的可用性。
heartbeat的核心功能有两个部分:心跳监测和资源接管。通过心跳监测,节点之间相互"打招呼"(发送报文)来告诉对方自己当前的状态;如果在指 定的时间内没"听"到对方"打招呼"(没收到报文),那么就认为对方罢工了,这时heartbeat会自动启动资源接管模块,运行相关的shell脚本来 接管运行在对方主机上的资源或者服务。