Einrichten eines hybriden HPC-Clusters (High Performance Computing) mit Microsoft HPC Pack und On-Demand Azure PaaS Compute-Knoten
Verwenden Sie Microsoft HPC Pack 2016 Update 1 (oder höher) und Azure, um einen kleinen HPC-Cluster (High Performance Computing) einzurichten. Der in diesem Artikel gezeigte Cluster besteht aus einem lokalen HPC Pack-Kopfknoten und einigen Computeknoten, die Sie bei Bedarf in einem Azure-Clouddienst bereitstellen. Anschließend können Sie Computeaufträge im Hybridcluster ausführen.
In diesem Lernprogramm wird ein Ansatz gezeigt, der manchmal als Cluster "Burst to the Cloud" bezeichnet wird, um skalierbare Azure-Ressourcen bei Bedarf zu verwenden, um rechenintensive Anwendungen auszuführen.
In diesem Lernprogramm wird keine vorherige Erfahrung mit Computeclustern oder HPC Pack vorausgesetzt. Es soll Ihnen nur helfen, einen Hybrid-Computecluster schnell zu Demonstrationszwecken bereitzustellen. Überlegungen und Schritte zum Bereitstellen eines hybriden HPC Pack-Clusters in einer Produktionsumgebung finden Sie in den detaillierten Anleitungen. Wenn Sie eine frühere Version von HPC Pack verwenden möchten, lesen Sie HPC Pack 2012 R2-Dokument
Voraussetzungen
Azure-Abonnement – Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie in nur wenigen Minuten ein kostenloses Konto erstellen.
Ein lokaler Computer mit Windows Server 2012 R2 oder Windows Server 2016 – Verwenden Sie diesen Computer als Kopfknoten des HPC-Clusters. Wenn Sie windows Server noch nicht ausführen, können Sie eine Evaluierungsversionherunterladen und installieren.
- Der Computer sollte einer Active Directory-Domäne beigetreten sein. Für Testzwecke können Sie den Kopfknotencomputer als Domänencontroller konfigurieren. Informationen zum Hinzufügen der Active Directory Domain Services-Serverrolle und zum Höherstufen des Head node-Computers als Domänencontroller finden Sie in der Dokumentation für Windows Server.
- Um HPC Pack zu unterstützen, muss das Betriebssystem in einer der folgenden Sprachen installiert sein: Englisch, Japanisch oder Chinesisch (vereinfacht).
- Überprüfen Sie, ob wichtige und wichtige Updates installiert sind.
HPC Pack 2016 - Laden Sie installationspaket für die neueste Version kostenlos herunter und kopieren Sie die Dateien auf den Kopfknotencomputer.
Domänenkonto – Dieses Konto muss mit lokalen Administratorberechtigungen für den Kopfknoten konfiguriert werden, um HPC Pack zu installieren.
TCP-Konnektivität am Port 443 vom Kopfknoten zu Azure (out-bound).
Installieren von HPC Pack auf dem Kopfknoten
Sie installieren zuerst Microsoft HPC Pack auf Ihrem lokalen Computer unter Windows Server. Dieser Computer wird zum Kopfknoten des Clusters.
Melden Sie sich mit einem Domänenkonto mit lokalen Administratorberechtigungen beim Kopfknoten an.
Starten Sie den HPC Pack-Installations-Assistenten, indem Sie Setup.exe aus den HPC Pack-Installationsdateien ausführen.
Klicken Sie auf dem HPC Pack 2016 Setup Bildschirm auf Neue Installation, oder fügen Sie einer vorhandenen Installation neue Features hinzu.
Klicken Sie auf der Seite Microsoft Software User Agreementauf Next.
Klicken Sie auf der Seite Installationstyp auswählen auf Erstellen eines neuen HPC-Clusters, indem Sie einen Kopfknotenerstellen, und klicken Sie dann auf Weiter.
Der Assistent führt mehrere Vorabinstallationstests aus. Klicken Sie auf Nächsten auf der Seite Installationsregeln, wenn alle Tests bestehen. Überprüfen Sie andernfalls die bereitgestellten Informationen, und nehmen Sie alle erforderlichen Änderungen in Ihrer Umgebung vor. Führen Sie dann die Tests erneut aus, oder starten Sie den Installations-Assistenten erneut.
Stellen Sie auf der Seite HPC DB Configuration sicher, dass Head Node für alle HPC-Datenbanken ausgewählt ist, und klicken Sie dann auf Weiter.
Übernehmen Sie die Standardauswahl auf den verbleibenden Seiten des Assistenten. Klicken Sie auf der Seite Erforderliche Komponenten installieren auf Installieren.
Deaktivieren Sie nach Abschluss der Installation HPC Cluster Manager starten, und klicken Sie dann auf Ende. (Sie starten HPC Cluster Manager in einem späteren Schritt.)
Vorbereiten des Azure-Abonnements
Führen Sie die folgenden Schritte im Azure-Portal mit Ihrem Azure-Abonnement aus. Nach Abschluss dieser Schritte können Sie Azure-Knoten über den lokalen Head-Knoten bereitstellen.
Anmerkung
Notieren Sie sich auch Ihre Azure-Abonnement-ID, die Sie später benötigen. Suchen Sie die ID in Abonnements im Portal.
Hochladen des Standardverwaltungszertifikats
In früheren HPC Pack-Versionen wird ein selbstsigniertes Zertifikat auf dem Kopfknoten installiert, das als Standardmäßiges Microsoft HPC Azure Management-Zertifikat bezeichnet wird, das Sie als Azure-Verwaltungszertifikat hochladen können. Aus HPC Pack 2016 Update 1 wird dieses Zertifikat jedoch nicht standardmäßig bereitgestellt, daher müssen Sie ein selbstsigniertes Zertifikat mit Befehl auf dem Kopfknoten vorbereiten und das Zertifikat als tmpfolder\hpccert.cer
exportieren:
New-SelfSignedCertificate -Subject "CN=HPC Pack Management" -KeySpec KeyExchange -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2") -CertStoreLocation cert:\LocalMachine\My -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(5) -NotBefore (get-Date).AddDays(-1)
Importieren Sie das Zertifikat vom Kopfknotencomputer aus
tmpfolder\hpccert.cer
inLocalMachine\My
. Bitte beachten Sie, dass Sie das Zertifikat nicht wie die vorherige HPC Pack-Version importieren müssen, um mehr zuLocalMachine\Trusted Root
.Melden Sie sich beim Azure-Portalan.
Klicken Sie auf Abonnements>your_subscription_name.
Klicken Sie auf Verwaltungszertifikate>Upload, navigieren Sie auf dem Kopfknoten für die Datei
tmpfolder\hpccert.cer
. Klicken Sie dann auf Hochladen.
Das Standardmäßiges HPC Azure Management Zertifikat wird in der Liste der Verwaltungszertifikate angezeigt.
Erstellen eines Azure-Clouddiensts
Anmerkung
Um eine optimale Leistung zu erzielen, erstellen Sie den Clouddienst und das Speicherkonto (in einem späteren Schritt) in derselben geografischen Region.
Klicken Sie im Portal auf Clouddienste (klassisch)>+hinzufügen.
Geben Sie einen DNS-Namen für den Dienst ein, wählen Sie eine Ressourcengruppe und einen Speicherort aus, und klicken Sie dann auf Erstellen.
Erstellen eines Azure-Speicherkontos
Klicken Sie im Portal auf Speicherkonten (klassisch)>+hinzufügen.
Geben Sie einen Namen für das Konto ein, und wählen Sie das klassischen Bereitstellungsmodell aus.
Wählen Sie eine Ressourcengruppe und einen Speicherort aus, und lassen Sie andere Einstellungen bei Standardwerten. Klicken Sie dann auf Erstellen. Hier müssen Sie "Neue" oder "Ressourcengruppe auswählen" mit dem Präfix
Default-Storage-<your_picked_Location>
andernfalls kann der Dienst das Speicherkonto nicht finden.
Konfigurieren des Kopfknotens
Um HPC Cluster Manager zum Bereitstellen von Azure-Knoten und zum Übermitteln von Aufträgen zu verwenden, führen Sie zunächst einige erforderliche Clusterkonfigurationsschritte aus.
Starten Sie auf dem Kopfknoten HPC Cluster Manager. Wenn das Dialogfeld Kopfknoten auswählen angezeigt wird, klicken Sie auf lokalen Computer. Die Aufgaben liste für die Bereitstellung wird angezeigt.
Klicken Sie unter Erforderlichen Bereitstellungsaufgabenauf Netzwerk konfigurieren.
konfigurieren
Wählen Sie im Netzwerkkonfigurations-Assistenten Alle Knoten nur in einem Unternehmensnetzwerk (Topologie 5) aus. Diese Netzwerkkonfiguration ist für Demonstrationszwecke am einfachsten.
Klicken Sie auf Weiter, um Standardwerte auf den verbleibenden Seiten des Assistenten zu übernehmen. Klicken Sie dann auf der Registerkarte Überprüfen auf Konfigurieren, um die Netzwerkkonfiguration abzuschließen.
Klicken Sie in der Bereitstellungs-Aufgabenlisteauf Installationsanmeldeinformationenangeben.
Geben Sie im Dialogfeld Installationsanmeldeinformationen die Anmeldeinformationen des Domänenkontos ein, das Sie zum Installieren von HPC Pack verwendet haben. Klicken Sie dann auf OK.
Klicken Sie in der Bereitstellungs-Aufgabenlisteauf Die Benennung neuer Knotenkonfigurieren.
Übernehmen Sie im Dialogfeld Knotenbenennungsreihe die Standardbenennungsreihe, und klicken Sie auf OK. Führen Sie diesen Schritt aus, auch wenn die Azure-Knoten, die Sie in diesem Lernprogramm hinzufügen, automatisch benannt werden.
Klicken Sie in der Bereitstellungs-Aufgabenlisteauf Knotenvorlage erstellen. Später im Lernprogramm verwenden Sie die Knotenvorlage, um dem Cluster Azure-Knoten hinzuzufügen.
Gehen Sie im Assistenten zum Erstellen von Knotenvorlagen wie folgt vor:
ein. Klicken Sie auf der Seite Knotenvorlagentyp auswählen auf Windows Azure-Knotenvorlage, und klicken Sie dann auf Nächsten.
b. Klicken Sie auf Weiter, um den Standardvorlagennamen zu übernehmen.
c. Geben Sie auf der Seite Seite "Abonnementinformationen bereitstellen" Ihre Azure-Abonnement-ID ein (verfügbar in Ihren Azure-Kontoinformationen). Suchen Sie dann in Verwaltungszertifikatnach Standardmäßigen Microsoft HPC Azure Management. Klicken Sie dann auf Weiter.
d. Wählen Sie auf der Seite Dienstinformationen bereitstellen den Clouddienst und das Speicherkonto aus, das Sie in einem vorherigen Schritt erstellt haben. Klicken Sie dann auf Weiter.
e. Klicken Sie auf Nächsten, um Standardwerte auf der Proxyknotenangeben, Workerrolle und Seiten des Assistenten "Startskript angeben" angeben. Bitte beachten Sie, dass dieses Skript während der Bereitstellung ausgeführt wird, bevor der Knoten als
offline
bereit ist. Außerdem gibt es zwei Registrierungen, um das Standardverhalten zu optimieren. Wenn der Administrator z. B. registrierungsschlüsselMicrosoft.Hpc.Azure.AzureStartupTaskFailureEnable
auf1
festgelegt hat, wartet die Bereitstellung, bis die Ausführung des Startskripts abgeschlossen ist, bevor der Knoten für Aufträge erreicht werden kann:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC Name:Microsoft.Hpc.Azure.AzureStartupTaskFailureEnable Type:REG_DWORD; (default is 0)
undHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HPC Name:Microsoft.Hpc.Azure.AzureStartupTaskTimeoutSec Type:REG_DWORD; (default is 1800)
f. Klicken Sie auf Nächsten, um Standardwerte auf der Seite Microsoft Azure Virtual Network einrichten zu akzeptieren. Wenn Sie Azure VPN oder Expressroute mit erzwungenem Tunnel verwenden, müssen Sie den internen Azure Load Balancing verwenden, müssen Sie nur eine gültige und kostenlose statische IP aus dem Subnetz aufnehmen.
g. Klicken Sie auf Nächsten, um Anmeldeinformationen auf der Seite anzugeben, Remotedesktopanmeldeinformationen konfigurieren. Klicken Sie auf Weiter, um die Verfügbarkeitsrichtlinie zu konfigurieren. Wenn Sie die automatische Verkleinerung später aktivieren möchten, wählen Sie einfach
Start and stop nodes manually
aus. Klicken Sie dann auf der Registerkarte Überprüfen auf Erstellen, um die Knotenvorlage zu erstellen.Anmerkung
Standardmäßig enthält die Azure-Knotenvorlage Einstellungen, mit denen Sie die Knoten starten (bereitstellen) und die Knoten manuell beenden können, mit HPC Cluster Manager, die Sie später konfigurieren können, automatisch verkleinern. Sie können optional einen Zeitplan konfigurieren, um die Azure-Knoten automatisch zu starten und zu beenden.
Hinzufügen von Azure-Knoten zum Cluster
Verwenden Sie nun die Knotenvorlage, um dem Cluster Azure-Knoten hinzuzufügen. Durch das Hinzufügen der Knoten zum Cluster werden ihre Konfigurationsinformationen gespeichert, damit Sie sie jederzeit im Clouddienst starten (bereitstellen) können. Ihr Abonnement wird nur für Azure-Knoten in Rechnung gestellt, nachdem die Instanzen im Clouddienst ausgeführt werden.
Führen Sie die folgenden Schritte aus, um zwei kleine Knoten hinzuzufügen.
Klicken Sie im HPC Cluster Manager auf Knotenverwaltung (Ressourcenverwaltung in aktuellen Versionen von HPC Pack genannt), >Knotenhinzufügen.
Klicken Sie im Assistenten zum Hinzufügen von Knoten auf der Seite Bereitstellungsmethode auswählen auf Windows Azure-Knoten hinzufügen, und klicken Sie dann auf Nächsten.
hinzufügen
Wählen Sie auf der Seite Seite "Neue Knoten angeben" die zuvor erstellte Azure-Knotenvorlage aus (standardmäßig Standard-AzureNode-Vorlage). Geben Sie dann 2 Knoten der Größe Kleinenan, und klicken Sie dann auf Weiter.
angeben
Klicken Sie auf der Seite Abschluss des Assistenten zum Hinzufügen von Knoten auf Fertig stellen.
Zwei Azure-Knoten mit dem Namen AzureCN-0001- und AzureCN-0002-werden jetzt im HPC Cluster Manager angezeigt. Beide befinden sich im Status Nicht bereitgestellt.
Starten der Azure-Knoten
Wenn Sie die Clusterressourcen in Azure verwenden möchten, verwenden Sie HPC Cluster Manager, um die Azure-Knoten zu starten (bereitzustellen) und sie online zu schalten.
Klicken Sie im HPC Cluster Manager auf Node Management (Resource Management in aktuellen Versionen von HPC Pack genannt), und wählen Sie die Azure-Knoten aus.
Klicken Sie auf Start-, und klicken Sie dann auf OK.
Die Knoten wechseln zum Zustand Bereitstellung. Zeigen Sie das Bereitstellungsprotokoll an, um den Bereitstellungsfortschritt nachzuverfolgen.
Nach ein paar Minuten beenden die Azure-Knoten die Bereitstellung und befinden sich im Offline- Zustand. In diesem Zustand werden die Rolleninstanzen ausgeführt, können aber noch keine Clusteraufträge annehmen.
Um zu bestätigen, dass die Rolleninstanzen ausgeführt werden, klicken Sie im Azure-Portal auf Cloud Services (klassisch)>your_cloud_service_name.
Es sollten zwei HpcWorkerRole- Instanzen (Knoten) angezeigt werden, die im Dienst ausgeführt werden. HPC Pack stellt außerdem automatisch zwei HpcProxy- Instanzen (Größe Mittel) bereit, um die Kommunikation zwischen dem Kopfknoten und Azure zu verarbeiten.
Wenn Sie die Azure-Knoten online schalten möchten, um Clusteraufträge auszuführen, wählen Sie die Knoten aus, klicken Sie mit der rechten Maustaste, und klicken Sie dann auf Bring Online.
HPC Cluster Manager gibt an, dass sich die Knoten im Online- Zustand befinden.
Ausführen eines Befehls über den Cluster
Verwenden Sie zum Überprüfen der Installation das HPC Pack clusrun Befehl, um einen Befehl oder eine Anwendung auf einem oder mehreren Clusterknoten auszuführen. Verwenden Sie als einfaches Beispiel clusrun-, um die IP-Konfiguration der Azure-Knoten abzurufen.
Öffnen Sie auf dem Kopfknoten eine Eingabeaufforderung als Administrator.
Geben Sie den folgenden Befehl ein:
clusrun /nodes:azurecn* ipconfig
Wenn Sie dazu aufgefordert werden, geben Sie Ihr Clusteradministratorkennwort ein. Es sollte eine Befehlsausgabe wie folgt angezeigt werden.
Ausführen eines Testauftrags
Übermitteln Sie nun einen Testauftrag, der im Hybridcluster ausgeführt wird. Dieses Beispiel ist ein einfacher parametrischer Aufräumauftrag (ein Typ der systeminternen parallelen Berechnung). In diesem Beispiel werden Teilvorgänge ausgeführt, die eine ganze Zahl selbst hinzufügen, indem sie den Befehl "/a" festlegen
Klicken Sie im HPC Cluster Manager auf Auftragsverwaltung>Neuen parametrischen Aufräumauftrag.
Geben Sie im Dialogfeld Neuen parametrischen Aufräumenauftrags in Befehlszeilen-
set /a *+*
ein (überschreiben der angezeigten Standardbefehlszeile). Behalten Sie die Standardwerte für die verbleibenden Einstellungen bei, und klicken Sie dann auf Absenden, um den Auftrag zu übermitteln.Wenn der Auftrag abgeschlossen ist, doppelklicken Sie auf den auftrag My Sweep Task Auftrag.
Klicken Sie auf Vorgänge anzeigen, und klicken Sie dann auf einen Teilvorgang, um die berechnete Ausgabe dieses Teilvorgangs anzuzeigen.
Um zu sehen, welcher Knoten die Berechnung für diesen Teilvorgang ausgeführt hat, klicken Sie auf Zugeordnete Knoten. (Ihr Cluster zeigt möglicherweise einen anderen Knotennamen an.)
Beenden der Azure-Knoten
Nachdem Sie den Cluster ausprobieren, beenden Sie die Azure-Knoten, um unnötige Gebühren für Ihr Konto zu vermeiden. Dieser Schritt stoppt den Clouddienst und entfernt die Azure-Rolleninstanzen.
Wählen Sie im HPC Cluster Manager in Knotenverwaltungs- (Ressourcenverwaltung in früheren Versionen von HPC Pack) beide Azure-Knoten aus. Klicken Sie dann auf beenden.
Klicken Sie im Dialogfeld Windows Azure-Knoten beenden auf Beenden.
Die Knoten wechseln zum zustand Beenden. Nach ein paar Minuten zeigt HPC Cluster Manager an, dass die Knoten nicht bereitgestelltwerden.
Um zu bestätigen, dass die Rolleninstanzen nicht mehr in Azure ausgeführt werden, klicken Sie im Azure-Portal auf Clouddienste (klassisch)>your_cloud_service_name. In der Produktionsumgebung werden keine Instanzen bereitgestellt.
Dies schließt das Lernprogramm ab.
Automatische Verkleinerung für Azure-Workerrollenknoten aktivieren
Wenn Sie die Azure Worker-Rollenknoten nicht manuell starten und beenden möchten, können Sie die Automatische Verkleinerung aktivieren, um die Knoten automatisch zu starten, wenn in der Warteschlange Aufträge vorhanden sind und die Knoten automatisch beendet werden, wenn sie im Leerlauf sind.
So aktivieren Sie die AutoGrowShrink-Eigenschaft
Set-HpcClusterProperty –EnableGrowShrink 1
Nachdem Sie diese Eigenschaft aktiviert haben, können Sie den Auftrag erneut übermitteln und überprüfen, ob die Azure-Worker-Rollenknoten automatisch gestartet werden. Öffnen Sie HPC Cluster Manager, und wechseln Sie zu Ressourcenverwaltung Bereich, wählen Sie den Vorgang>AzureOperations Ansicht aus, sie werden alle Azure Grow Shrink Operations sehen. Bitte überprüfen Sie auch hpcpack auto grow shrink for more details.
Nächste Schritte
- Lernen Sie hpcpack.exe und hpcsync.exe, um Ihre Daten in Ihre Cloudknoten zu verschieben.
- Informationen zum Einrichten einer hybriden HPC Pack-Clusterbereitstellung in größerem Umfang finden Sie unter Burst to Azure Worker Role Instances mit Microsoft HPC Pack.
- Weitere Möglichkeiten zum Erstellen eines HPC Pack-Clusters in Azure, einschließlich der Verwendung von Azure Resource Manager-Vorlagen, finden Sie unter Erste Schritte mit HPC Pack Cluster in Azure.