Erfahren Sie mehr über On-Demand-HPC- und KI-Plattformen auf OCI
Die wichtigsten Produktionsthemen sind die authentifizierte Browserakzeptanz, die GPU-Lustre-Positionierung, die Golden Image-Standardisierung, gemeinsame interaktive Anwendungslaufzeiten und die Automatisierung der Projekt-Governance.
In diesem Lösungs-Playbook erfahren Sie, wie Sie eine On-Demand-HPC- und KI-Plattform auf OCI mit Open OnDemand (OOD), Slurm-Workload-Management, GPU-Autoscaling und einer Multi-Tier-Speicherarchitektur bereitstellen. Forscher, Data Scientists und Ingenieure können über einen Webbrowser sicher auf interaktive KI- und HPC-Umgebungen zugreifen. Die Plattform skaliert GPU- und Compute-Ressourcen dynamisch je nach Workload-Bedarf.
Die Architektur kombiniert die folgenden Funktionen:
- Browserbasierter HPC- und KI-Zugriff über Open OnDemand.
- Sichere Single Sign-On-(SSO-)Integration mit Microsoft Entra ID und OpenID Connect (OIDC).
- Slurm-basierte Workload-Orchestrierung für interaktive und Batch-Jobs.
- Automatische Skalierung von CPU- und GPU-Partitionen für KI-, ML-, Remote-Desktop- und HPC-Workloads.
- Tiered Storage mit OCI Object Storage, OCI File Storage (FSS), JuiceFS und File Storage with Lustre.
- Zentralisiertes Linux-Identitätsmanagement mit FreeIPA.
- Integrierte Überwachung mit Prometheus und Grafana.
- Mehrbenutzer-Projektisolation und Quotenverwaltung.
Bevor Sie beginnen
- OCI Compute-Dokumentation
- File Storage with Lustre-Dokumentation
- OCI Load Balancer-Dokumentation
- OCI Identity and Access Management-Dokumentation
- Dokumentation zu OCI Network Security Groups
Das Lieferungsteam sollte sich mit Folgendem vertraut machen:
- Slurm Workload Manager und Partitionsentwurf.
- Linux-High-Performance-Computing-(HPC-)Umgebungen und freigegebene Dateisysteme.
- OCI-Ausprägungen für Networking, Compute, Grafikprozessor (GPU) und Speicherservices.
- Öffnen Sie OnDemand- und Batch Connect-Anwendungen.
- GPU-basierte KI- und ML-Workloads.
- Überwachung von Stacks wie Prometheus und Grafana.
- Golden Image-Lebenszyklusmanagement für Autoscaling-Knoten.
Architektur
Die folgende Architektur kombiniert OCI-Infrastrukturservices mit bewährten Open-Source-HPC-Tools, um eine sichere, skalierbare Plattform für Batch- und interaktive Workloads bereitzustellen:
Nachfrage-Plattform-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12
Auf einer hohen Ebene erreichen Benutzer OOD über HTTPS und authentifizieren sich über Microsoft Entra ID. OOD bietet Browserzugriff auf Dateien, Shellsessions, Job Composer und interaktive Anwendungen. Slurm-Zeitpläne arbeiten über permanente und automatisch skalierende CPU- und GPU-Partitionen hinweg. Die OCI-Automatisierung stellt die Compute-Kapazität nach Bedarf bereit, und die Node-Bootstrap-Logik bereitet Identität, Slurm-Laufzeit, GPU-Geräte, gemeinsame Anwendungspfade und Storage-Mounts vor dem Start von Benutzer-Workloads vor.
Diese Architektur wendet praktische Implementierungsmuster auf OOD 4.2, Slurm-CPU-Knoten mit automatischer Skalierung, Remotedesktop/noVNC, Job Composer-Partitionsauswahl, GPU-Knoten-Bootstrap-Flows, /odata-Daten-Mount, /lustre-Zugriffsmuster und OOD /rnode-Routing an.
Benutzer und Zugriffsebene
- OCI Load Balancer bietet HTTPS-Zugriff auf den OOD-Endpunkt.
- Optionale Web Application Firewall (WAF), NSGs oder Ausnahmelisten setzen Perimeterkontrollen durch.
- Microsoft Entra ID stellt OIDC-Authentifizierung für Browserbenutzer bereit.
- Bastion oder eingeschränkte SSH-Pfade bieten kontrollierten Administratorzugriff.
OnDemand-Server öffnen
- OOD-Dashboard bietet Browsereintrag für HPC-Benutzer.
- Dateien und Shell-Anwendungen stellen Datei- und Shell-Vorgänge bereit.
- Job Composer leitet Slurm-Jobs weiter.
- Batch Connect-Apps bieten Remotedesktop-, VS-Code-, JupyterLab- und RStudio-Sessions.
/nodeund/rnodeleiten interaktive Proxyservices auf Compute Nodes weiter.
HPC-Cluster
Slurm 25.11.0 verwaltet die HPC-Umgebung, die Controllerknoten, Anmeldeknoten, permanente Compute-Partitionen, Autoscaling-CPU-Partitionen und Autoscaling-GPU-Partitionen umfasst.
- Slurm-Controller hostet
slurmctld,slurmdbd, Accounting-Daten und Autoscaling-Integrationsskripte. - Anmeldeknoten bietet kontrollierte Befehlszeilenübermittlung und Zugriff auf Fehlerbehebung.
- In der dauerhaften Compute-Partition werden Workloads gehostet, die sofortige Kapazität erfordern.
- Autoscaling CPU-Partitionen bieten elastische CPU-Kapazität für Batch- und interaktive Workloads.
- Autoscaling-GPU-Partitionen bieten elastische GPU-Kapazität nach Workload-Typ und Image-Lane.
Multi-Tier-Speicherarchitektur
| Path | Sicherungsschicht | Hauptzweck |
|---|---|---|
/home
|
OCI File Storage | Benutzer-Home-Verzeichnisse und OOD-Status |
/scratch
|
OCI File Storage oder leistungsstarker Shared Storage | Arbeitsdaten und temporäre Jobausgabe |
/apps
|
OCI File Storage | Gemeinsame Anwendungs- und Modulbäume |
/odata
|
JuiceFS mit OCI Object Storage | Dauerhafte gemeinsame Datasets und Projektdaten |
/lustre
|
File Storage with Lustre | KI-Training, Checkpointing und HPC-Simulations-I/O mit hohem Durchsatz |
Identity-Management
FreeIPA bietet eine zentrale Linux-Identitäts- und Zugriffsverwaltung für die HPC-Schicht. Projektgruppen werden Slurm-Konten zugeordnet, um mehrmandantenfähige Zugriffskontrollen, Quoten sowie Chargeback- oder Showback-Modelle durchzusetzen.
Überwachung und Automatisierung
Prometheus und Grafana erfassen Betriebssignale über OOD, Slurm, Rechenknoten, GPU-Laufzeit und Speicher hinweg. Durch die Hintergrundautomatisierung werden Knoten-Bootstrap-, Hostsynchronisierungs- und Bereinigungsworkflows konsistent, wenn die Clusterkapazität skaliert wird.
Empfehlungen
Die folgenden Empfehlungen basieren auf praktischen Implementierungsmustern für OCI HPC- und OOD-Umgebungen.
Dedizierte Compartments verwenden
Trennen Sie Infrastrukturressourcen in OCI-Compartments für Networking, Identity, Storage, Shared Services, GPU-Compute und Monitoring.
GPU-Pools nach Workload-Typ bereitstellen
Erstellen Sie separate Slurm-Partitionen für interaktive KI-Entwicklung, Produktionstraining, Inferenz-Workloads, Batch-HPC-Jobs und Lustre-erforderliche GPU-Workloads.
Autoscaling aggressiv nutzen
- Verwenden Sie kurze Unterbrechungsintervalle für teure GPU-Knoten.
- Verwenden Sie Warm Pools nur für latenzempfindliche Workloads.
- Legen Sie separate Skalierungs-Policys nach Partition und GPU-Typ fest.
- Verwenden Sie Health Checks, um
munge,slurmd, die Registrierung von Knotennamen, generische Ressourcen (GRES), Mounts und die Bereitschaft zur interaktiven Laufzeit zu prüfen.
Isolieren von Speicher-Workloads
- Verwenden Sie FSS für Home-Verzeichnisse, OOD-Status und interaktive Entwicklung.
- Verwenden Sie Object Storage mit JuiceFS für dauerhafte freigegebene Datasets.
- Verwenden Sie Lustre für High-Throughput-Training, Checkpointing und Simulationsausgabe.
Sicherer interaktiver Zugriff
- OIDC-basierte SSO-Integration mit Microsoft Entra ID für OOD verwenden.
- Verwenden Sie nur HTTPS-Zugriff und eingeschränkte SSH-Administration.
- Private Subnetze für Compute Nodes verwenden
- Stellen Sie NSGs nach Möglichkeit vor allgemeinen Sicherheitslisten.
- Verwenden Sie Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Policys mit den geringsten Berechtigungen.
- Verwenden Sie projektbasierte FreeIPA-Gruppen und Slurm-Konten.
- Setzen Sie OOD-Shell-Ausnahmelisten und
/rnode-Hostregex-Steuerelemente durch.
Implementierung von Beobachtbarkeit für Benutzerworkflows
- Verfolgen Sie den Slurm-Knotenstatus und die Gründe für nicht erfolgreiche Jobs.
- Verfolgen Sie Wiederaufnahme- und Reparaturprotokolle zur automatischen Skalierung.
- GPU-Zustand und
nvidia-smi-Ausgaben verfolgen. - Servicestatus
mungeundslurmdverfolgen. - Verfolgen Sie die Gesundheit von FSS, JuiceFS und Lustre.
- Verfolgen Sie OOD Apache-, Passenger- und PUN-Fehler pro Benutzer.
- Verfolgen Sie den Zustand von FreeIPA-, DNS-, LDAP- und Kerberos-Services.
OOD-Anpassungen während Upgrades beibehalten
OOD-Upgrades als Anwendungsreleases behandeln und nach jedem Upgrade benutzerdefinierte Widgets, Job Composer-Partitionsverarbeitung, Batch Connect-Apps, Shell- und Dateien-Ausnahmelisten und Proxyhoststeuerelemente prüfen oder erneut anwenden.
Hinweise
Berücksichtigen Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte.
Performance
GPU-intensive KI-Workloads können erheblichen Netzwerk- und Speicherverkehr generieren.
- Platzieren Sie GPU-Knoten, Lustre und Speicherpfade nach Möglichkeit in derselben Region und Availability-Domain.
- Verwenden Sie Netzwerke mit hoher Bandbreite für GPU- und speicherintensive Workloads.
- Regionsübergreifende Datenverschiebung minimieren.
- Optimieren Sie Slurm-Planungsrichtlinien für GPU-Lokalität und partitionsspezifisches Verhalten.
- GPU-Images mit stabilen Laufzeitabhängigkeiten vorab backen, um die Kaltstartzeit zu reduzieren.
Sicherheit
Schützen Sie sensible KI- und Forschungs-Workloads, indem Sie private Subnetze für Compute Nodes verwenden, den SSH-Zugriff einschränken, OCI-IAM-Richtlinien mit den geringsten Berechtigungen durchsetzen, Storage Tiers verschlüsseln, zentralisiertes Identitätsmanagement integrieren und Auditlogging und -monitoring aktivieren.
Verfügbarkeit
Berücksichtigen Sie High Availability für Slurm-Controller, OOD-Web-Backends, FreeIPA-Services, Shared Storage-Systeme und Monitoring-Infrastruktur.
Verbessern Sie die Resilienz, indem Sie redundante Controller bereitstellen, Slurm-Buchhaltungsdatenbanken sichern, den automatischen Start des FreeIPA-Service validieren und OOD-Rollback-Backups vor Upgrades aufbewahren.
Kostenfaktor
Die GPU-Infrastruktur kann die größten Betriebskosten darstellen.
- Verwenden Sie GPU-Partitionen mit Autoscaling.
- Inaktive GPU-Knoten automatisch unterbrechen.
- Separate Trainingspartitionen für Entwicklung, interaktive und Produktion.
- Ziehen Sie dauerhaften OCI Object Storage für inaktive Datasets vor.
- Verwenden Sie goldene Bilder, um die Startzeit zu verkürzen und fehlgeschlagene Kaltstartzyklen zu reduzieren.
Vorgänge
Die wichtigste operative Lektion ist, dass die Bereitschaft nicht nur über die Cloud-Konsole, sondern auch über den Benutzerworkflow gemessen werden muss.
Prüfen Sie für interaktive Jobs den Slurm-Jobstatus, den Knotenservicestatus, Speichermounts, interaktive Anwendungs-Listener, OOD-Routing /node und /rnode sowie das Browserstartverhalten nach der Authentifizierung.
Checkliste für Produktionsbereitschaft
- OOD-Deployment über redundante Web-Backends hinweg.
- Microsoft Entra ID-OIDC-Routing- und Abmeldeverhalten.
- Job Composer-Partitionsauswahl über alle bereitgestellten Slurm-Partitionen hinweg.
- Remotedesktopstart, noVNC-Konnektivität und
/rnode-Proxyrouting. - Bootstrap für CPU-Knoten automatisch skalieren und Akzeptanz interaktiver Workloads.
- GPU-Knoten-Bootstrap, NVIDIA-Laufzeitprüfungen, GRES-Registrierung und Slurm-Zustand.
- Gemeinsame interaktive Anwendungslaufzeiten unter
/appsfür Code Server und JupyterLab. - Benutzerdefinierte OOD-Helferkompatibilität nach Versionsupgrades.
Erforderliche Services und Rollen
- OCI Identity and Access Management/Identitätsdomain
- OCI-Networking
- OCI-DNS
- OCI Load Balancer
- OCI Bastion
- OCI-Compute
- OCI-Block-Volumes
- OCI File Storage
- File Storage with Lustre
- OCI Object Storage
- OCI Registry
- OCI Vault
- OCI-Monitoring, OCI-Logging, OCI-Benachrichtigungen und OCI-Audit
- Optionale OCI Web Application Firewall und Oracle Cloud Guard
- Plattformservices: Open OnDemand, Slurm, FreeIPA, Linux/POSIX Identity und Shared Runtime Tooling
Dies sind die Rollen, die für jeden Service erforderlich sind.
| Servicename: Rolle | Erforderlich für... |
|---|---|
OCI-IAM/Identitätsdomain: manage groups, manage dynamic-groups, manage policies |
Erstellen und verwalten Sie UAT-Administratorgruppen, dynamische Gruppen und IAM-Policys mit der geringsten Berechtigung. Beschränken Sie diese Rolle auf Mandanten- oder Identitätsadministratoren. |
OCI Networking: manage virtual-network-family |
Erstellen und verwalten Sie VCN, öffentliche/private Subnetze, Routentabellen, Internetgateway, NAT-Gateway, Servicegateway, NSGs und Sicherheitslisten. |
OCI-DNS: manage dns |
Verwalten Sie öffentliche oder delegierte DNS-Datensätze für den OOD-Endpunkt und zugehörige Ingress-Namen. |
OCI Load Balancer: manage load-balancers |
Erstellen und betreiben Sie die öffentliche HTTPS-Ingress-Tier für OOD, und leiten Sie Traffic an private OOD-Backends weiter. |
OCI Web Application Firewall (optional): manage waf-family |
Schützen Sie den öffentlichen Anwendungsendpunkt mit WAF-Policys, Zugriffsregeln und Webingress-Kontrollen, wenn WAF für UAT aktiviert ist. |
OCI-Bastion: manage bastion-family |
Erstellen Sie geprüfte, zeitgebundene SSH-Administrationssessions zur privaten Anmeldung, zum Controller oder zu Administrationshosts. |
OCI Compute: manage instance-family und manage compute-management-family |
Stellen Sie OOD-Hosts, Anmeldeknoten, Slurm-Controller, FreeIPA, CPU/GPU-Worker, Autoscaling-Pools und Image-Pipelineinstanzen bereit, und betreiben Sie diesen. |
OCI Block Volumes: manage volume-family |
Verwalten Sie Boot-Volumes und angehängte Block-Volumes für Plattform-, Controller-, Anmelde- und Compute Nodes. |
OCI File Storage: manage file-family |
Verwalten Sie gemeinsame POSIX-Dateisysteme, Mountziele, Exportsets und Exporte für /home, /scratch und /apps.
|
File Storage with Lustre: manage lustre-file-family |
Führen Sie das /lustre-Dateisystem mit hohem Durchsatz für aktive HPC/AI-Workload-I/O aus, wenn diese Option aktiviert ist.
|
OCI Object Storage: manage object-family oder Geltungsbereich manage buckets und manage objects |
Speichern Sie JuiceFS-unterstützende Daten, dauerhafte Projektdaten, Backups, Lebenszyklusdaten und optionale Lustre-Import-/Exportinhalte. |
OCI-Registry: manage repos oder Geltungsbereich read repos |
Push- oder Pull-Laufzeit- und Anwendungsimages, die von der Golden Image-Pipeline und den Laufzeiten der gemeinsamen Plattform verwendet werden. |
OCI Vault/Keys/Secrets: manage vaults, manage keys, manage secret-family; Laufzeitknoten dürfen read secret-family nur verwenden, wenn dies erforderlich ist
|
Speichern Sie Zugangsdaten, Schlüssel, Token und Integrations-Secrets, ohne sie auf Instanzen oder in Skripten hartcodieren zu müssen. |
OCI-Monitoring: read metrics und manage alarms |
Zeigen Sie Kapazitäts-/Leistungsmetriken für Benutzerakzeptanztest an, und konfigurieren Sie Betriebsalarme. |
OCI-Logging: manage log-groups, read log-content, use unified-configuration |
Verwalten Sie Loggruppen, durchsuchen Sie Logs, und konfigurieren Sie Log-Agents oder Unified Agent-Einstellungen. |
OCI-Benachrichtigungen: manage ons-family |
Erstellen Sie Alarmthemen und Abonnements für Betriebsbenachrichtigungen. |
OCI-Audit: read audit-events |
Überprüfen Sie die OCI-API-Aktivität für Governance, Fehlerbehebung und Aktivitätsüberprüfung. |
Cloud Guard (optional): read cloud-guard-family; manage cloud-guard-family nur mit Governance-Genehmigung
|
Prüfen Sie den Sicherheitsstatus und die Ergebnisse. Aktivieren Sie die Responder-Administration nur, wenn sie explizit genehmigt wurde. |
Dynamische Gruppe für Compute/OOD/Slurm-Instanzen: read buckets, Geltungsbereich manage objects, read repos, use metrics, use log-content, optional read secret-family |
Plattforminstanzen erlauben, auf genehmigte OCI Object Storage-Buckets zuzugreifen, Images abzurufen, Telemetrie auszugeben und genehmigte Secrets mit Instanz-Principals abzurufen. |
Dynamische Gruppe für Imagepipeline: manage instance-family, manage volume-family, read object-family, Geltungsbereich manage repos, optional read secret-family |
Goldene Images oder Laufzeitartefakte erstellen, validieren, hochstufen und veröffentlichen, ohne langlebige Benutzer-API-Schlüssel zu verwenden. |
Dynamische Gruppe für File Storage with Lustre-Synchronisierung (falls verwendet): read buckets und Geltungsbereich manage objects |
File Storage with Lustre-Import/-Export oder -Synchronisierung mit genehmigten OCI Object Storage-Buckets zulassen. |
OOD-Anwendungsrolle: OOD user / OOD admin |
Ermöglichen Sie Benutzern den Zugriff auf Dateien, Shell, Desktop, Code Server, JupyterLab und Jobs. Ermöglichen Sie Plattformadministratoren die Verwaltung der OOD-Konfiguration und -Apps. |
Slurm-Rolle: user, account/partition admin, or scheduler admin |
Starten Sie Jobs, verwalten Sie Accounts/Partitionen/QOS und betreiben Sie CPU/GPU-Planungs-Policys. |
Linux/POSIX-Rolle: POSIX-Benutzer/-Gruppe und gesteuerte sudo |
Steuern Sie Shell-Anmeldung, Dateiberechtigungen, Projektgruppenzugriff und Notfalladministration auf Plattformknoten. |
FreeIPA/Identity Service-Rolle: identity administrator |
Verwalten Sie gegebenenfalls POSIX-Identitäten, -Gruppen, HBAC/DNS und die Host-/Benutzeranmeldung für UAT. |
Informationen zu Ihren Anforderungen finden Sie unter Produkte, Lösungen und Services von Oracle.
