本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 SageMaker HyperPod EKS 叢集上使用 Amazon EBS CSI 驅動程式
SageMaker HyperPod 支援 Amazon Elastic Block Store (Amazon EBS) 容器儲存介面 (CSI) 驅動程式,其可管理 Amazon EBS 磁碟區的生命週期,作為您所建立磁碟區的儲存體。透過 Amazon EBS CSI 驅動程式,您可以使用 Amazon EKS 協同運作,為在 SageMaker HyperPod 叢集上執行的機器學習工作負載建立、連接和管理 Amazon EBS 磁碟區。
金鑰儲存功能
SageMaker HyperPod 上的 Amazon EBS CSI 驅動程式支援下列儲存功能。
-
靜態佈建:將預先建立的 Amazon EBS 磁碟區與 Kubernetes 持久性磁碟區
建立關聯,以用於您的 Pod 中。 -
動態佈建:從
PersistentVolumeClaims自動建立 Amazon EBS 磁碟區和相關聯的持久性磁碟區。可以透過 StorageClass傳遞參數,以精細控制磁碟區建立。 -
磁碟區大小調整:透過更新
PersistentVolumeClaims大小規格來擴充現有磁碟區,而不會中斷執行中的工作負載。這對於處理不斷增長的模型儲存庫或適應較大的節點而不中斷服務至關重要。 -
磁碟區快照:建立磁碟區的時間點快照,以進行備份、復原和資料版本控制。
-
區塊磁碟區:為需要直接儲存體存取的高效能應用程式提供原始區塊型儲存設備存取。
-
磁碟區修改:使用磁碟區屬性類別
變更磁碟區屬性,例如類型、每秒輸入或輸出操作 (IOPS) 或輸送量。
如需 Amazon EBS CSI 驅動程式的詳細資訊,請參閱《Amazon EKS 使用者指南》中的使用 Kubernetes 磁碟區儲存體搭配 Amazon EBS。
如需叢集中 Pod 儲存體的詳細資訊,請參閱「Kubernetes 文件」中的儲存體
考量事項
SageMaker HyperPod AMI 已在每個節點上管理本機 NVMe 執行個體儲存體。在開機時,它會將所有節點的 NVMe 磁碟機合併為單一 LVM 磁碟區群組 (vg.01),並將結果掛載到 /opt/sagemaker。您不需要安裝任何其他項目即可使用本機 NVMe 儲存,只要節點啟動即可立即使用。
重要
請勿安裝以 NVMe 執行個體儲存體為目標的第二個 CSI 驅動程式 (有時稱為本機執行個體儲存體 CSI 驅動程式)。第二個儲存管理員與 衝突vg.01,並導致 NVMe I/O 失敗、掛載失敗和裝置狀態損毀,這些狀態會在節點重新啟動和取代之間持續存在。
此限制僅適用於管理本機 NVMe 執行個體儲存體的驅動程式。網路支援的 CSI 驅動程式 (Amazon EBS、Amazon FSx、Amazon EFS 和 Amazon S3 掛載點) 不會受到影響,因為它們無法存取本機 NVMe 磁碟。
此頁面所述的 Amazon EBS CSI 驅動程式僅管理 Amazon EBS 磁碟區,不受此衝突影響。衝突僅適用於管理節點上本機 NVMe 執行個體儲存體的 CSI 驅動程式。
如果您已安裝以 NVMe 執行個體儲存為目標的 CSI 驅動程式,並看到 NVMe I/O 錯誤,請依照下列步驟執行:
-
解除安裝 local-instance-storage CSI 驅動程式附加元件。
-
取代受影響的節點 (建議一次取代大約三個)。
-
確認 NVMe 執行個體儲存體已還原。還原狀態會在後續重新啟動和取代時持續存在。
重要
在解除安裝附加元件之前,請勿取代節點。衝突會在新節點上重複發生,而且 I/O 錯誤會繼續發生。
若要在 HyperPod 上使用 NVMe 執行個體儲存,請透過標準掛載路徑 () 依賴 AMI 的內建 LVM 組態/opt/sagemaker。對於動態佈建的 Pod 層級區塊儲存,請使用 Amazon EBS CSI 驅動程式,如本頁其餘部分所述。
使用案例
Amazon EBS CSI 驅動程式整合可為 SageMaker HyperPod EKS 叢集上的訓練和推論工作負載啟用數個關鍵使用案例。
訓練工作負載
-
資料集儲存體:為跨 Pod 重新啟動持續存在的訓練資料集佈建磁碟區
-
檢查點儲存體:儲存模型檢查點和中繼訓練結果
-
共用成品:跨多個訓練任務存取常見資料集和模型成品
推論工作負載
-
模型儲存體:根據模型要求動態佈建適當大小的磁碟區
-
容器快取:建立暫時性儲存體,以提升推論效能
-
事件記錄:使用持久性儲存體來存放推論結果和日誌
在 SageMaker HyperPod EKS 叢集上設定 Amazon EBS CSI 驅動程式
Amazon Elastic Block Store (Amazon EBS) 容器儲存介面 (CSI) 驅動程式可讓您動態佈建和管理 Amazon EBS 磁碟區,以用於透過 EKS 協同運作在 SageMaker HyperPod 叢集上執行的容器化工作負載。本節將逐步引導您安裝和設定 Amazon EBS CSI 驅動程式,為您的機器學習工作負載啟用持久性儲存體。
先決條件
開始之前,請執行以下動作:
-
使用版本 v1.47.0
安裝 Amazon EBS CSI 驅動程式
額外許可
若要設定 Amazon EBS CSI 驅動程式附加元件,請遵循《Amazon EKS 使用者指南》中的使用 Kubernetes 磁碟區儲存體搭配 Amazon EBS。您也應該將下列額外許可新增至用來執行驅動程式附加元件的 IAM 角色。請注意,這是在您的服務帳戶組態中為驅動程式附加元件指定的 IAM 角色,而不是 HyperPod 叢集執行角色。
使用 API
或者,您可以使用 AttachClusterNodeVolume 和 DetachClusterNodeVolume API 操作,將您的 Amazon EBS 磁碟區連接到 SageMaker HyperPod EKS 叢集執行個體並將其分離。
使用這些 API 的關鍵要求包括下列要求。
-
Amazon EBS 磁碟區和 SageMaker HyperPod EKS 叢集都必須由相同的 AWS 帳戶所擁有。
-
呼叫主體需要特定的最低許可,才能成功執行連接或分離操作。如需最低許可的詳細資訊,請參閱下列章節:
-
將磁碟區連接至您的 HyperPod 節點後,請遵循存取 SageMaker HyperPod 叢集節點中的指示以存取叢集節點,以及遵循使磁碟區可供使用中的指示以掛載連接的磁碟區。
sagemaker:AttachClusterNodeVolume 所需的許可
sagemaker:DetachClusterNodeVolume 所需的許可
AWS KMS 金鑰的必要許可
只有在您使用客戶受管 KMS 金鑰來加密連接至 HyperPod 叢集節點的 Amazon EBS 磁碟區時,才新增下列 AWS KMS 許可。如果您使用的是 AWS受管 KMS 金鑰 (預設加密選項),則不需要這些許可。
注意
分離使用客戶受管 KMS 金鑰加密的叢集自動磁碟區連接 (CAVA) 磁碟區sagemaker:DetachClusterNodeVolume時, 不需要這些 AWS KMS 許可。