Freigeben über


Erstellen von high available HPC Pack Cluster in Azure

In diesem Artikel werden wir die Schritte und Überlegungen zum Erstellen eines high available HPC Pack Cluster in Azure bereitstellen.

Überlegungen zu Cluster high available

Ein typischer HPC Pack Cluster besteht aus einem SQL Server mit unseren Datenbanken, in denen HPC-Aufträge gespeichert werden; Ein Headknotenserver , der wichtige Dienste ausführt, z. B. planerdienst-SDM-Dienst; Eine Reihe von Computeknoten , die eine Verbindung mit den Diensten auf dem Kopfknoten herstellen, führen die HPC-Workloads des Benutzers aus. Außerdem benötigen wir einen Domänencontroller , der die Authentifizierung für die Clients bereitstellt. Alle diese Komponenten sind über das Netzwerk miteinander verbunden.

In einer Azure-Cloudumgebung kann eine der oben genannten Komponenten fehlschlagen, z. B. der Für Windows Update neu gestartete Kopfknoten, einige Computeknoten können neu gestartet werden, da Sie vm mit niedriger Priorität verwenden. So können wir einen high available HPC Pack Cluster einrichten, der folgendes erfüllt:

  1. Alle oben erwähnten Komponenten konnten nicht ausgeführt werden, die Arbeitsauslastung des Benutzers kann weiterhin ausgeführt werden, ohne abgebrochen oder fehlgeschlagen zu sein.

  2. Vorgänge, die auf fehlerhaften Computeknoten ausgeführt werden, müssen auf andere Computeknoten neu geplant werden.

  3. Der Cluster muss weiterhin in der Lage sein, die Funktionalität einschließlich Clustermanagement, Auftragsmanagement

Lassen Sie uns also jede Komponentenausfallsituation und ihre Hochverfügbarkeitslösung besprechen.

Umgang mit Datenbankfehlern

Sie haben eine Reihe von Auswahlmöglichkeiten, um eine hoch verfügbare SQL-Datenbank in der Cloud zu erhalten:

Umgang mit Head node failure

Richten Sie mindestens 2 Kopfknoten in einem Cluster ein. Bei dieser Konfiguration führt jeder Fehler des Kopfknotens dazu, den aktiven HPC-Dienst von diesem Kopfknoten in einen anderen zu verschieben.

Umgang mit AD-Fehlern

Wenn HPC keine Verbindung mit dem Domänencontroller herstellen konnte, können Administratoren und Benutzer keine Verbindung mit dem HPC-Dienst herstellen und somit keine Aufträge an den Cluster verwalten und übermitteln. Und neue Aufträge können nicht auf den Computerknoten der Domäne gestartet werden, da der NodeManager-Dienst die Anmeldeinformationen des Auftrags nicht überprüft hat. Daher müssen Sie die folgenden Optionen berücksichtigen:

  1. Bereitstellen eines hoch verfügbaren Domänencontrollers mit Ihrem HPC Pack Cluster in Azure

  2. Verwenden des Azure AD-Domänendiensts. Während der Clusterbereitstellung können Sie einfach alle Clusterknoten dieser Domäne beitreten und den hoch verfügbaren Domänendienst von Azure abrufen.

  3. Verwenden der HPC Pack Azure AD-Integrationslösung , ohne dass die Clusterknoten einer Domäne beitreten. So lange der HPC-Dienst über Eine Verbindung mit dem Azure AD-Dienst verfügt.

Umgang mit Netzwerkfehlern

Das Netzwerk selbst im Azure-Rechenzentrum ist hoch verfügbar, daher müssen wir kein Sicherungsnetzwerk haben.

Erstellen von high available HPC Pack Cluster

Wir haben hier eine ARM-Vorlage, die einen hoch verfügbaren HPC-Cluster mit Optionen bereitstellen kann:

  1. Erstellen einer Azure SQL-Datenbank

  2. Herstellen einer Verbindung mit einer vorhandenen Active Directory-Domäne

  3. Erstellen eines high available HPC Pack Cluster

Vorlage: Hochverfügbarkeitscluster mit Azure SQL-Datenbanken für Windows-Workloads mit vorhandener Active Directory-Domäne

Diese Vorlage stellt einen HPC Pack-Cluster mit hoher Verfügbarkeit für Windows HPC-Workloads in einer vorhandenen Active Directory-Domänenstruktur bereit. Der Cluster umfasst zwei Kopfknoten, SQL Azure-Datenbanken und eine konfigurierbare Anzahl von Windows-Computeknoten. Sie können die öffentliche IP-Adresse für den Kopfknoten nicht erstellen, wenn Sie über ein virtuelles Netzwerk verfügen, bei dem Express Route konfiguriert ist und Sie den Cluster mit Ihrer lokalen Active Directory-Domäne verbinden möchten.

Anmerkung: Stellen Sie sicher, dass Sie den Dienstendpunkt für Azure SQL-Datenbank (Microsoft.Sql) im Subnetz aktiviert haben, in dem Sie den Cluster erstellen möchten.

HPC Pack Cluster-Freigaben

Derzeit erstellen wir in allen HPC Pack ARM-Vorlagen die Clusterfreigabe auf einem der Kopfknoten, der nicht hoch verfügbar ist, als ob dieser Kopfknoten nach unten ist, ist die Freigabe nicht für den HPC-Dienst zugänglich, der auf einem anderen Kopfknoten ausgeführt wird. Im Grunde wirkt es sich nicht auf die Ausführung von Aufträgen und die Verwaltung der Knoten aus.

Mit Azure Files können diese Dateifreigaben in Azure Files-Freigaben mit SMB-Berechtigungen verschoben werden, um sie hoch verfügbar zu machen. Bitte lesen Sie dieses Dokument.

Freigabename Verwendung Standardspeicherort Auswirkung bei Unten Möglichkeit, hoch verfügbar zu machen
Remoteinstallationsfreigabe Nach dem Clustersetup platzieren wir HPC Pack-Setup-Binärdateien in diesem Freigabeordner, damit Clientcomputer und Computecomputer installationsverzeichnis aus dieser Freigabe ausführen können. \\<HN3>\REMINST Wenn diese Freigabe nicht verfügbar ist oder nicht zugänglich ist, hat sie keine Auswirkungen auf vorhandene Funktionen von HPC Cluster. Der Clusteradministrator kann auch dieselben Freigaben auf den anderen beiden Head-Knoten erstellen und die eingerichteten Binärdateien dort kopieren, sodass jeder Kopfknoten nach unten verfügbar ist.
HPC SOA-Registrierungsfreigabe Diese Freigabe speichert die SOA-Dienstregistrierungsdatei. \\<HN3>\HpcServiceRegistration DER SOA-Dienstauftrag, der auf den Registrierungsdateien in dieser Freigabe basiert, kann nicht ausgeführt werden. Wenn Sie neue SOA-Dienstkonfigurationsdatei registrieren, legen Sie die Registrierungsdatei nicht in die Freigabe, sondern verwenden Sie die Hochverfügbarkeitskonfigurationsdatei aus dem Cluster-Manager, um die SOA-Dienstregistrierungsdatei in einen zuverlässigen HPC Cluster-Speicher zu importieren, damit die Registrierungsdatei auch dann verfügbar ist, wenn die Freigabe deaktiviert ist.
HPC SOA-Runtime-Freigabe Diese Freigabe speichert die allgemeinen Daten des SOA-Auftrags. \\<HN3>\Runtime$ SOA-Auftrag mit gemeinsamen Daten schlägt fehl SOA-Client benötigt die gemeinsamen Daten in Azure Storage, sodass die gemeinsamen Daten weiterhin verfügbar sind, auch wenn die Laufzeitfreigabe nicht mehr verfügbar ist.
HPC SOA TraceRepository Das Repository für Soa-Diagnoseablaufverfolgungen. \\<HN3>\TraceRepository Wenn die SOA-Diagnoseablaufverfolgung aktiviert ist, kann die Ablaufverfolgung nicht erfasst werden. Verwenden Sie die Azure Files-Freigabe.
HPC-Diagnosefreigabe In dieser Freigabe werden Diagnosetestergebnisse gespeichert. \\<HN3>\Diagnostics Wenn diese Freigabe deaktiviert ist, schlägt der HPC-Diagnoseauftrag fehl, da es keinen Ort zum Schreiben des Testergebnisses hat. Der Clusteradministrator kann zu einer neuen Diag-Freigabe wechseln, wenn er diag-Tests ausführen möchte. Um zu einer neuen Diag-Freigabe zu wechseln, führen Sie HPC powershell cmd aus
set-HpcClusterRegistry -PropertyName DiagnosticsShare -PropertyValue "\\<HN2>\diagnostics"
CcpSpoolDir Ausgabespoolfreigabe für Computeknoten. \\<HN3>\CcpSpoolDir Wenn sie für die Vorgangsausgabe verwendet wird, würde der Vorgang keine Ausgabedaten schreiben. Verwenden Sie die Azure Files-Freigabe.