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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux进程终止的N种方式详解

《Linux进程终止的N种方式详解》进程终止是操作系统中,进程的一个重要阶段,他标志着进程生命周期的结束,下面小编为大家整理了一些常见的Linux进程终止方式,大家可以根据需求选择... 目录前言一、进程终止的概念二、进程终止的场景三、进程终止的实现3.1 程序退出码3.2 运行完毕结果正常3.3 运行完毕

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使