Durchführen gängiger Problembehandlungsverfahren
Am Ende dieser Lerneinheit können Sie Verfahren für allgemeine Betriebsstatusüberprüfungen sowie einige allgemeine Probleme beschreiben, die möglicherweise auftreten.
Welche Ursachen können dazu führen, dass der Auftrag, den ich an Azure CycleCloud übermittelt habe, im Zustand „Ausstehend“ (Pending, PD) hängen bleibt?
Ein Auftrag im Zustand „Ausstehend“ (Pending, PD) bedeutet, dass ein Auftrag zwar übermittelt wurde, CycleCloud aber noch keine verfügbaren Knoten zum Ausführen des Auftrags gefunden hat. Dies kann zahlreiche Ursachen haben – beispielsweise unzureichende Ressourcen, falsche Auftragsspezifikationen oder Knotenfehler.
Achten Sie beim Konfigurieren eines Auftragsskripts darauf, dass die angeforderten Ressourcen innerhalb der Grenzwerte des Clusters liegen. Das hat folgenden Grund: Der Auftrag wird vom Planer nach Ablauf der zugeordneten Zeit beendet, auch wenn der Auftrag mehr Zeit benötigt, oder er bleibt für immer in der Warteschlange hängen, wenn der Auftrag mehr Arbeitsspeicher benötigt, als im System verfügbar ist.
Wie kann ich ermitteln, ob Knoten für meinen Azure CyclecCoud-Auftrag angefordert wurden?
Sie können den Slurm-Befehl squeue verwenden, um den Auftragsstatus zu überprüfen.
Wo werden Slurm-Protokolle für Knoten/Planer gespeichert? (Slurm)
In Azure CycleCloud hängt der Speicherort von Slurm-Protokollen für Knoten und Planer von der Konfiguration Ihres Slurm-Clusters ab. Standardmäßig werden die Protokolle an folgenden Speicherorten gespeichert:
Die Slurm-Controllerprotokolle werden in der Regel unter /var/log/slurm/slurmctld.log auf dem Controllerknoten gespeichert. Der genaue Pfad kann abhängig von der Konfiguration variieren. Sie können den SlurmctldLogFile-Parameter in der Slurm-Konfigurationsdatei (normalerweise /etc/slurm/slurm.conf) überprüfen, um den Protokolldateipfad zu ermitteln.
Die Slurm-Serverknotenprotokolle werden in der Regel unter /var/log/slurm/slurmd.log auf den einzelnen Serverknoten gespeichert. Der genaue Pfad kann abhängig von der Konfiguration variieren. Sie können den SlurmdLogFile-Parameter in der Slurm-Konfigurationsdatei (normalerweise /etc/slurm/slurm.conf) überprüfen, um den Protokolldateipfad zu ermitteln.
Um auf die Protokolldateien zuzugreifen, können Sie sich per SSH beim Controller oder bei den Computeknoten anmelden und zu den entsprechenden Protokolldateipfaden navigieren. Wenn Sie die Protokolldateipfade ändern müssen, können Sie die Parameter SlurmctldLogFile und SlurmdLogFile in der Slurm-Konfigurationsdatei ändern.
Wie kann ich Aufträge übermitteln? (Slurm)
Führen Sie die folgenden Schritte aus, um Aufträge an Azure CycleCloud zu übermitteln, wenn Sie Slurm als Auftragsplaner verwenden:
- Melden Sie sich bei Ihrer Azure CycleCloud-Instanz an.
- Identifizieren Sie den Cluster, an den Sie den Auftrag übermitteln möchten. Sie können sich die Liste Ihrer Cluster auf dem Hauptdashboard ansehen.
- Stellen Sie eine SSH-Verbindung mit dem Hauptknoten (Controller) Ihres Slurm-Clusters her.
- Erstellen Sie nach der Verbindungsherstellung mit dem Hauptknoten ein Slurm-Auftragsskript. Das Auftragsskript ist ein einfaches Shellskript, das Slurm-Anweisungen und die Befehle enthält, die Sie in Ihrem Auftrag ausführen möchten.
- Übermitteln Sie den Auftrag mithilfe des Befehls
sbatch. - Überwachen Sie den Status Ihres Auftrags mithilfe von Slurm-Befehlen wie
squeue,sinfoodersacct. - Nach Abschluss des Auftrags können Sie die Ausgabe in der angegebenen Ausgabedatei anzeigen (in diesem Beispiel:
my_job_output.txt).