本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新中集群的调度器版本 AWS 个
AWS PCS 允许您更新现有集群上的调度程序版本,而无需重建基础架构。版本更新将集群控制器移至较新的 Slurm 主版本,使您可以访问新功能、性能改进和安全补丁。在生命周期结束之前,较新的版本的支持寿命也更长。
概述
调度程序版本更新涉及三个操作:
-
准备目标 AM I — 构建或识别包含目标 Slurm 版本和最新 PCS 代理的 AMI。 AWS
-
更新集群 (
UpdateCluster)-将控制器移至目标 Slurm 主版本。 -
更新计算节点组 (
UpdateComputeNodeGroup) — 将每个计算节点组指向新的 AMI,以便新节点使用目标版本。有关更多信息,请参阅 更新一个 AWS PCS 计算节点组。
有两条路可以走。根据您是否可以容忍任务中断以及是否要使用双版本 AMI(包含当前版本和目标 Slurm 版本)进行选择。
无论选择哪个选项,在进程开始之前,集群中的所有节点都必须运行相同的版本 “A”,并且在该过程结束时,所有节点都必须运行相同的版本 “B”。无论您的群集配置如何,选项 2 都适用。
| 选项 1:滚动更新 | 选项 2: Full-fleet 回收 | |
|---|---|---|
| 运行作业 | 不需要解雇工作 | 所有正在运行的作业都已终止 |
| AMI 要求 | 必须同时包含当前版本和目标 Slurm 版本 | 只需要目标 Slurm 版本 |
| 集群控制器的最低版本 | 24.05 | 没有限制 |
| 控制器更新后的计算队列 | 暂时混合版本;需要排水步骤。我们建议尽量减少集群中使用混合版本的时间。 | 所有节点在目标版本上都重新启动 |
注意
在开始之前,请确保所有计算节点都安装了 Slurm 版本 A 的最新补丁和最新的 AWS PCS 代理。
限制
以下配置需要额外的步骤或与选项 1(滚动更新)不兼容。如果没有上述变通办法,则必须改用选项 2(全队回收):
-
Spank 插件 — 如果您的集群使用 Spank 插件(插件堆栈配置),则不支持选项 1。滚动更新可能会导致 plugstack 配置版本不匹配和插件故障。
-
CLI 筛选器插件更新至 25.11 — 如果您的集群使用 CLI 过滤器插件并且要更新到版本 25.11,则选项 1(滚动更新)要求您在更新期间在集群的 Slurm 设置中
CliFilterParameters明确设置。否则CliFilterParameters,运行先前版本的节点无法在控制器更新后解析 CLI 筛选脚本路径,这会导致sbatch故障。有关更多信息,请参阅 使用 Slurm CLI 过滤器插件在中自定义作业提交 AWS 个。
版本兼容性
下表显示了要更新的支持的目标版本,具体取决于当前的集群版本。始终建议升级到允许的最新版本(以粗体显示)。
在启动更新之前,集群和所有计算节点必须始终运行相同的 Slurm 版本。
| 当前集群版本 | 兼容的目标版本 |
|---|---|
| 25.11 | N/A |
| 25.05 | 25.11 |
| 24.11 (EOL) | 25.11、25.05 |
| 24.05 (EOL) | 25.11、25.05、24.11 |
| 23.11 (EOL) | (仅通过选项 2)25.05、24.11、24.05 |
有关支持的版本和生命周期终止日期的更多信息,请参阅中的 Slurm 版本 AWS 个。
您不能在一次更新中跳过三个主要版本。如果您的目标版本比当前版本领先三个以上的主要版本,请分多个连续步骤执行更新。有关多步骤示例,请参阅示例:跨多个版本更新。
对正在运行的作业的影响
更新期间,Slurm 控制器短暂不可用。这有以下影响:
-
正在运行的作业-对于选项 1(滚动更新),已在计算节点上运行的作业将继续执行。计算节点不需要控制器可用于主动执行作业。对于选项 2(全队回收),当队列缩小规模时,所有正在运行的作业都将终止。
-
新任务提交-当控制器不可用时,您无法提交新作业或运行调度器命令。
-
缩放-更新期间将暂停自动缩放。在更新完成之前,不会启动任何新实例,也不会因为缩小规模而终止任何实例。
-
会计数据-如果启用了会计,则在整个更新过程中会保留会计数据。版本更改后,存储在会计数据库中的 Job 记录会保留。
-
Slurm REST API — 如果在集群上启用了 Slurm REST API,则作为操作的一部分,它会自动更新到新的调度器版本。
UpdateClusterREST API 终端节点在更新期间不可用,并在集群恢复ACTIVE状态时恢复。有关更多信息,请参阅 Slurm REST API 在 AWS 个。
将版本更新与配置更改相结合
您可以在单个UpdateCluster请求中将版本更新与其他配置更改结合起来。例如,您可以在同一个操作中更新调度程序版本并启用记账。
注意
当队列中仍包含先前版本的节点时,请勿添加特定于目标版本的 Slurm 设置。配置已分发到所有节点;旧配置slurmd可能无法识别新参数。