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

2023-11-01 17:12

本文主要是介绍LSF 守护程序和进程、集群通信路径和安全模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LSF 细观

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

1、LSF 守护程序和进程

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

主节点守护程序进程

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 之间的通信路径。

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 安全模型在内部跟踪用户帐户。 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 守护程序和进程、集群通信路径和安全模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/324506

相关文章

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt