準備在 OCI 上部署隨選 HPC 和 AI 平台

在部署平台之前,請使用此準備指南來設計存取、運算、儲存、身分識別和作業基礎。

複查 OCI 上隨選 HPC 和 AI 平台的準備網域。

使用者存取與 OOD 服務

準備使用者存取路徑和 OOD 服務設計,讓以瀏覽器為基礎的工作流程保持安全、一致且可支援。

使用者透過 OOD 透過 HTTPS 存取平台,而核准的管理員則使用受控制的 SSH 路徑來支援與緊急作業。

  • 使用 OCI 負載平衡器作為 HTTPS 項目,搭配選擇性的 OCI Web 應用程式防火牆、網路安全群組 (NSG) 或 IP 允許清單。
  • 將 SSO 的 Microsoft Entra ID 和 OIDC 用於 OOD 入口。
  • 將 OOD 視為應用程式平台,不僅是套件安裝與版本控制的自訂項目。
  • 進行整備度檢查時,驗證 Apache 路由、OD 應用程式以及 /node/rnode 代理主機行為。
  • 確認遠端桌面、VS 程式碼、 JupyterLab 、RStudio 和 MATLAB 的互動式應用程式啟動路徑。

資料移動、佈建、監控及自動化

準備共用資料處理、專案佈建、可觀察性及自動化,因此調整事件對面向使用者的工作流程保持可靠。

設計作業平台,讓靜態和自動調整節點間的資料移動、識別佈建、監控及週期性維護工作流程保持一致。

  • 定義 OCI Object Storage 、共用檔案系統、專案工作區、暫用路徑和 Lustre 之間的資料移動器路徑。
  • 定義主目錄、專案目錄、權限和 Slurm 帳戶對齊的及時 (JIT) 佈建。
  • 使用 Prometheus 和 Grafana 監控 Slurm 服務、節點新功能、儲存掛載、GPU 執行階段和 OOD 應用程式狀況。
  • 執行 idempotent cron 和自動化工作以進行主機同步、清除工作流程、配額檢查、啟動安裝修復以及升級後 OOD 修正。

HPC 叢集拓樸和纖體分割區

準備 Slurm 控制層拓樸和分割區策略,讓 CPU 和 GPU 容量可預測跨工作負載類型進行擴展。

使用叢集設計來區分控制器、登入、永久運算、自動調整 CPU 和自動調整 GPU 角色,以提高作業清晰度。

  • 設計 Slurm 控制器服務,以進行排程、會計、節點狀態管理和自動調整整合。
  • 讓登入節點專注於提交和診斷,而不是繁重的工作負載執行。
  • 使用永久運算分割區進行低延遲工作負載和基準疑難排解。
  • 使用自動調整 CPU 分割區進行大量互動和批次工作負載。
  • 依工作負載類型和映像檔路徑區隔自動調整 GPU 分割區,以處理程式實際執行、驅動程式及儲存相依性。
  • 請先使用 MUNGE、slurmd、節點識別、一般資源 (GRES) 以及儲存掛載驗證排程器整備度,再將節點標示為就緒。

多層儲存設計

依工作負載行為準備儲存層,讓使用者狀態、共用資料集及高傳輸量 I/O 使用適當的服務和掛載路徑。

使用分層儲存設計來區隔永久使用者狀態、共用專案資料集及高效能工作負載 I/O 路徑。

  • OCI 檔案儲存 (FSS) 用於共用使用者和執行時期路徑,例如 /home/scratch/apps
  • OCI Object Storage 與 JuiceFS 搭配使用,即可取得常常掛載於 /odata 的持久共用資料集和專案資料。
  • 使用 File Storage with Lustre 進行高傳輸量 AI 訓練、檢查點和模擬 I/O (通常掛載於 /lustre)。
  • 在用於批次和互動工作流程的每個節點類別上獨立驗證每個掛載。

識別管理

準備集中式 Linux 識別和專案授權,以便存取、配額和排程控制在整個平台上保持一致。

運用集中式識別管理,讓多用戶工作負載一致 Linux 帳號、群組、主機存取控制與排程器授權。

  • 針對 LDAP 使用者、POSIX 群組、Kerberos 認證以及主機式存取控制使用 FreeIPA。
  • 將專案和實驗室群組對應至 Slurm 帳戶,以強制執行隔離、配額所有權,以及借項沖回或展示報表。
  • 驗證識別服務重新啟動行為,以便在維護事件之後,SSH、本位目錄擁有權以及 Slurm 啟動保持穩定。
  • 規劃 Microsoft Entra ID 群組來源與需要專案授權之 Linux 識別治理工作流程之間的整合。