View a markdown version of this page

Slurm Buchhaltung mit AWS ParallelCluster - AWS ParallelCluster

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Slurm Buchhaltung mit AWS ParallelCluster

Ab Version 3.3.0 AWS ParallelCluster unterstützt Slurm Accounting mit dem Cluster-Konfigurationsparameter SlurmSettings/Database.

Ab Version 3.10.0 AWS ParallelCluster unterstützt Slurm Accounting mit einem externen Slurmdbd mit dem Cluster-Konfigurationsparameter/. SlurmSettings ExternalSlurmdbd Die Verwendung eines externen Slurmdbd wird empfohlen, wenn mehrere Cluster dieselbe Datenbank verwenden.

Mit Slurm Accounting können Sie eine externe Buchhaltungsdatenbank integrieren, um Folgendes zu tun:

  • Verwalten Sie Cluster-Benutzer oder Benutzergruppen und andere Entitäten. Mit dieser Funktion können Sie erweiterte Funktionen wie die Durchsetzung Slurm von Ressourcenlimits, Fair-Share und QoSS nutzen.

  • Erfassen und speichern Sie Jobdaten, z. B. den Benutzer, der den Job ausgeführt hat, die Dauer des Jobs und die verwendeten Ressourcen. Sie können die gespeicherten Daten mit dem sacct Hilfsprogramm anzeigen.

Anmerkung

AWS ParallelCluster unterstützt die Slurm Abrechnung Slurm unterstützter MySQL-Datenbankserver.

Arbeitet mit Slurm Buchhaltung mit externem Slurmdbd in AWS ParallelCluster v3.10.0 und später

Bevor Sie die Slurm Buchhaltung konfigurieren, müssen Sie über einen vorhandenen externen Slurmdbd Datenbankserver verfügen, der eine Verbindung zu einem vorhandenen externen Datenbankserver herstellt.

Um dies zu konfigurieren, definieren Sie Folgendes:

  • Die Adresse des externen Slurmdbd Servers in ExternalSlurmdbd/Host. Der Server muss existieren und vom Hauptknoten aus erreichbar sein.

  • Der Munge-Schlüssel für die Kommunikation mit dem externen Slurmdbd Servereingang. MungeKeySecretArn

Eine schrittweise Anleitung finden Sie unterErstellen eines Clusters mit einem externen Slurmdbd Buchhaltung.

Anmerkung

Sie sind dafür verantwortlich, die Buchhaltungseinheiten der Slurm Datenbank zu verwalten.

Die Architektur der AWS ParallelCluster externen SlurmDB Unterstützungsfunktion ermöglicht es mehreren Clustern, die sich dieselbe SlurmDB und dieselbe Datenbank teilen.

A flowchart depicting the Database Stack, Slurmdbd stack, PC Cluster Stack 1, and PC Cluster Stack 2. Containing components such as Slurmdbd instance, RDS Aurora MySQL Database, and Login nodes.

Warnung

Der Verkehr zwischen AWS ParallelCluster und der externen SlurmDB Seite ist nicht verschlüsselt. Es wird empfohlen, den Cluster und den externen Cluster SlurmDB in einem vertrauenswürdigen Netzwerk auszuführen.

Arbeitet mit Slurm Buchhaltung unter Verwendung des Hauptknotens Slurmdbd in AWS ParallelCluster v3.3.0 und später

Bevor Sie die Slurm Buchhaltung konfigurieren, müssen Sie über einen vorhandenen externen Datenbankserver und eine Datenbank verfügen, die das Protokoll verwendetmysql.

Um die Slurm Buchhaltung mit zu konfigurieren AWS ParallelCluster, müssen Sie Folgendes definieren:

  • Der URI für den externen Datenbankserver in Database/Uri. Der Server muss existieren und vom Hauptknoten aus erreichbar sein.

  • Anmeldeinformationen für den Zugriff auf die externe Datenbank, die in Database/PasswordSecretArnund Database/definiert sind UserName. AWS ParallelCluster verwendet diese Informationen, um die Buchhaltung auf der Slurm Ebene und den slurmdbd Dienst auf dem Hauptknoten zu konfigurieren. slurmdbdist der Daemon, der die Kommunikation zwischen dem Cluster und dem Datenbankserver verwaltet.

Eine schrittweise Anleitung finden Sie unterEinen Cluster erstellen mit Slurm Buchhaltung.

Anmerkung

AWS ParallelCluster führt einen grundlegenden Bootstrap der Slurm Accounting-Datenbank durch, indem der Standard-Cluster-Benutzer als Datenbankadministrator in der Slurm Datenbank festgelegt wird. AWS ParallelCluster fügt der Buchhaltungsdatenbank keinen weiteren Benutzer hinzu. Der Kunde ist für die Verwaltung der Buchhaltungseinheiten in der Slurm Datenbank verantwortlich.

AWS ParallelCluster konfiguriert slurmdbd, um sicherzustellen, dass ein Cluster über eine eigene Slurm Datenbank auf dem Datenbankserver verfügt. Derselbe Datenbankserver kann in mehreren Clustern verwendet werden, aber jeder Cluster hat seine eigene separate Datenbank. AWS ParallelCluster verwendet den Clusternamen, um den Namen für die Datenbank im StorageLoc Parameter der slurmdbd Konfigurationsdatei zu definieren. Stellen Sie sich die folgende Situation vor. Eine Datenbank, die auf dem Datenbankserver vorhanden ist, enthält einen Clusternamen, der keinem aktiven Clusternamen zugeordnet ist. In diesem Fall können Sie einen neuen Cluster mit diesem Clusternamen erstellen, der dieser Datenbank zugeordnet werden soll. Slurmverwendet die Datenbank für den neuen Cluster erneut.

Warnung
  • Wir empfehlen nicht, mehr als einen Cluster einzurichten, um dieselbe Datenbank gleichzeitig zu verwenden. Dies kann zu Leistungsproblemen oder sogar zu Datenbank-Deadlock-Situationen führen.

  • Wenn Slurm Accounting auf dem Hauptknoten eines Clusters aktiviert ist, empfehlen wir, einen Instance-Typ mit einer leistungsstarken CPU, mehr Arbeitsspeicher und höherer Netzwerkbandbreite zu verwenden. SlurmAccounting kann den Hauptknoten des Clusters zusätzlich belasten.

In der aktuellen Architektur der AWS ParallelCluster Slurm Accounting-Funktion hat jeder Cluster seine eigene Instanz des slurmdbd Daemons, wie im folgenden Diagramm Beispielkonfigurationen dargestellt.

A configuration with two clusters that are connected to a MySQL server. Each cluster has their own slurmdbd daemon instance. Moreover, each cluster is connected to its own database through the server. Another configuration with a single cluster that has its own slurmdbd daemon instance. This configuration is connected to a MySQL server and is also connected to its own database through the server.

Wenn Sie Ihrer Slurm Cluster-Umgebung benutzerdefinierte Multi-Cluster- oder Verbundfunktionen hinzufügen, müssen alle Cluster auf dieselbe slurmdbd Instanz verweisen. Für diese Alternative empfehlen wir, die AWS ParallelCluster Slurm Kontoführung auf einem Cluster zu aktivieren und die anderen Cluster manuell so zu konfigurieren, slurmdbd dass sie eine Verbindung zu den Clustern herstellen, die auf dem ersten Cluster gehostet werden.

Wenn Sie AWS ParallelCluster Versionen vor Version 3.3.0 verwenden, lesen Sie die alternative Methode zur Implementierung der Slurm Buchhaltung, die in diesem HPC-Blogbeitrag beschrieben wird.

Slurm Überlegungen zur Buchhaltung

Datenbank und Cluster auf verschiedenen VPCs

Um die Slurm Buchhaltung zu ermöglichen, wird ein Datenbankserver benötigt, der als Backend für die Lese- und Schreibvorgänge dient, die der slurmdbd Daemon ausführt. Bevor der Cluster erstellt oder aktualisiert wird, um Slurm Accounting zu ermöglichen, muss der Hauptknoten in der Lage sein, den Datenbankserver zu erreichen.

Wenn Sie den Datenbankserver auf einer anderen VPC als der, die der Cluster verwendet, bereitstellen müssen, beachten Sie Folgendes:

  • Um die Kommunikation zwischen dem slurmdbd auf der Clusterseite und dem Datenbankserver zu ermöglichen, müssen Sie die Konnektivität zwischen den beiden VPCs einrichten. Weitere Informationen finden Sie unter VPC Peering im Amazon Virtual Private Cloud-Benutzerhandbuch.

  • Sie müssen die Sicherheitsgruppe erstellen, die Sie an den Hauptknoten auf der VPC des Clusters anhängen möchten. Nachdem die beiden VPCs miteinander verbunden wurden, ist ein Cross-Linking zwischen den datenbankseitigen und den clusterseitigen Sicherheitsgruppen verfügbar. Weitere Informationen finden Sie unter Sicherheitsgruppenregeln im Amazon Virtual Private Cloud-Benutzerhandbuch.

Konfiguration der TLS-Verschlüsselung zwischen slurmdbd und dem Datenbankserver

slurmdbdStellt mit der Slurm Standardkontenkonfiguration, die dies AWS ParallelCluster vorsieht, eine TLS-verschlüsselte Verbindung zum Datenbankserver her, sofern der Server die TLS-Verschlüsselung unterstützt. AWS Datenbankdienste wie Amazon RDS und C Amazon Aurora unterstützen standardmäßig die TLS-Verschlüsselung.

Sie können sichere Verbindungen auf der Serverseite benötigen, indem Sie den require_secure_transport Parameter auf dem Datenbankserver festlegen. Dies ist in der bereitgestellten CloudFormation Vorlage konfiguriert.

Gemäß den bewährten Sicherheitsmethoden empfehlen wir, dass Sie auch die Serveridentitätsüberprüfung auf dem slurmdbd Client aktivieren. Konfigurieren Sie dazu das StorageParameters in derslurmdbd.conf. Laden Sie das Server-CA-Zertifikat auf den Hauptknoten des Clusters hoch. Stellen Sie als Nächstes die https://slurm.schedmd.com/slurmdbd.conf.html#OPT_SSL_CA SSL_CA-Option von StorageParameters in slurmdbd.conf auf den Pfad des Server-CA-Zertifikats auf dem Hauptknoten ein. Dadurch wird nebenbei die Überprüfung der Serveridentität aktiviert. slurmdbd Nachdem Sie diese Änderungen vorgenommen haben, starten Sie den slurmdbd Dienst neu, um die Konnektivität zum Datenbankserver wiederherzustellen, wobei die Identitätsprüfung aktiviert ist.

Aktualisierung der Datenbankanmeldeinformationen

Um die Werte für Datenbank/UserNameoder zu aktualisieren PasswordSecretArn, müssen Sie zuerst die Rechenflotte beenden. Angenommen, der geheime Wert, der im AWS Secrets Manager Secret gespeichert ist, wird geändert, und sein ARN wird nicht geändert. In dieser Situation aktualisiert der Cluster das Datenbankkennwort nicht automatisch auf den neuen Wert. Um den Cluster für den neuen geheimen Wert zu aktualisieren, führen Sie den folgenden Befehl vom Hauptknoten aus.

$ sudo /opt/parallelcluster/scripts/slurm/update_slurm_database_password.sh
Warnung

Um den Verlust von Buchhaltungsdaten zu vermeiden, empfehlen wir, das Datenbankkennwort nur zu ändern, wenn die Rechenflotte gestoppt wird.

Überwachung der Datenbank

Wir empfehlen, dass Sie die Überwachungsfunktionen der AWS Datenbankdienste aktivieren. Weitere Informationen finden Sie in der Dokumentation zur Amazon RDS-Überwachung oder zur Amazon Aurora-Überwachung.