LSF Handbook
搜索文档…
1.5 LSF 快速上手
本文主要是关于 LSF 命令、守护进程、配置文件、日志文件以及重要的集群配置参数的快速介绍。

Unix 及 Linux 系统下的安装目录示意图

Sample UNIX and Linux installation directories

守护进程的错误日志文件

守护进程的错误日志文件,存储在由 LSF_LOGDIR 变量定义的文件目录下面,该变量值在 lsf.conf 文件中指定。
LSF base system daemon log files
LSF batch system daemon log files
pim.log.host_name
mbatchd.log.host_name
res.log.host_name
sbatchd.log.host_name
lim.log.host_name
mbschd.log.host_name
如果在 ego.conf 文件中定义了变量 EGO_LOGDIR ,那么 lim.log.host_name 文件则存储在由变量 EGO_LOGDIR 指定的文件目录中。

配置文件

lsf.conf, lsf.shared, 和 lsf.cluster.cluster_name 文件, 位于由 LSF_CONFDIR 变量定义的文件目录下面,该变量值在 lsf.conf 文件中指定。
lsb.params, lsb.queues, lsb.modules, 和 lsb.resources 文件,位于 LSB_CONFDIR/cluster_name/configdir/ 目录下面。
文件
描述
install.config
LSF 的安装与配置选项
lsf.conf
描述集群配置和操作的通用环境配置文件
lsf.shared
所有群集共享的定义文件。用于定义群集名称、主机类型、主机型号和站点定义的资源
lsf.cluster.cluster_name
用于定义主机、管理员和站点定义的共享资源的位置的集群配置文件
lsb.applications
定义应用程序配置文件,来指定同类型作业的公共参数
lsb.params
配置 LSF 批处理参数
lsb.queues
批处理队列配置文件
lsb.resources
配置资源分配限制、导出和资源使用限制
lsb.serviceclasses
将LSF集群中的服务级别协议(SLA)定义为服务类,该服务类定义了 SLA 的属性
lsb.users
配置用户组、用户和用户组的分层公平共享,以及用户和用户组的作业槽数限制

lsf.conf 配置文件中的集群配置参数

参数
描述
Unix 默认值
LSF_BINDIR
包含 LSF 用户命令的目录,由相同类型的所有主机共享
LSF_TOP/version/OStype/bin
LSF_CONFDIR
所有 LSF 配置文件的目录
LSF_TOP/conf
LSF_ENVDIR
包含 lsf.conf 文件的目录。必须由root 用户所拥有。
/etc (if LSF_CONFDIR is not defined)
LSF_INCLUDEDIR
包含 LSF API 头文件 lsf.h 和 lsbatch.h的目录
LSF_TOP/version/include
LSF_LIBDIR
LSF 库,由相同类型的所有主机共享
LSF_TOP/version/OStype/lib
LSF_LOGDIR
(可选)LSF 守护程序日志的目录。必须由 root 拥有。
/tmp
LSF_LOG_MASK
从 LSF 命令记录错误消息的级别
LOG_WARNING
LSF_MANDIR
包含 LSF 手册页的目录
LSF_TOP/version/man
LSF_MISC
示例C程序和Shell脚本,以及外部LIM(elim)的模板
LSF_TOP/version/misc
LSF_SERVERDIR
由 LSF 守护程序启动的所有服务器二进制文件和 Shell 脚本以及外部可执行文件的目录。必须由root拥有,并由相同类型的所有主机共享
LSF_TOP/version/OStype/etc
LSF_TOP
顶级安装目录。 LSF_TOP 的路径必须共享,并且集群中的所有主机都可以访问。它不能是根目录(/)。
Not definedRequired for installation
LSB_CONFDIR
LSF批处理配置目录的目录,包含用户和主机列表,操作参数和批处理队列
LSF_CONFDIR/lsbatch
LSF_LIVE_CONFDIR
LSF 实时重新配置目录的目录,该目录由 bconf 命令编写。
LSB_SHAREDIR/cluster_name/live_confdir
LSF_SHAREDIR
每个集群的 LSF 批处理作业历史记录和记帐日志文件的目录,必须由首要的 LSF 管理员拥有
LSF_TOP/work
LSF_LIM_PORT
用于与 lim 守护程序进行通信的 TCP 服务端口
7879
LSF_RES_PORT
用于与 res 守护程序通信的 TCP 服务端口
6878
LSF_MBD_PORT
用于与 mbatchd 守护程序进行通信的 TCP 服务端口
6881
LSF_SBD_PORT
用于与 sbatchd 守护程序进行通信的TCP服务端口
6882

管理命令

注:只有 LSF 管理员和 root 用户可以使用这些命令。
命令
描述
lsadmin
LSF 管理员工具,用于控制 LSF 集群中 LIM 和 RES 守护程序的运行,lsadmin help 显示所有子命令
lsfinstall
使用 install.config 输入文件安装 LSF
lsfrestart
在本地集群中的所有主机上重新启动 LSF 守护程序
lsfshutdown
关闭本地集群中所有主机上的 LSF 守护程序
lsfstartup
在本地集群中的所有主机上启动 LSF 守护程序
badmin
用于控制 LSF 批处理系统(sbatchdmbatchd,主机和队列)的 LSF 管理工具 badmin help 显示所有子命令
bconf
更改活动内存中的 LSF 配置

守护进程

进程名
描述
lim
Load Information Manager (LIM): 负载信息管理器:收集有关集群中所有服务器主机的负载和资源信息,并通过 LSLIB 为应用程序提供主机选择服务。 LIM 维护有关静态系统资源和动态负载索引的信息
mbatchd
Master Batch Daemon (MBD): 主批处理守护程序:接受并保存所有批处理作业。 MBD通过联系 主LIM 定期检查所有服务器主机上的负载索引。
mbschd
Master Batch Scheduler Daemon:主批处理调度守护程序:执行LSF的调度功能,并将作业调度决策发送到 MBD 以进行调度。 该服务在 LSF 主服务器主机上运行
sbatchd
Slave Batch Daemon (SBD):从属批处理守护程序(SBD):接受来自 MBD 的作业执行请求,并监视作业进度。 控制作业执行,强制执行批处理策略,将作业状态报告给 MBD,然后启动 MBD。
pim
Process Information Manager (PIM): 进程信息管理器(PIM):监视提交的作业在运行时所使用的资源。 PIM 用于强制执行资源限制和负载阈值以及公平分配调度。
res
Remote Execution Server (RES): 远程执行服务器(RES):接受来自所有负载共享应用程序的远程执行请求,并处理远程主机上的I / O以进行负载共享过程。

用户命令

查看集群信息的命令

命令
描述
bhosts
显示主机及其静态和动态资源
blimits
显示正在运行的作业的资源分配限制的相关信息
bparams
显示可调批次系统参数的相关信息
bqueues
显示批处理队列的相关信息
busers
显示用户和用户组的相关信息
lshosts
显示主机及其静态资源信息
lsid
显示当前的 LSF 版本号,集群名称和主控主机名
lsinfo
显示负载分担配置信息
lsload
显示主机的动态负载索引

监测作业与任务的命令

命令
描述
bacct
报告已完成的 LSF 作业的会计统计数据
bapp
显示附加到应用程序配置文件的作业的相关信息
bhist
显示作业的相关历史信息
bjobs
显示作业的相关信息
bpeek
显示未完成作业的标准输出和标准错误
bsla
显示服务类配置的相关信息,以用于面向目标的服务级别协议调度
bstatus
读取或设置外部作业状态消息和数据文件

提交与控制作业的命令

命令
描述
bbot
移动正在等待的作业到队列的末尾
bchkpnt
检查点可检查的工作
bkill
向作业发送信号,一般用于结束作业
bmig
迁移可检查点的或可重新运行的作业
bmod
修改作业的提交选项
brequeue
杀死并重新安排作业
bresize
释放槽位并取消挂起的作业调整大小分配请求
brestart
重新启动检查点作业
bresume
恢复暂停的作业
bstop
暂停作业
bsub
提交作业
bswitch
将未完成的作业从一个队列移至另一队列
btop
移动正在等待的作业到队列首部

bsub 命令

bsub [options] command [arguments] 命令中的部分选项
选项
描述
-ar
指定作业可自动调整大小
-H
提交时将工作保持在 PSUSP 状态
-I|-Ip|-Is
提交批处理交互式作业。 -Ip 创建伪终端。 -is 在shell模式下创建一个伪终端。
-K
提交作业并等待作业完成
-r
使作业可重新运行
-x
排他执行
-app application_profile_name
将作业提交到指定的应用程序配置文件
-b begin_time
在[[month:] day:]:minute 格式的指定日期和时间或之后调度作业
-C core_limit
为属于此作业的所有进程设置每个进程(soft)核心文件的大小限制(KB)
-c cpu_time[/host_name | /host_model]
限制作业可以使用的总CPU时间。 CPU时间的格式为[hour:]minutes
-cwd "current_working_directory"
指定作业的当前工作目录
-D data_limit
为属于作业的每个进程设置每个进程(soft)数据段的大小限制(KB)
-E "pre_exec_command [arguments]"
在作业运行之前,在执行主机上运行指定的pre-exec命令
-Ep "post_exec_command [arguments]"
作业完成后,在执行主机上运行指定的post-exec命令
-e error_file
将标准错误输出附加到文件
-eo error_file
将作业的标准错误输出覆盖到指定文件
-F file_limit
为属于作业的每个进程设置每个进程(soft)文件大小限制(KB)
-f "local_file op[remote_file]" ...
在本地(提交)主机和远程(执行)主机之间复制文件。op是>,<,<<,> <,<>之一
-i input_file | -is input_file
从指定文件获取作业的标准输入