SlurmAbrechnung 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.

SlurmAbrechnung mit AWS ParallelCluster

AWS ParallelCluster Unterstützt ab Version 3.3.0 die Slurm Abrechnung mit dem Cluster-Konfigurationsparameter SlurmSettings/Database.

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 Ressourcenbeschränkungen, Fairshare und QoSS nutzen.

  • Sammeln 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 Slurmunterstützter MySQL-Datenbankserver.

Arbeiten mit Slurm Buchhaltung in AWS ParallelCluster

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

Um die Slurm Kontoführung 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 Kontoführung 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 mit Slurm Accounting erstellen.

Anmerkung

AWS ParallelCluster führt einen grundlegenden Bootstrap der Slurm Accounting-Datenbank durch, indem der Standard-Clusterbenutzer in der Slurm Datenbank als Datenbankadministrator festgelegt wird. AWS ParallelCluster fügt der Accounting-Datenbank 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 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. Slurmverwendet 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 auf dem Hauptknoten eines Clusters aktiviert ist, empfehlen wir die Verwendung eines Instance-Typs mit einer leistungsstarken CPU, mehr Arbeitsspeicher und höherer Netzwerkbandbreite. 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 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 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, dass Sie die AWS ParallelCluster Slurm Kontoführung auf einem Cluster aktivieren und die anderen Cluster manuell so 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 Rechnungslegung

Datenbank und Cluster auf verschiedenen VPCs

Um die Slurm Kontoführung zu aktivieren, 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 die Slurm Kontoführung zu aktivieren, 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 der slurmdbd 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 VPCs miteinander verbunden 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

slurmdbdStellt mit der standardmäßigen Slurm Kontoführungskonfiguration, 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 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.