容错

LSF 的强大体系结构在设计时考虑了容错能力。 系统中的每个组件都具有恢复操作,因此,重要组件可以由另一个组件监视,并可以自动从故障中恢复。

即使集群中的某些主机不可用,LSF 也可以继续运行。 集群中的一个主机充当主节点,但是如果该主节点不可用,则由另一台主机候选节点接管。当集群中有一个主节点候选时,LSF 可用。

LSF 可以容许集群中,任何主机或主机组的故障。当某主机不可用时,在该主机上运行的所有作业,将会重新排队运行或丢失,具体取决于该作业是否被标记为可重新运行。其他挂起或正在运行的作业,则不会受到影响。

故障转移的工作原理

容错能力取决于事件日志文件 lsb.events,该文件保存在主文件服务器上。系统中的每个事件都记录在该文件中,包括所有作业提交以及作业和主机状态更改。如果主节点不可用,则从主节点候选列表中选择一个新的主节点,新的主节点上的 sbatchd 守护程序,将启动一个新的 mbatchd 守护程序。 新的 mbatchd 守护程序,会读取lsb.events 文件以恢复系统状态。

重复事件记录

对于不希望仅依靠中央文件服务器获取恢复信息的站点,可以将 LSF 配置为通过保留 lsb.events 文件的副本来维护重复的事件日志。 副本存储在文件服务器上,并且在主副本不可用时使用。 启用重复事件日志记录后,主事件日志将本地存储在第一个主主机上,并在主机恢复时与复制的副本重新同步。

主机故障转移

LSF 主节点是动态选择的。如果当前的主节点不可用,则另一台主机将自动接管。故障转移主机,是从 lsf.conf 文件(在安装时在 install.config 文件中指定)的 LSF_MASTER_LIST 参数中定义的列表中选择的。列表中的第一个可用节点充当主机。

正在运行的作业由每个服务器主机上的 sbatchd 守护程序管理。 当新的 mbatchd 守护程序启动时,它将轮询每个主机上的 sbatchd 守护程序,并找到其作业状态。如果 sbatchd 守护程序失效,但主机仍在运行,则主机上正在运行的作业不会丢失。 重新启动 sbatchd 守护程序后,它将重新获得对主机上正在运行的所有作业的控制。

作业故障转移

作业可以通过可重新运行的方式来提交,如此一来,它们可以从头开始自动运行,也可以通过可检查点的形式提交,如此一来,如果由于主机故障而挂掉,则可以从另一个主机上的检查点重新开始。

如果集群中的所有主机都关闭,则所有正在运行的作业都将丢失。 当主节点的候选节点,恢复并接管为主节点时,它将读取 lsb.events 文件,以获取所有批处理作业的状态。 除非系统将其标记为可重新运行,否则系统关闭时,正在运行的作业将被认为已退出,并且电子邮件将发送给提交用户。等待的作业则保留在队列中,并在主机可用时,进行调度。

分区集群

如果集群因网络故障而分区,则 master LIM 会接管分区的每一侧,而候选主节点则在分区的每一侧都可用。 当每个主机仍然可以访问 LSF 可执行文件时,交互式负载共享仍然可用。.

分区网络

如果对网络进行了分区,则只有一个分区可以访问 lsb.events 文件,因此 LSF 服务仅在分区的一侧可用。一个锁定文件,用于确保集群中仅运行一个 mbatchd 守护程序。

作业异常处理

您可以配置主机和队列,以便 LSF 在作业运行时检测到异常情况,并自动采取适当的措施。 您可以自定义检测到哪些异常以及相应的操作。 例如,您可以将 LSF 设置为在作业退出并显示特定错误代码时,自动重新启动。

最后更新于