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

相关文章

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

C#通过进程调用外部应用的实现示例

《C#通过进程调用外部应用的实现示例》本文主要介绍了C#通过进程调用外部应用的实现示例,以WINFORM应用程序为例,在C#应用程序中调用PYTHON程序,具有一定的参考价值,感兴趣的可以了解一下... 目录窗口程序类进程信息类 系统设置类 以WINFORM应用程序为例,在C#应用程序中调用python程序

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线

Redis高可用-主从复制、哨兵模式与集群模式详解

《Redis高可用-主从复制、哨兵模式与集群模式详解》:本文主要介绍Redis高可用-主从复制、哨兵模式与集群模式的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Redis高可用-主从复制、哨兵模式与集群模式概要一、主从复制(Master-Slave Repli