Verwenden eines Startskripts für Azure-Knoten
Sie können ein Startskript konfigurieren, das automatisch auf einer Reihe von Azure-Knoten ausgeführt wird, wenn sie gestartet werden (bereitgestellt). Mithilfe eines Startskripts können Sie sicherstellen, dass eine Gruppe von Knoten ordnungsgemäß konfiguriert ist, um bestimmte Aufträge auszuführen. Darüber hinaus werden die Knoten in einem bekannten Zustand wiederhergestellt, wenn sie aufgrund einer Dienstunterbrechung nicht verfügbar sind und die Rolleninstanzen in Azure erneut bereitgestellt werden müssen. Beispielsweise können Sie mithilfe eines Startskripts Anwendungen oder Treiber installieren, einen freigegebenen Ordner konfigurieren oder Firewallports für bestimmte Anwendungen öffnen. Sie können auch ein Startskript verwenden, um Teilmengen von Knoten innerhalb der Gruppe von Azure-Knoten, die mithilfe einer bestimmten Knotenvorlage bereitgestellt werden, unterschiedlich zu konfigurieren.
In diesem Thema:
Anmerkung
- Azure-Startskripts werden ab HPC Pack 2008 R2 mit Service Pack 2 unterstützt.
- Wenn ein Startskript länger als 15 Minuten dauert, kann der Azure Fabric Controller dazu führen, dass die Bereitstellung einer Rolleninstanz fehlschlägt.
Allgemeine Schritte zum Konfigurieren und Verwenden eines Startskripts
Im Folgenden finden Sie die allgemeinen Schritte zum Konfigurieren und Verwenden eines Startskripts für Ihre Azure-Knoten:
Erstellen Sie ein Konfigurationsskript (z. B. startup.bat), das Umgebungsvariablen verwendet, um Knoten zu unterscheiden und verschiedene Konfigurationen festzulegen. Weitere Informationen finden Sie in den verbleibenden Abschnitten in diesem Thema.
Verwenden Sie den hpcpack- Befehl, um das Skript zu packen und in das Azure-Speicherkonto hochzuladen, das für die Bereitstellung der Azure-Knoten verwendet wird.
Wichtig
Geben Sie beim Packen und Hochladen des Startskripts nicht den
/relativePath
Parameter an. Das Startskript sollte nur aus dem Stammverzeichnis der Azure-Knoten ausgeführt werden.Erstellen oder bearbeiten Sie eine Azure-Knotenvorlage, um das Startskript anzugeben.
Starten (Bereitstellen) der Azure-Knoten.
Das Startskript wird automatisch auf den Azure-Knoten bereitgestellt und auf den Knoten ausgeführt. Wenn beim Ausführen des Skripts ein Problem auftritt, können Sie die Fehlerprotokolle überprüfen. Weitere Informationen finden Sie unter Problembehandlung bei Bereitstellungen von Azure-Knoten mit Microsoft HPC Pack.
Skriptnamen
Sie müssen die Konformität zwischen dem Namen des Pakets, das Sie in Azure hochladen, und dem Namen des ausgeführten Skripts (und das in der Knotenvorlage angegeben ist) sicherstellen. Nur die Benennungskonventionen in der folgenden Tabelle sind zulässig:
Skriptname | Paketname |
---|---|
file.extension (Beispiel: startup.bat) |
file.extension.zip (Beispiel: startup.bat.zip) -ODER- Datei-.zip (Beispiel: startup.zip) |
Umgebungsvariablen
Sie können die Umgebungsvariablen in der folgenden Tabelle verwenden, die automatisch auf den Azure-Knoten festgelegt werden, um das Startskript zu konfigurieren:
Umgebungsvariable | Beschreibung |
---|---|
HPC_NODE_NAME | Der Name des Azure-Knotens, der automatisch von Microsoft HPC Pack konfiguriert wird , z. B. AZURECN-0014. |
HPC_NODE_GROUPS | Eine durch Trennzeichen getrennte Liste von Knotengruppen, zu denen der Knoten gehört. Ermöglicht das Verhalten eines Skripts, auf unterschiedliche Teilmengen der Knoten spezialisiert zu sein. Hinweis: HPC_NODE_GROUPS wird nur festgelegt, wenn der Azure-Knoten zum ersten Mal gestartet wird. Die Variable wird nicht dynamisch aktualisiert, wenn die Variable aktualisiert wird und der Knoten dann erneut bereitgestellt wird. |
Beispiel
The following example is a batch file that configures a firewall rule on a subset of nodes that are identified by the node group Port31337 Server Group. Sie können dieses Muster anpassen, um Startskripts zu erstellen, die andere Aufgaben ausführen.
@echo off
echo %HPC_NODE_GROUPS% | findstr /C: "Port31337 Server Group"
if %errorlevel% == 0 (
echo Creating firewall exception
netsh advfirewall firewall add rule name="MyRule" dir=in protocol=tcp localport=31337 action=allow enable=yes
)
Protokolldateien
Wenn ein Problem auftritt, wenn ein Startskript ausgeführt wird, überprüfen Sie die Protokolldateien für das Skript. Die Protokolle für die Startskripts sind in der folgenden Tabelle aufgeführt. Die Protokolldateien befinden sich im ordner %CCP_HOME% auf jedem Azure-Workerknoten.
Protokolldatei | Beschreibung |
---|---|
HpcStartupCommand.log | Beenden von Code und Ausgabedatenstrom |
HpcStartupCommand.err | Fehlerdatenstrom |
Siehe auch
Konfigurieren einer Azure-Knotenvorlage für microsoft HPC Pack