瞭解 OCI 上的隨選 HPC 和 AI 平台
主要的生產主題是經過驗證的瀏覽器接受度、GPU Lustre 定位、黃金映像檔標準化、共用互動式應用程式執行階段,以及專案治理自動化。
在本解決方案手冊中,您將瞭解如何使用 Open OnDemand (OOD)、Slurm 工作負載管理、GPU 自動調整及多層儲存架構,在 OCI 上部署隨選 HPC 和 AI 平台。研究人員、資料科學家和工程師可以透過 Web 瀏覽器安全地存取互動式 AI 和 HPC 環境。此平台會根據工作負載需求動態調整 GPU 和運算資源。
此架構結合了下列功能:
- 使用 Open OnDemand 存取瀏覽器型 HPC 和 AI。
- 使用 Microsoft Entra ID 和 OpenID Connect (OIDC) 保護單一登入 (SSO) 整合。
- 適用於互動式與批次工作的 Slurm 型工作負載協調流程。
- 自動調整 AI、ML、遠端桌面及 HPC 工作負載的 CPU 和 GPU 分割區。
- 使用 OCI Object Storage 、 OCI File Storage (FSS)、JuiceFS 和 File Storage with Lustre 的分層儲存。
- 使用 FreeIPA 進行集中式 Linux 識別管理。
- 使用 Prometheus 和 Grafana 進行整合監控。
- 多使用者專案隔離和配額管理。
Before You Begin - 開始之前
交付團隊應該熟悉以下事項:
- Slurm 工作負載管理程式與分割區設計。
- Linux 高效能運算 (HPC) 環境和共用檔案系統。
- OCI 網路、運算、圖形處理單元 (GPU) 資源配置及儲存服務。
- 開啟 OnDemand 和 Batch Connect 應用程式。
- GPU 型 AI 和 ML 工作負載。
- 監控堆疊,例如 Prometheus 和 Grafana。
- 自動調整節點的黃金映像檔生命週期管理。
架構
下列架構將 OCI 基礎架構服務與經過實證的開源 HPC 工具結合,為批次和互動式工作負載提供安全、可擴展的平台:
demand-platform-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12
在高層次,使用者透過 HTTPS 連線 OOD 並透過 Microsoft Entra ID 進行認證。OOD 提供對檔案、Shell 階段作業、工作編寫器及互動式應用程式的瀏覽器存取權。纖薄排程可跨永久和自動調整 CPU 和 GPU 分割區運作。OCI 自動化會視需要佈建運算容量,並在使用者工作負載開始前,節點啟動安裝邏輯會準備身分識別、Slurm 程式實際執行、GPU 裝置、共用應用程式路徑及儲存掛載。
此架構可跨 OOD 4.2、Slurm 自動調整 CPU 節點、遠端桌面 /noVNC、工作編寫器分割區選擇、GPU 節點啟動安裝流程、/odata 資料掛載、/lustre 存取模式及 OOD /rnode 路由套用實作模式。
使用者和存取層
- OCI 負載平衡器提供對 OOD 端點的 HTTPS 存取。
- 選擇性 Web 應用程式防火牆 (WAF)、NSG 或允許清單強制執行周邊控制。
- Microsoft Entra ID 為瀏覽器使用者提供 OIDC 認證。
- 堡壘主機或限制的 SSH 路徑提供受控制的管理員存取權。
開啟 OnDemand 伺服器
- OOD 儀表板提供 HPC 使用者的瀏覽器項目。
- 檔案與 Shell 應用程式提供檔案與 Shell 作業。
- 工作編寫器會提交 Slurm 工作。
- Batch Connect 應用程式提供遠端桌面、VS 代碼、 JupyterLab 和 RStudio 階段作業。
/node和/rnode會在運算節點上路由代理主機互動式服務。
HPC 叢集
Slurm 25.11.0 可管理 HPC 環境,包括控制器節點、登入節點、永久運算分割區、自動調整 CPU 分割區,以及自動調整 GPU 分割區。
- Slurm 控制器會代管
slurmctld、slurmdbd、會計資料和自動調整整合指令碼。 - 登入節點提供受控制的命令行提交和疑難排解存取。
- 永久運算分割區代管需要立即容量的工作負載。
- 自動調整 CPU 分割區可為批次和互動式工作負載提供彈性的 CPU 容量。
- 自動調整 GPU 分割區可依工作負載類型和映像檔路徑提供彈性的 GPU 容量。
多層儲存架構
| 路徑 | 支持層 | 主要用途 |
|---|---|---|
/home
|
OCI 檔案儲存 | 使用者本位目錄與 OOD 狀態 |
/scratch
|
OCI File Storage 或高效能共用儲存 | 工作資料與暫時工作輸出 |
/apps
|
OCI 檔案儲存 | 共用的應用程式和模組樹狀結構 |
/odata
|
JuiceFS 的支援者為 OCI Object Storage | 持久的共用資料集和專案資料 |
/lustre
|
使用 Lustre 儲存檔案 | 高傳輸量 AI 訓練、檢查點和 HPC 模擬 I/O |
身分管理
FreeIPA 為 HPC 層提供集中式 Linux 識別與存取管理。專案群組會對應至 Slurm 帳戶,以強制執行多租用戶存取控制、配額及借項沖回或展示模型。
監控與自動化
Prometheus 和 Grafana 跨 OOD、Slurm、運算節點、GPU 執行階段和儲存收集營運訊號。背景自動化可確保節點啟動安裝、主機同步化及清除工作流程與叢集容量擴充一致。
建議
下列建議是以 OCI HPC 和 OOD 環境的實際實行模式為基礎。
使用專用區間
將基礎架構資源分成 OCI 區間,以進行網路、識別、儲存、共用服務、GPU 運算及監控。
依工作負載類型部署 GPU 集區
為互動式 AI 開發、生產訓練、推論工作負載、批次 HPC 工作和需要 Lustre-required GPU 工作負載建立獨立的 Slurm 分割區。
積極使用自動調整功能
- 針對昂貴的 GPU 節點使用短暫的暫停間隔。
- 只有對延遲敏感的工作負載使用暖池。
- 依分割區和 GPU 類型設定個別的調整原則。
- 使用狀況檢查來驗證
munge、slurmd、節點名稱註冊、一般資源 (GRES)、掛載以及互動式程式實際執行整備度。
隔離儲存工作負載
- 使用 FSS 作為主目錄、OD 狀態及互動式開發。
- 將物件儲存與 JuiceFS 搭配使用,即可取得持久的共用資料集。
- 使用 Lustre 進行高輸送量訓練、檢查點和模擬輸出。
安全的互動式存取
- 針對 OOD 使用以 OIDC 為基礎的 SSO 與 Microsoft Entra ID 整合。
- 使用僅限 HTTPS 存取和限制的 SSH 管理。
- 使用專用子網路作為運算節點。
- 儘可能偏好使用 NSG 來取代廣泛的安全清單。
- 使用最低權限的 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 原則。
- 使用以專案為基礎的 FreeIPA 群組與 Slurm 帳號。
- 強制使用 OOD Shell 允許清單和
/rnode主機正規表示式控制項。
導入使用者工作流程的可觀察性
- 追蹤 Slurm 節點狀態與失敗的工作原因。
- 追蹤自動調整恢復和修復日誌。
- 追蹤 GPU 狀況和
nvidia-smi輸出。 - 追蹤
munge和slurmd服務狀態。 - 追蹤 FSS、JuiceFS 和 Lustre 掛載狀況。
- 追蹤 OOD Apache、Passenger 和每個使用者 PUN 錯誤。
- 追蹤 FreeIPA、DNS、LDAP 以及 Kerberos 服務狀況。
升級期間保留 OOD 自訂
將 OOD 升級視為應用程式版本,並在每次升級後驗證或重新套用自訂小工具、Job Composer 分割區處理、Batch Connect 應用程式、Shell 和檔案允許清單,以及代理主機控制。
注意事項
部署此參考架構時,請考量下列各點。
效能
GPU 密集型 AI 工作負載可產生大量的網路和儲存流量。
- 請盡可能將 GPU 節點、Lustre 和儲存路徑放置在相同的區域和可用性網域中。
- 針對 GPU 和大量儲存工作負載使用高頻寬網路。
- 將跨區域資料移動最小化。
- 調整 GPU 地區和分割區特定行為的 Slurm 排程原則。
- 預先喚醒具有穩定執行時間相依性的 GPU 影像,以減少冷啟動時間。
安全
針對運算節點使用專用子網路、限制 SSH 存取、強制實行最低權限的 OCI IAM 原則、加密儲存層、整合集中式識別管理,以及啟用稽核記錄與監控,以保護機密 AI 和研究工作負載。
使用狀態
考慮 Slurm 控制器、OD Web 後端、FreeIPA 服務、共用儲存系統及監控基礎架構的高可用性。
透過部署備援控制器、備份 Slurm 會計資料庫、自動啟動驗證 FreeIPA 服務,以及在升級前保留 OOD 倒回備份,提升韌性。
成本
GPU 基礎架構可代表最大的營運費用。
- 使用自動調整 GPU 分割區。
- 自動暫停閒置的 GPU 節點。
- 分別開發、互動和生產訓練分割區。
- 偏好用於非作用中資料集的持久性 OCI Object Storage 。
- 使用黃金映像檔縮短開始時間,減少失敗的冷啟動週期。
作業
最重要的作業課程是,新功能只能從使用者工作流程來評量,而不能只從雲端主控台評量。
對於互動式工作,請驗證 Slurm 工作狀態、節點服務狀態、儲存掛載、互動式應用程式監聽器、OD /node 與 /rnode 路由,以及驗證後的瀏覽器啟動行為。
生產準備度檢查清單
- 跨備援 Web 後端進行 OOD 部署。
- Microsoft Entra ID OIDC 路由和登出行為。
- 選取所有公開之 Slurm 分割區的工作編輯器分割區。
- 遠端桌面啟動、noVNC 連線,以及
/rnode代理路由。 - 自動調整 CPU 節點啟動安裝和互動式工作負載接受度。
- GPU 節點啟動安裝、 NVIDIA 程式實際執行檢查、GRES 註冊以及 Slurm 狀況。
- Code Server 和 JupyterLab 之
/apps底下的共用互動式應用程式程式實際執行。 - 版本升級後的 OOD 自訂協助程式相容性。
關於必要服務與角色
- OCI Identity and Access Management / 識別網域
- OCI 網路
- OCI DNS
- OCI 負載平衡器
- OCI 堡壘主機
- OCI Compute
- OCI 區塊磁碟區
- OCI 檔案儲存
- 使用 Lustre 儲存檔案
- OCI Object Storage
- OCI 登錄
- OCI 保存庫
- OCI 監控、 OCI 記錄、 OCI 通知及 OCI 稽核
- 選擇性 OCI Web 應用程式防火牆和 Oracle Cloud Guard
- 平台服務:Open OnDemand、Slurm、FreeIPA、Linux/POSIX 識別及共用程式實際執行工具
這些是每項服務所需的角色。
| 服務名稱:角色 | 需要 ... |
|---|---|
OCI IAM/ 識別網域:manage groups、manage dynamic-groups、manage policies |
建立和維護 UAT 管理員群組、動態群組以及最低權限的 IAM 原則。將此角色限制為租用戶或識別管理員。 |
OCI 網路:manage virtual-network-family |
建立及維護 VCN、公用 / 專用子網路、路由表、網際網路閘道、NAT 閘道、服務閘道、NSG 以及安全清單。 |
OCI DNS:manage dns |
管理 OOD 端點和相關輸入項名稱的公用或委派 DNS 記錄。 |
OCI 負載平衡器:manage load-balancers |
建立及操作 OOD 的公用 HTTPS 輸入層,並將流量遞送至專用 OOD 後端。 |
OCI Web 應用程式防火牆 (選擇性):manage waf-family |
為 UAT 啟用 WAF 時,可使用 WAF 原則、存取規則和 Web 輸入控制來保護公用應用程式端點。 |
OCI 堡壘主機:manage bastion-family |
建立專用登入、控制器或管理主機的稽核及時間限制管理 SSH 階段作業。 |
OCI Compute :manage instance-family 和 manage compute-management-family |
佈建及操作 OOD 主機、登入節點、Slurm 控制器、FreeIPA、CPU/GPU 工作程式、自動調整集區及影像管線執行處理。 |
OCI 區塊磁碟區:manage volume-family |
管理平台、控制器、登入和運算節點的開機磁碟區和連附的區塊磁碟區。 |
OCI 檔案儲存:manage file-family |
管理 /home、/scratch 和 /apps 的共用 POSIX 檔案系統、掛載目標、匯出集和匯出。
|
File Storage with Lustre :manage lustre-file-family |
啟用時,針對作用中 HPC/AI 工作負載 I/O 操作高傳輸量 /lustre 檔案系統。
|
OCI 物件儲存:manage object-family 或範圍 manage buckets 和 manage objects |
儲存 JuiceFS 備份資料、持久的專案資料、備份、生命週期資料,以及選擇性的 Lustre 匯入 / 匯出內容。 |
OCI 登錄:manage repos 或範圍 read repos |
推送或提取黃金映像檔管線和共用平台程式實際執行所使用的程式實際執行和應用程式映像檔。 |
OCI Vault/Keys/Secrets:manage vaults、manage keys、manage secret-family;執行時期節點只有在需要時才應使用 read secret-family
|
將證明資料、金鑰、記號以及整合加密密碼儲存起來,而不需在執行處理或命令檔中進行硬式編碼。 |
OCI 監控:read metrics 和 manage alarms |
檢視 UAT 容量 / 效能度量並設定作業警示。 |
OCI Logging :manage log-groups、read log-content、use unified-configuration |
管理日誌群組、搜尋日誌,以及設定日誌代理程式或統一代理程式設定值。 |
OCI 通知:manage ons-family |
建立作業通知的警示主題和訂閱。 |
OCI 稽核:read audit-events |
複查 OCI API 活動,以進行治理、疑難排解和活動複查。 |
Cloud Guard (選擇性):read cloud-guard-family;manage cloud-guard-family 僅適用於治理核准
|
複查安全狀態與發現項目。僅在明確核准時啟用回應器管理。 |
運算 /OOD/Slurm 執行處理的動態群組:read buckets,範圍為 manage objects,read repos,use metrics,use log-content,選擇性 read secret-family |
允許平台執行處理使用執行處理主體存取核准的 OCI Object Storage 儲存桶、提取映像檔、發出遙測,以及擷取核准的加密密碼。 |
影像管線的動態群組:manage instance-family、manage volume-family、read object-family、範圍 manage repos、選擇性 read secret-family |
不使用長期使用者 API 金鑰,即可建置、驗證、升級及發布黃金映像檔或程式實際執行使用者自建物件。 |
使用 Lustre 進行檔案儲存同步的動態群組 (若有使用):read buckets 和範圍 manage objects |
允許 File Storage with Lustre 匯入 / 匯出,或與已核准的 OCI Object Storage 儲存桶同步。 |
OOD 應用程式角色:OOD user / OOD admin |
允許使用者存取檔案、Shell、桌面、程式碼伺服器、 JupyterLab 和工作;允許平台管理員管理 OOD 組態和應用程式。 |
Slurm 角色:user, account/partition admin, or scheduler admin |
提交工作、管理帳號 / 分割區 /QOS,以及操作 CPU/GPU 排程原則。 |
Linux/POSIX 角色:POSIX 使用者 / 群組並控制 sudo |
控制平台節點上的 Shell 登入、檔案權限、專案群組存取以及緊急管理。 |
FreeIPA / 識別服務角色:identity administrator |
在適用情況下管理 POSIX 識別、群組、HBAC/DNS,以及主機 / 使用者註冊 UAT。 |
請參閱 Oracle 產品、解決方案和服務,以取得您需要的內容。
