LSF 守护程序和进程、集群通信路径和安全模型

LSF 细观

了解在 LSF 主机上运行的各种守护进程,LSF 集群通信路径,以及 LSF 如何容许集群中的主机故障。

1、LSF 守护程序和进程

集群中的每个主机上都运行多个 LSF 进程。 正在运行的进程的类型和数量,取决于主机是主节点还是计算节点。

LSF 守护程序和进程、集群通信路径和安全模型_第1张图片

主节点守护程序进程

LSF 主机根据它们在集群中的角色,运行各种守护进程。

守护程序

角色

mbatchd

作业请求与分配

mbschd

作业调度

sbatchd

作业执行

res

作业执行

lim

节点信息

pim

作业进程信息

elim

动态负荷指标

mbatchd

在主节点上运行的主批处理守护程序。 负责系统中作业的总体状态。

接收作业提交和信息学查询请求。管理队列中保留的作业。由 mbschd 确定将作业分配给主机。

mbschd

在主节点上运行的主批处理调度守护程序。 与 mbatchd 一起使用。

根据作业要求,策略和资源可用性制定调度决策。 将调度决策发送到 mbatchd

sbatchd

在每个服务器主机(包括主主机)上运行的从属批处理守护程序。 从 mbatchd 接收运行作业的请求,并管理作业的本地执行。 负责执行本地策略并维护主机上的作业状态。

sbatchd 会为每个作业分出一个子sbatchd。 子 sbatchd 运行一个 res 实例,以创建作业在其中运行的执行环境。 作业完成后,子sbatchd 退出。

res

在每个服务器主机上运行的远程执行服务器(RES)。 接受远程执行请求,以提供清晰,安全的作业和任务的远程执行。

lim

在每个服务器主机上运行的负载信息管理器(LIM)。 收集主机负载和配置信息,并将其转发到在主节点上运行的主LIM。报告由 lsloadlshosts 显示的信息。

当 LIM 启动或 CPU(ncpus)数量更改时,将报告静态索引。

Master LIM

在主节点上运行的 LIM。从集群中的节点上运行的 LIM,接收负载信息。

将负载信息转发到 mbatchd,后者将信息转发到 mbschd 以支持调度决策。如果主 LIM 不可用,则候选主节点上的 LIM 将自动接管。

PIM

在每个服务器主机上运行的进程信息管理器(PIM)。 由 LIM 启动,它会定期检查 PIM 并在 PIM 挂掉后重新启动。

收集有关主机上运行的作业进程的信息,例如作业使用的 CPU 和内存,并将该信息报告给 sbatchd

ELIM

外部LIM(ELIM)是一个可在站点定义的可执行文件,用于收集和跟踪自定义动态负载索引。 ELIM 可以是 Shell 脚本或编译的二进制程序,它们返回您定义的动态资源的值。 ELIM 可执行文件必须命名为 elim.anything,并且位于 LSF_SERVERDIR 中。

2、LSF 集群通信路径

了解集群中 LSF daemon 之间的通信路径。

LSF 守护程序和进程、集群通信路径和安全模型_第2张图片

3、容错和自动主控主机故障转移

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 设置为在作业退出并显示特定错误代码时,自动重新启动。

4、安全性

了解 LSF 安全模型,身份验证和用户角色。

LSF 守护程序和进程、集群通信路径和安全模型_第3张图片

默认情况下,LSF 安全模型在内部跟踪用户帐户。 LSF 中定义的用户帐户,包括用于提供身份验证的密码和用于提供授权的已分配角色,例如管理员。

LSF 用户角色

没有启用EGO的 LSF 支持以下用户角色:

  • LSF 用户

    有权将作业提交到 LSF 集群,并查看作业和群集的状态。

  • LSF 主要管理员

    有权执行集群范围的操作,更改配置文件,重新配置集群以及控制所有用户提交的作业。lsb.params 和lsb.hosts 等配置文件,可配置 LSF 的各个方面。

  • LSF 管理员

    有权执行影响其他LSF用户的操作。集群管理员可以对集群中的所有作业和队列,执行管理操作。可能没有更改 LSF 配置文件的权限。

    队列管理员的管理权限仅限于指定的队列。

    主机组的管理员管理权限仅限于指定的主机组。

    用户组的管理员管理权限仅限于指定的用户组。

启用 EGO 的 LSF 用户角色

启用 EGO 的 LSF,支持以下角色:

  • 集群管理员

    可以管理集群中的任何对象和工作负载。

  • 消费者管理员

    可以管理他们有权访问的使用者中的任何对象和工作负载。

  • 消费者用户

    可以在他们有权访问的使用者中运行工作负载。

用户帐户是在 EGO 中创建和管理的。 EGO 从其用户数据库授权用户。

LSF 用户组

在可以指定 LSF 用户组的任何位置上,指定 UNIX 或 Linux 用户组,以此来直接使用任何现有的 UNIX 和 Linux 用户组。

外部认证

LSF 为倾向于使用外部或第三方安全机制(例如 Kerberos,LDAP 或 ActiveDirectory)的站点,提供了一个安全插件。

您可以创建自定义的 eauth 可执行文件,以提供用户,主机和守护程序的外部身份验证。 凭证是从外部安全系统传递的。还可以通过自定义的 eauth 可执行文件,来从操作系统或从诸如 Kerberos 的身份验证协议获取凭据。

你可能感兴趣的:(计算资源管理,LSF任务调度系统,集群管理,服务器,网络,linux,集群管理,计算资源管理,LSF,任务调度系统,高性能计算)