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