

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS PCS 中更新叢集的排程器版本
<a name="working-with_clusters_version_update"></a>

AWS PCS 可讓您在現有叢集上更新排程器版本，而無需重建基礎設施。版本更新會將叢集控制器移至較新的 Slurm 主要版本，讓您存取新功能、效能改善和安全性修補程式。在生命週期結束之前，較新的版本也有較長的支援生命週期。

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

排程器版本更新包含三個操作：

1. **準備目標 AMIs** — 建置或識別包含目標 Slurm 版本和最新 AWS PCS 代理程式的 AMIs。

1. **更新叢集 **(`UpdateCluster`) — 將控制器移至目標 Slurm 主要版本。

1. **更新運算節點群組** (`UpdateComputeNodeGroup`) — 將每個運算節點群組指向新的 AMI，讓新的節點使用目標版本。如需詳細資訊，請參閱[更新 AWS PCS 運算節點群組](working-with_cng_update.md)。

您可以遵循兩個路徑。根據您是否可以容忍任務中斷，選擇選項。

無論您選擇哪個選項，在程序開始之前，叢集中的所有節點都必須執行相同的版本 "A"，而且在程序結束時，所有節點都必須執行相同的版本 "B"。無論您的叢集組態為何，選項 2 都可以運作。


|  | 選項 1：滾動更新 | 選項 2：全機群維護停止 | 
| --- | --- | --- | 
| 執行任務 | 不需要終止任務 | 所有執行中的任務已終止 | 
| 最低叢集控制器版本 | 24.05 | 無限制 | 
| 控制器更新後的運算機群 | 暫時混合版本；需要耗盡步驟。我們建議將叢集中使用混合版本的時間量降至最低。 | 所有節點在目標版本上開始更新 | 

**注意**  
開始之前，請確保所有運算節點都位於 Slurm A 版本的最新修補程式上，以及最新的 AWS PCS 代理程式上。

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

如果您的叢集使用 Spank 外掛程式 （外掛程式組態）， AWS PCS 不支援選項 1。滾動更新可能會導致外掛程式組態版本不符和外掛程式失敗。

## 版本相容性
<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 | 

如需支援版本和end-of-life的詳細資訊，請參閱 [AWS PCS 中的 Slurm 版本](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 （完整機群維護停止），所有執行中的任務會在機群縮減時終止。
+ **新任務提交** — 您無法在控制器無法使用時提交新任務或執行排程器命令。
+ **擴展** — 自動擴展會在更新期間暫停。在更新完成之前，不會啟動任何新的執行個體，也不會終止任何執行個體進行縮減。
+ **會計資料** — 如果啟用會計，會計資料會在更新期間保留。儲存在會計資料庫中的任務記錄會在版本變更後保留。
+ **Slurm REST API** — 如果在叢集上啟用 Slurm REST API，它會自動更新為新的排程器版本，作為`UpdateCluster`操作的一部分。REST API 端點在更新期間無法使用，並在叢集返回 `ACTIVE` 狀態時繼續。如需詳細資訊，請參閱[AWS PCS 中的 Slurm REST API](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)