本文介绍IBM Spectrum LSF 10.1.0的安装规划、部署步骤和升级迁移策略,帮助管理员顺利实施LSF集群的新建和升级工作。

安装前的准备工作

规划清单

在开始安装LSF之前,需要完成以下规划工作:

1. 硬件和系统要求

  • 确认操作系统版本符合系统要求
  • 规划集群规模(主控节点、执行节点数量)
  • 确保网络连接性和带宽
  • 准备共享文件系统(NFS或其他)

2. 软件包获取

从IBM Passport Advantage下载必要的安装包:

  • LSF安装程序(Installer)
  • LSF产品分发包(Product Distribution)
  • 产品授权文件(Entitlement Files)

相关eAssembly部件号参见快速入门指南

3. 用户和权限规划

  • LSF管理员账户(通常为lsfadmin
  • 普通用户的UID/GID统一规划
  • 确保在所有节点上用户账户一致

4. 网络和主机名配置

  • 确保所有主机可以相互解析(DNS或/etc/hosts)
  • 配置防火墙规则允许LSF通信端口
  • 规划集群名称和域名

安全考虑

重要提示

  • 对从外部下载或上传的文件,务必先进行病毒扫描后再引入LSF集群环境
  • 使用加密存储保护LSF配置信息
  • 定期备份LSF配置文件和日志

升级前的通用准备 (UNIX & Windows)

在进行任何升级之前,请确保完成以下操作:

  1. 停止所有作业:确保集群中没有正在运行或挂起的作业。
  2. 停用队列:使用 badmin qinactive all 停用所有队列。
  3. 备份配置文件:手动备份 LSF_CONFDIRLSB_CONFDIRLSB_SHAREDIR 目录。
  4. 停止相关服务:如果使用了 IBM Spectrum LSF Application Center,必须先停止相关服务(perfadmin stop all, pmcadmin stop)。

UNIX/Linux平台安装

安装流程概览

LSF在UNIX和Linux平台上的安装包含以下主要步骤:

1. 准备安装位置

1
2
3
4
5
6
7
# 创建LSF安装目录(建议)
mkdir -p /opt/ibm/lsf
chmod 755 /opt/ibm/lsf

# 创建LSF配置和数据目录
mkdir -p /opt/ibm/lsf_conf
mkdir -p /opt/ibm/lsf_work

2. 解压安装包

1
2
cd /opt/ibm/lsf
tar xzf lsf10.1_lsfinstall_linux_x86_64.tar.gz

3. 运行安装程序

1
2
cd lsf10.1_lsfinstall
./lsfinstall -f install.config

[!IMPORTANT]

  • lsfinstall 命令必须由 root 用户运行。
  • 切勿手动解压 LSF 产品分发包(.tar.Z.tar.gz 文件)。安装程序 lsfinstall 会在安装过程中自动解压这些文件。

安装程序支持:

  • 交互式安装:通过向导逐步配置
  • 静默安装:使用预定义的配置文件(install.config

4. 配置文件示例

典型的install.config包含:

1
2
3
4
5
LSF_TOP="/opt/ibm/lsf"
LSF_ADMINS="lsfadmin"
LSF_CLUSTER_NAME="cluster1"
LSF_MASTER_LIST="master01 master02"
LSF_ENTITLEMENT_FILE="/tmp/lsf_entitlement.dat"

关键配置文件

安装完成后,主要配置文件位于LSF_CONF目录:

文件 用途
lsf.conf LSF全局配置
lsb.params 批处理系统参数
lsb.queues 队列定义
lsb.hosts 主机配置
lsb.users 用户和用户组
lsb.resources 资源定义

启动LSF集群

1
2
3
4
5
6
7
8
9
10
11
12
# 设置环境变量
source /opt/ibm/lsf/conf/profile.lsf

# 在主控节点启动LSF守护进程
lsadmin limstartup
lsadmin resstartup
badmin hstartup

# 检查集群状态
lsid
bhosts
bqueues

Windows平台安装

Windows 特有注意事项

[!WARNING] LSF 在 Windows 上不支持从旧版本直接升级安装。必须遵循“备份 -> 卸载 -> 重新安装 -> 迁移配置”的流程。

1. 升级/安装流程

  1. 备份:备份现有的 LSF_ENVDIR (share_dir\conf)、LSB_CONFDIR (share_dir\conf\lsbatch) 和 LSB_SHAREDIR (share_dir\work)。
  2. 卸载:使用 Windows 控制面板卸载旧版本的 LSF 10.1 集群。
  3. 重新安装:运行 lsfinstall.exe 进行全新安装。建议直接使用包含最新 Fix Pack 的安装包。
  4. 迁移配置:将备份的配置文件复制回新安装的对应目录,并根据需要进行调整。

2. 服务安装

LSF 守护进程以 Windows 服务形式运行:

  • LSF Master Service
  • LSF Server BatchD Service
  • LSF LIM Service

3. 用户权限

  • 需要管理员权限进行安装
  • LSF 服务账户需要“作为服务登录”权限
  • 确保对 LSF 安装目录有读写权限

4. 混合集群支持

Windows 节点可以与 Linux/UNIX 节点共存于同一 LSF 集群:

  • Windows 节点通常作为执行节点
  • 主控节点推荐使用 Linux

LSF集群升级

升级前准备

1. 备份当前配置

1
2
3
4
5
# 备份LSF配置
tar czf lsf_config_backup_$(date +%Y%m%d).tar.gz $LSF_ENVDIR/*

# 备份作业历史和日志
tar czf lsf_logs_backup_$(date +%Y%m%d).tar.gz $LSF_LOGDIR/*

2. 审查升级文档

3. 规划升级窗口

  • 选择业务低峰期
  • 通知用户预期的停机时间
  • 准备回滚方案

滚动升级(Rolling Upgrade)

LSF支持零宕机滚动升级,最小化对生产的影响:

升级顺序

  1. 升级从主控节点(Secondary Master)
  2. 升级执行节点
    • 分批升级,每批等待作业完成后关闭
    • 升级后重新加入集群
  3. 升级主主控节点(Primary Master)
    • 执行主控切换
    • 升级原主主控
    • 切换回来(可选)

典型滚动升级流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 1. 在 Secondary Master 上升级
ssh secondary-master
badmin hclose secondary-master  # 关闭主机的调度
# 运行安装程序进行升级
./lsfinstall -f install.config
lsadmin limrestart
badmin hrestart # 重启 sbatchd
badmin hopen secondary-master  # 重新开放调度

# 2. 分批升级执行节点
for host in exec01 exec02 exec03; do
  ssh $host badmin hclose $host
  # 等待作业完成或迁移作业
  ssh $host ./lsfinstall -f install.config
  ssh $host lsadmin limrestart
  ssh $host badmin hrestart # 重启 sbatchd
  ssh $host badmin hopen $host
done

# 3. 切换主控并升级 Primary Master
# 在 Secondary Master 上接管主控
badmin mbdrestart 
ssh primary-master
badmin hclose primary-master
./lsfinstall -f install.config
lsadmin limrestart
badmin hrestart # 重启 sbatchd

[!NOTE] badmin mbdrestart 主要用于重启 mbatchd 守护进程,通常在主控节点或备用主控节点上执行。在普通执行节点上,只需重启 limsbatchd (hrestart)。

配置迁移

升级过程中,LSF会自动迁移配置文件。但需注意:

  • 手动修改的配置:检查新版本配置文件格式变更
  • 自定义脚本:验证与新版本的兼容性
  • ELIM和ESUB:重新编译适配新版本API

升级后验证

1
2
3
4
5
6
7
8
9
10
11
12
13
# 检查LSF版本
lsid

# 验证集群状态
bhosts
bqueues

# 提交测试作业
bsub -q normal sleep 60
bjobs

# 检查日志文件
tail -f $LSF_LOGDIR/mbatchd.log.master

应用Fix Pack

获取Fix Pack

IBM Fix Central下载最新Fix Pack:

  1. 选择产品:IBM Spectrum LSF
  2. 选择版本:10.1.0
  3. 选择平台
  4. 下载Fix Pack

应用步骤 (UNIX/Linux)

  1. 设置环境source /opt/ibm/lsf/conf/profile.lsf
  2. 运行 patchinstall
    1
    2
    
    # 使用 patchinstall 安装补丁
    ./patchinstall lsf10.1.0_linux_x86_64_fp15.tar.gz
    
  3. 验证安装:使用 pversions 查看当前的补丁级别。

[!TIP]

  • patchinstall 会自动备份受影响的二进制文件,并支持回滚 (-r 选项)。
  • 在运行安装之前,可以使用 ./patchinstall -c <package> 进行预检查(Dry run)。
  • 补丁安装不需要专门的 patchinstall.config 文件,它会自动识别 LSF 环境或通过 -f 指定安装配置文件。

高可用性配置

多主控配置(MultiCluster)

为提高可用性,配置多个主控节点:

1
2
# lsf.conf
LSF_MASTER_LIST="master01 master02 master03"
  • 主主控(Primary Master)故障时自动切换
  • 所有主控节点需要访问共享存储
  • 建议至少配置3个主控节点(奇数)

故障转移测试

1
2
3
4
5
# 模拟主控节点故障
badmin hshutdown  # 在Primary Master执行

# 观察Secondary Master接管
lsid  # 应显示新的Primary Master

目录结构

目录 说明
LSF_TOP LSF安装根目录
LSF_ENVDIR 配置文件目录($LSF_TOP/conf)
LSF_BINDIR 二进制文件目录
LSF_LIBDIR 库文件目录
LSF_LOGDIR 日志文件目录
LSF_SHAREDIR 共享资源目录
LSF_WORK 工作目录(作业临时文件)

常见问题排查

安装失败

  • 权限不足:确保以正确用户运行安装程序
  • 端口冲突:检查LSB_MBD_PORT等端口是否被占用
  • 依赖库缺失:安装所需的系统库(检查ldd输出)

升级后作业无法提交

  • 检查兼容性设置:LSF_COMPATIBILITY
  • 验证队列配置:badmin ckconfig
  • 查看mbatchd日志:$LSF_LOGDIR/mbatchd.log.*

主控切换失败

  • 确认共享存储可访问
  • 检查网络连接性
  • 验证LSF_MASTER_LIST配置一致

最佳实践

  1. 使用配置管理工具:Ansible、Puppet等自动化部署
  2. 标准化环境:所有节点使用相同的软件版本和配置
  3. 定期备份:自动化备份LSF配置和作业历史
  4. 监控升级过程:实时监控日志和集群状态
  5. 先在测试环境验证:大规模升级前在小集群测试

总结

LSF的安装和升级过程经过多年优化,已经相当成熟。通过合理规划、遵循最佳实践,并利用LSF的滚动升级能力,管理员可以在最小化业务影响的情况下完成LSF集群的部署和版本更新。

详细的安装和升级步骤,请参考IBM官方文档中的UNIX/Linux安装指南Windows安装指南升级迁移指南


参考资源