

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新中集群的调度器版本 AWS 个
<a name="working-with_clusters_version_update"></a>

AWS PCS 允许您更新现有集群上的调度程序版本，而无需重建基础架构。版本更新将集群控制器移至较新的 Slurm 主版本，使您可以访问新功能、性能改进和安全补丁。在生命周期结束之前，较新的版本的支持寿命也更长。

## 概述
<a name="version_update-cluster-overview"></a>

调度程序版本更新涉及三个操作：

1. **准备目标 AM** I — 构建或识别包含目标 Slurm 版本和最新 PCS 代理的 AMI。 AWS 

1. **更新集群** (`UpdateCluster`)-将控制器移至目标 Slurm 主版本。

1. **更新计算节点组** (`UpdateComputeNodeGroup`) — 将每个计算节点组指向新的 AMI，以便新节点使用目标版本。有关更多信息，请参阅 [更新一个 AWS PCS 计算节点组](working-with_cng_update.md)。

有两条路可以走。根据您是否可以容忍任务中断以及是否要使用双版本 AMI（包含当前版本和目标 Slurm 版本）进行选择。

无论选择哪个选项，在进程开始之前，集群中的所有节点都必须运行相同的版本 “A”，并且在该过程结束时，所有节点都必须运行相同的版本 “B”。无论您的群集配置如何，选项 2 都适用。


|  | 选项 1：滚动更新 | 选项 2： Full-fleet 回收 | 
| --- | --- | --- | 
| 运行作业 | 不需要解雇工作 | 所有正在运行的作业都已终止 | 
| AMI 要求 | 必须同时包含当前版本和目标 Slurm 版本 | 只需要目标 Slurm 版本 | 
| 集群控制器的最低版本 | 24.05 | 没有限制 | 
| 控制器更新后的计算队列 | 暂时混合版本；需要排水步骤。我们建议尽量减少集群中使用混合版本的时间。 | 所有节点在目标版本上都重新启动 | 

**注意**  
在开始之前，请确保所有计算节点都安装了 Slurm 版本 A 的最新补丁和最新的 AWS PCS 代理。

## 限制
<a name="version_update-cluster-limitations"></a>

以下配置需要额外的步骤或与选项 1（滚动更新）不兼容。如果没有上述变通办法，则必须改用选项 2（全队回收）：
+ **Spank 插件** — 如果您的集群使用 Spank 插件（插件堆栈配置），则不支持选项 1。滚动更新可能会导致 plugstack 配置版本不匹配和插件故障。
+ **CLI 筛选器插件更新至 25.11** — 如果您的集群使用 CLI 过滤器插件并且要更新到版本 25.11，则选项 1（滚动更新）要求您在更新期间在集群的 Slurm 设置中`CliFilterParameters`明确设置。否则`CliFilterParameters`，运行先前版本的节点无法在控制器更新后解析 CLI 筛选脚本路径，这会导致`sbatch`故障。有关更多信息，请参阅 [使用 Slurm CLI 过滤器插件在中自定义作业提交 AWS 个](slurm-cli-filter-plugins.md)。

## 版本兼容性
<a name="version_update-cluster-compatibility"></a>

下表显示了要更新的支持的目标版本，具体取决于当前的集群版本。始终建议升级到允许的最新版本（以粗体显示）。

在启动更新之前，集群和所有计算节点必须始终运行相同的 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-versions.md)。

您不能在一次更新中跳过三个主要版本。如果您的目标版本比当前版本领先三个以上的主要版本，请分多个连续步骤执行更新。有关多步骤示例，请参阅[示例：跨多个版本更新](working-with_clusters_version_update_procedure.md#version_update-procedure-multi-hop)。

## 对正在运行的作业的影响
<a name="version_update-cluster-job-impact"></a>

更新期间，Slurm 控制器短暂不可用。这有以下影响：
+ **正在运行的作业**-对于选项 1（滚动更新），已在计算节点上运行的作业将继续执行。计算节点不需要控制器可用于主动执行作业。对于选项 2（全队回收），当队列缩小规模时，所有正在运行的作业都将终止。
+ **新任务提交**-当控制器不可用时，您无法提交新作业或运行调度器命令。
+ **缩放**-更新期间将暂停自动缩放。在更新完成之前，不会启动任何新实例，也不会因为缩小规模而终止任何实例。
+ **会计数据**-如果启用了会计，则在整个更新过程中会保留会计数据。版本更改后，存储在会计数据库中的 Job 记录会保留。
+ **Slurm REST API** — 如果在集群上启用了 Slurm REST API，则作为操作的一部分，它会自动更新到新的调度器版本。`UpdateCluster`REST API 终端节点在更新期间不可用，并在集群恢复`ACTIVE`状态时恢复。有关更多信息，请参阅 [Slurm REST API 在 AWS 个](slurm-rest-api.md)。

## 将版本更新与配置更改相结合
<a name="version_update-cluster-combined-changes"></a>

您可以在单个`UpdateCluster`请求中将版本更新与其他配置更改结合起来。例如，您可以在同一个操作中更新调度程序版本并启用记账。

**注意**  
当队列中仍包含先前版本的节点时，请勿添加特定于目标版本的 Slurm 设置。配置已分发到所有节点；旧配置`slurmd`可能无法识别新参数。

**Topics**
+ [概述](#version_update-cluster-overview)
+ [限制](#version_update-cluster-limitations)
+ [版本兼容性](#version_update-cluster-compatibility)
+ [对正在运行的作业的影响](#version_update-cluster-job-impact)
+ [将版本更新与配置更改相结合](#version_update-cluster-combined-changes)
+ [更新调度程序版本 AWS PCS 集群](working-with_clusters_version_update_procedure.md)
+ [问题排查 AWS PCS 集群版本更新](working-with_clusters_version_update_troubleshooting.md)