Slurm Abrechnung 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 Abrechnung mit AWS ParallelCluster

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

Ab Version 3.10.0 unterstützt AWS ParallelCluster Slurm Abrechnung mit einer externen Slurmdbd mit dem Cluster-Konfigurationsparameter/. SlurmSettingsExternalSlurmdbd Die Verwendung einer externen Slurmdbd wird empfohlen, wenn sich mehrere Cluster dieselbe Datenbank teilen.

Mit Slurm In der Buchhaltung 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 Folgendes verwenden SlurmDie fortschrittlicheren Funktionen wie die Durchsetzung von Ressourcenbeschränkungen, Fairshare und QOSs.

  • Erfassen und speichern Sie Auftragsdaten, 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 Slurm buchhalterisch für Slurm unterstützte MySQL-Datenbankserver.

Arbeitet mit Slurm Buchhaltung mit externer Slurmdbd in AWS ParallelCluster v3.10.0 und höher

Bevor Sie konfigurieren Slurm Buchhaltung, Sie müssen über ein vorhandenes externes System verfügen Slurmdbd Datenbankserver, der eine Verbindung zu einem vorhandenen externen Datenbankserver herstellt.

Um dies zu konfigurieren, definieren Sie Folgendes:

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

  • Die Munge-Taste, um mit dem Äußeren zu kommunizieren Slurmdbd Server ist drin MungeKeySecretArn.

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

Anmerkung

Sie sind verantwortlich für die Verwaltung der Slurm Datenbank-Buchhaltungseinheiten.

Die Architektur des AWS ParallelCluster Externen SlurmDB Die Unterstützungsfunktion ermöglicht es, dass sich mehrere Cluster dasselbe teilen SlurmDB und dieselbe Datenbank.

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

Verkehr zwischen AWS ParallelCluster und dem Externen SlurmDB ist nicht verschlüsselt. Es wird empfohlen, den Cluster und den externen SlurmDB in einem vertrauenswürdigen Netzwerk.

Arbeitet mit Slurm Buchhaltung unter Verwendung des Hauptknotens Slurmdbd in AWS ParallelCluster v3.3.0 und höher

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

Um zu konfigurieren Slurm Accounting with AWS ParallelCluster, Sie müssen 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 bei der zu konfigurieren Slurm Ebene und der slurmdbd Dienst auf dem Hauptknoten. 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 einfachen Bootstrap des Slurm Accounting-Datenbank, indem der Standard-Clusterbenutzer als Datenbankadministrator in der Slurm Datenbank. AWS ParallelCluster fügt der Buchhaltungsdatenbank keinen weiteren Benutzer hinzu. Der Kunde ist verantwortlich für die Verwaltung der Buchhaltungseinheiten in Slurm Datenbank.

AWS ParallelCluster konfiguriert slurmdbd, um sicherzustellen, dass ein Cluster seinen eigenen hat Slurm Datenbank auf dem Datenbankserver. 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 StorageLocParameter 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. Slurm verwendet die Datenbank für den neuen Cluster erneut.

Warnung
  • Es wird nicht empfohlen, 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 ist auf dem Hauptknoten eines Clusters aktiviert. Wir empfehlen die Verwendung eines Instance-Typs mit einer leistungsstarken CPU, mehr Arbeitsspeicher und höherer Netzwerkbandbreite. Slurm Accounting kann den Hauptknoten des Clusters zusätzlich belasten.

In der aktuellen Architektur des AWS ParallelCluster Slurm Bei der Accounting-Funktion hat jeder Cluster seine eigene Instanz des slurmdbd Daemons, wie in der folgenden Abbildung mit 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 benutzerdefinierte hinzufügen Slurm Multi-Cluster- oder Verbundfunktionen für Ihre Cluster-Umgebung müssen alle Cluster auf dieselbe slurmdbd Instanz verweisen. Für diese Alternative empfehlen wir, dass Sie Folgendes aktivieren AWS ParallelCluster Slurm Kontoführung auf einem Cluster und manuelles Konfigurieren der anderen Cluster für die Verbindung mit den Clusternslurmdbd, die auf dem ersten Cluster gehostet werden.

Wenn Sie AWS ParallelCluster Versionen vor Version 3.3.0 verwenden, sehen Sie sich die alternative Implementierungsmethode an Slurm Buchhaltung, die in diesem HPC-Blogbeitrag beschrieben wird.

Slurm Überlegungen zur Rechnungslegung

Datenbank und Cluster auf verschiedenen VPCs

Um zu aktivieren Slurm Bei der Buchhaltung wird ein Datenbankserver benötigt, der als Backend für die Lese- und Schreiboperationen dient, die der slurmdbd Daemon ausführt. Bevor der Cluster erstellt oder aktualisiert wird, um Folgendes zu aktivieren Slurm Bei der Abrechnung 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, sollten Sie Folgendes berücksichtigen:

  • 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 Cloud-Benutzerhandbuch.

  • Sie müssen die Sicherheitsgruppe erstellen, die Sie dem Hauptknoten auf der VPC des Clusters zuordnen möchten. Nachdem die beiden miteinander verbunden VPCs wurden, ist eine Querverknüpfung zwischen den Sicherheitsgruppen auf der Datenbankseite und der Clusterseite verfügbar. Weitere Informationen finden Sie unter Sicherheitsgruppenregeln im Amazon Virtual Private Cloud Cloud-Benutzerhandbuch.

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

Mit der Standardeinstellung Slurm Kontoführungskonfiguration, die eine slurmdbd TLS-verschlüsselte Verbindung zum Datenbankserver AWS ParallelCluster bereitstellt, sofern der Server die TLS-Verschlüsselung unterstützt. AWS Datenbankdienste wie Amazon RDS Amazon Aurora unterstützen standardmäßig TLS-Verschlüsselung.

Sie können sichere Verbindungen auf der Serverseite verlangen, 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 Überprüfung der Serveridentität auf dem slurmdbd Client aktivieren. Konfigurieren Sie dazu den StorageParametersin derslurmdbd.conf. Laden Sie das CA-Zertifikat des Servers auf den Hauptknoten des Clusters hoch. Stellen Sie als Nächstes die SSL_CA-Option 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 Verbindung zum Datenbankserver mit aktivierter Identitätsprüfung wiederherzustellen.

Aktualisierung der Datenbankanmeldedaten

Um die Werte für Database/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 diesem Fall 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 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 ist.

Datenbank-Überwachung

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