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.
Slurm Anleitung für den Modus mit mehreren Warteschlangen
Hier erfahren Sie, wie Sie Warteschlangenknoten (Partitionsknoten) Slurm verwalten AWS ParallelCluster und wie Sie die Warteschlangen- und Knotenstatus überwachen können.
-Übersicht
Die Skalierungsarchitektur basiert auf dem Cloud Slurm Scheduling Guide
Lebenszyklus eines Cloud-Knotens
Während ihres Lebenszyklus treten Cloud-Knoten in mehrere, wenn nicht alle der folgenden Zustände ein:POWER_SAVING, POWER_UP (pow_up), ALLOCATED (alloc) und POWER_DOWN (pow_dn). In einigen Fällen kann ein Cloud-Knoten in den OFFLINE Status übergehen. In der folgenden Liste werden verschiedene Aspekte dieser Zustände im Lebenszyklus eines Cloud-Knotens detailliert beschrieben.
-
Ein Knoten in einem
POWER_SAVINGBundesstaat wird mit einem~Suffix (z. B.idle~) insinfoangezeigt. In diesem Zustand unterstützen keine EC2-Instances den Knoten. SlurmSie können dem Knoten jedoch weiterhin Jobs zuweisen. -
Ein Knoten, der in einen
POWER_UPBundesstaat übergeht, wird mit einem#Suffix (z. B.idle#) in angezeigt.sinfoEin Knoten wechselt automatisch in einenPOWER_UPStatus, wenn er einem Knoten in einem Bundesstaat einen Job Slurm zuweist.POWER_SAVINGAlternativ können Sie als
suRoot-Benutzer die Knoten mit demPOWER_UPfolgenden Befehl manuell in den Status überführen:$scontrol update nodename=nodenamestate=power_upIn dieser Phase
ResumeProgramwird der aufgerufen, EC2-Instances werden gestartet und konfiguriert, und der Knoten geht in denPOWER_UPStatus über. -
Ein Knoten, der derzeit verwendet werden kann, wird ohne Suffix (z. B.
idle) in angezeigt.sinfoNachdem der Knoten eingerichtet und dem Cluster beigetreten ist, ist er für die Ausführung von Aufträgen verfügbar. In dieser Phase ist der Knoten ordnungsgemäß konfiguriert und einsatzbereit.Als allgemeine Regel empfehlen wir, dass die Anzahl der Amazon EC2-Instances der Anzahl der verfügbaren Knoten entspricht. In den meisten Fällen sind statische Knoten verfügbar, nachdem der Cluster erstellt wurde.
-
Ein Knoten, der in einen
POWER_DOWNStatus übergeht, wird mit einem%Suffix (z. B.idle%) in angezeigt.sinfoDynamische Knoten wechseln automatisch in denPOWER_DOWNZustand danach. ScaledownIdletime Im Gegensatz dazu werden statische Knoten in den meisten Fällen nicht abgeschaltet. Sie können die Knoten jedoch manuell alssuRoot-Benutzer mit dem folgenden Befehl in denPOWER_DOWNStatus versetzen:$scontrol update nodename=nodenamestate=down reason="manual draining"In diesem Zustand werden die mit einem Knoten verknüpften Instanzen beendet, und der Knoten wird in den
POWER_SAVINGZustand zurückversetzt und kann danach verwendet ScaledownIdletime werden.Die ScaledownIdletime Einstellung wird in der Slurm
SuspendTimeoutKonfigurationseinstellung gespeichert. -
Ein Knoten, der offline ist, wird mit einem
*Suffix (z. B.down*) insinfoangezeigt. Ein Knoten geht offline, wenn der Slurm Controller den Knoten nicht kontaktieren kann oder wenn die statischen Knoten deaktiviert sind und die Back-Instances beendet werden.
Beachten Sie die im folgenden sinfo Beispiel gezeigten Knotenzustände.
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 4 idle~ efa-dy-efacompute1-[1-4] efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 1 idle% gpu-dy-gpucompute1-1 gpu up infinite 9 idle~ gpu-dy-gpucompute1-[2-10] ondemand up infinite 2 mix# ondemand-dy-ondemandcompute1-[1-2] ondemand up infinite 18 idle~ ondemand-dy-ondemandcompute1-[3-10],ondemand-dy-ondemandcompute2-[1-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 2 idle spot-st-spotcompute2-[1-2]
Für die efa-st-efacompute1-1 Knoten spot-st-spotcompute2-[1-2] und sind bereits Backing-Instanzen eingerichtet und sie können verwendet werden. Die ondemand-dy-ondemandcompute1-[1-2] Knoten befinden sich im POWER_UP Status und sollten innerhalb weniger Minuten verfügbar sein. Der gpu-dy-gpucompute1-1 Knoten befindet sich im POWER_DOWN Status und geht danach in den POWER_SAVING Status über ScaledownIdletime (standardmäßig 10 Minuten).
Alle anderen Knoten befinden sich im POWER_SAVING Status, ohne dass sie von EC2-Instances unterstützt werden.
Mit einem verfügbaren Knoten arbeiten
Ein verfügbarer Knoten wird von einer Amazon EC2-Instance unterstützt. Standardmäßig kann der Knotenname verwendet werden, um eine direkte SSH-Verbindung zur Instance herzustellen (z. B.ssh
efa-st-efacompute1-1). Die private IP-Adresse der Instanz kann mit dem folgenden Befehl abgerufen werden:
$scontrol show nodesnodename
Suchen Sie im zurückgegebenen NodeAddr Feld nach der IP-Adresse.
Bei Knoten, die nicht verfügbar sind, sollte das NodeAddr Feld nicht auf eine laufende Amazon EC2-Instance verweisen. Es sollte vielmehr mit dem Knotennamen identisch sein.
Status des Jobs und Einreichung
Eingereichte Jobs werden in den meisten Fällen sofort Knoten im System zugewiesen oder in den Status „Ausstehend“ gesetzt, wenn alle Knoten zugewiesen sind.
Wenn die für einen Job zugewiesenen Knoten Knoten enthalten, die sich in einem POWER_SAVING Bundesstaat befinden, beginnt der Job mit einem CF oder CONFIGURING -Status. Zu diesem Zeitpunkt wartet der Job darauf, dass die Knoten im POWER_SAVING Bundesstaat in den Status übergehen POWER_UP und verfügbar werden.
Nachdem alle für einen Job zugewiesenen Knoten verfügbar sind, wechselt der Job in den Status RUNNING (R).
Standardmäßig werden alle Jobs an die Standardwarteschlange (auch als Partitionseingang bezeichnetSlurm) weitergeleitet. Dies wird durch ein * Suffix nach dem Warteschlangennamen gekennzeichnet. Mithilfe der Option zur -p Auftragsübermittlung können Sie eine Warteschlange auswählen.
Alle Knoten sind mit den folgenden Funktionen konfiguriert, die in Befehlen zur Auftragsübermittlung verwendet werden können:
-
Ein Instanztyp (zum Beispiel
c5.xlarge) -
Ein Knotentyp (Dies ist entweder
dynamicoderstatic.)
Sie können sich die Funktionen für einen bestimmten Knoten ansehen, indem Sie den folgenden Befehl verwenden:
$scontrol show nodesnodename
Überprüfen Sie bei der Rückkehr die AvailableFeatures Liste.
Berücksichtigen Sie den Anfangszustand des Clusters, den Sie durch Ausführen des sinfo Befehls anzeigen können.
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 4 idle~ efa-dy-efacompute1-[1-4] efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 10 idle~ gpu-dy-gpucompute1-[1-10] ondemand up infinite 20 idle~ ondemand-dy-ondemandcompute1-[1-10],ondemand-dy-ondemandcompute2-[1-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 2 idle spot-st-spotcompute2-[1-2]
Beachten Sie, dass spot dies die Standardwarteschlange ist. Sie wird durch das * Suffix angezeigt.
Senden Sie einen Job an einen statischen Knoten in der Standardwarteschlange (spot).
$sbatch --wrap"sleep 300"-N1-Cstatic
Senden Sie einen Job an einen dynamischen Knoten in der EFA Warteschlange.
$sbatch --wrap"sleep 300"-pefa-Cdynamic
Senden Sie einen Job an acht (8) c5.2xlarge Knoten und zwei (2) t2.xlarge Knoten in der ondemand Warteschlange.
$sbatch --wrap"sleep 300"-pondemand-N10-C "[c5.2xlarge*8&t2.xlarge*2]"
Senden Sie einen Job an einen GPU-Knoten in der gpu Warteschlange.
$sbatch --wrap"sleep 300"-pgpu-G1
Berücksichtigen Sie den Status der Jobs mithilfe des squeue Befehls.
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 12 ondemand wrap ubuntu CF 0:36 10 ondemand-dy-ondemandcompute1-[1-8],ondemand-dy-ondemandcompute2-[1-2] 13 gpu wrap ubuntu CF 0:05 1 gpu-dy-gpucompute1-1 7 spot wrap ubuntu R 2:48 1 spot-st-spotcompute2-1 8 efa wrap ubuntu R 0:39 1 efa-dy-efacompute1-1
Die Jobs 7 und 8 (in den efa Warteschlangen spot und) werden bereits ausgeführt (R). Die Jobs 12 und 13 werden immer noch konfiguriert (CF) und warten wahrscheinlich darauf, dass Instanzen verfügbar werden.
# Nodes states corresponds to state of running jobs$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST efa up infinite 3 idle~ efa-dy-efacompute1-[2-4] efa up infinite 1 mix efa-dy-efacompute1-1 efa up infinite 1 idle efa-st-efacompute1-1 gpu up infinite 1 mix~ gpu-dy-gpucompute1-1 gpu up infinite 9 idle~ gpu-dy-gpucompute1-[2-10] ondemand up infinite 10 mix# ondemand-dy-ondemandcompute1-[1-8],ondemand-dy-ondemandcompute2-[1-2] ondemand up infinite 10 idle~ ondemand-dy-ondemandcompute1-[9-10],ondemand-dy-ondemandcompute2-[3-10] spot* up infinite 13 idle~ spot-dy-spotcompute1-[1-10],spot-dy-spotcompute2-[1-3] spot* up infinite 1 mix spot-st-spotcompute2-1 spot* up infinite 1 idle spot-st-spotcompute2-2
Zustand und Funktionen des Knotens
In den meisten Fällen werden die Knotenstatus vollständig AWS ParallelCluster gemäß den spezifischen Prozessen im Cloud-Node-Lebenszyklus verwaltet, die weiter oben in diesem Thema beschrieben wurden.
Ersetzt oder beendet jedoch AWS ParallelCluster auch fehlerhafte Knoten in DOWN und DRAINED Zuständen und Knoten, die über fehlerhafte Back-Instances verfügen. Weitere Informationen finden Sie unter clustermgtd.
Status der Partition
AWS ParallelCluster unterstützt die folgenden Partitionszustände. Eine Slurm Partition ist eine Warteschlange in AWS ParallelCluster.
-
UP: Zeigt an, dass sich die Partition in einem aktiven Zustand befindet. Dies ist der Standardstatus einer Partition. In diesem Zustand sind alle Knoten in der Partition aktiv und können verwendet werden. -
INACTIVE: Zeigt an, dass sich die Partition im inaktiven Zustand befindet. In diesem Zustand werden alle Instanzen, die Knoten einer inaktiven Partition unterstützen, beendet. Für Knoten in einer inaktiven Partition werden keine neuen Instanzen gestartet.
pcluster update-compute-fleet
-
Stoppen der Rechenflotte — Wenn der folgende Befehl ausgeführt wird, gehen alle Partitionen in den Status über, und die AWS ParallelCluster Prozesse behalten den
INACTIVEStatus der Partitionen bei.INACTIVE$pcluster update-compute-fleet --cluster-nametestSlurm\ --regioneu-west-1--status STOP_REQUESTED -
Starten der Rechenflotte — Wenn der folgende Befehl ausgeführt wird, gehen zunächst alle Partitionen in den
UPStatus über. AWS ParallelCluster Prozesse halten die Partition jedoch nicht in einem bestimmtenUPZustand. Sie müssen den Partitionsstatus manuell ändern. Alle statischen Knoten sind nach einigen Minuten verfügbar. Beachten Sie, dass das Einstellen einer Partition aufUPkeine dynamische Kapazität aktiviert.$pcluster update-compute-fleet --cluster-nametestSlurm\ --regioneu-west-1--status START_REQUESTED
Wenn ausgeführt update-compute-fleet wird, können Sie den Status des Clusters überprüfen, indem Sie den pcluster describe-compute-fleet Befehl ausführen und das überprüfenStatus. In der folgenden Liste sind mögliche Zustände aufgeführt:
-
STOP_REQUESTED: Die Stopp-Compute-Flottenanforderung wird an den Cluster gesendet. -
STOPPING: DerpclusterProzess stoppt derzeit die Rechenflotte. -
STOPPED: DerpclusterProzess hat den Stoppvorgang abgeschlossen, alle Partitionen befinden sich imINACTIVEStatus und alle Recheninstanzen sind beendet. -
START_REQUESTED: Die Startanfrage für die Computerflotte wird an den Cluster gesendet. -
STARTING: DerpclusterProzess startet gerade den Cluster. -
RUNNING: DerpclusterProzess hat den Startvorgang abgeschlossen, alle Partitionen befinden sich imUPStatus und statische Knoten sind nach einigen Minuten verfügbar. -
PROTECTED: Dieser Status weist darauf hin, dass bei einigen Partitionen immer wieder Bootstrap-Fehler auftreten. Die betroffenen Partitionen sind inaktiv. Bitte untersuchen Sie das Problem und starten Sie dannupdate-compute-fleet, um die Flotte wieder zu aktivieren.
Manuelle Steuerung der Warteschlangen
In einigen Fällen möchten Sie möglicherweise eine gewisse manuelle Kontrolle über die Knoten oder Warteschlangen (bekannt als PartitionseingangSlurm) in einem Cluster haben. Sie können Knoten in einem Cluster mithilfe der folgenden allgemeinen Verfahren mithilfe des scontrol Befehls verwalten.
-
Schalten Sie dynamische Knoten im
POWER_SAVINGStatus einFühren Sie den Befehl als
suRoot-Benutzer aus:$scontrol update nodename=nodenamestate=power_upSie können auch einen
sleep 1Platzhalter-Job einreichen, bei dem eine bestimmte Anzahl von Knoten angefordert wird, und sich dann Slurm darauf verlassen, dass die erforderliche Anzahl von Knoten eingeschaltet wird. -
Schalten Sie zuvor dynamische Knoten aus ScaledownIdletime
Wir empfehlen, dynamische Knoten mit dem folgenden Befehl
DOWNalssuRoot-Benutzer einzurichten:$scontrol update nodename=nodenamestate=down reason="manually draining"AWS ParallelCluster beendet automatisch die ausgefallenen dynamischen Knoten und setzt sie zurück.
Im Allgemeinen empfehlen wir nicht, Knoten
POWER_DOWNdirekt mithilfe des Befehls auf Knoten zu setzen.scontrol update nodename=Das liegt daran, dass der Ausschaltvorgang AWS ParallelCluster automatisch abgewickelt wird.nodenamestate=power_down -
Deaktivieren Sie eine Warteschlange (Partition) oder stoppen Sie alle statischen Knoten in einer bestimmten Partition
Stellen Sie eine bestimmte Warteschlange mit dem folgenden Befehl
INACTIVEalssuRoot-Benutzer ein:$scontrol update partition=queuenamestate=inactiveDadurch werden alle Instanzen beendet, die Knoten in der Partition unterstützen.
-
Aktiviere eine Warteschlange (Partition)
Stellen Sie mit dem folgenden Befehl
UPeine bestimmte Warteschlange für einensuRoot-Benutzer ein:$scontrol update partition=queuenamestate=up
Skalierung, Verhalten und Anpassungen
Hier ist ein Beispiel für den normalen Skalierungsablauf:
-
Der Scheduler erhält einen Job, für den zwei Knoten erforderlich sind.
-
Der Scheduler versetzt zwei Knoten in einen
POWER_UPZustand und ruft (zum Beispielqueue1-dy-spotcompute1-[1-2])ResumeProgrammit den Knotennamen auf. -
ResumeProgramstartet zwei Amazon EC2-Instances und weist die privaten IP-Adressen und Hostnamen von zu. Wartet aufResumeTimeout(der Standardzeitraum ist 30 Minuten)queue1-dy-spotcompute1-[1-2], bevor die Knoten zurückgesetzt werden. -
Die Instanzen sind konfiguriert und treten dem Cluster bei. Ein Job beginnt, auf Instanzen ausgeführt zu werden.
-
Der Job wird abgeschlossen und wird nicht mehr ausgeführt.
-
Nach Ablauf der Konfiguration
SuspendTime(die auf gesetzt ist ScaledownIdletime) setzt der Scheduler die Instanzen auf den Status.POWER_SAVINGDer Scheduler wechselt dann inqueue1-dy-spotcompute1-[1-2]denPOWER_DOWNStatus und ruftSuspendProgrammit den Knotennamen auf. -
SuspendProgramwird für zwei Knoten aufgerufen. Knoten bleiben imPOWER_DOWNStatus, indem sie beispielsweise eine Zeitidle%lang verweilenSuspendTimeout(der Standardzeitraum ist 120 Sekunden (2 Minuten)). Nachdemclustermgtdfestgestellt wurde, dass die Knoten heruntergefahren werden, werden die Backing-Instances beendet. Dann wechselt es inqueue1-dy-spotcompute1-[1-2]den Ruhezustand und setzt die private IP-Adresse und den Hostnamen zurück, sodass es für zukünftige Aufgaben wieder einsatzbereit ist.
Wenn etwas schief geht und eine Instanz für einen bestimmten Knoten aus irgendeinem Grund nicht gestartet werden kann, passiert Folgendes:
-
Der Scheduler erhält einen Job, für den zwei Knoten erforderlich sind.
-
Der Scheduler versetzt zwei Cloud-Bursting-Knoten in den
POWER_UPStatus und ruft (zum Beispiel)ResumeProgrammit den Knotennamen auf.queue1-dy-spotcompute1-[1-2] -
ResumeProgramstartet nur eine (1) Amazon EC2-Instance und konfiguriert die Konfiguration mit einer (1) Instancequeue1-dy-spotcompute1-1, wobei der Start fehlschlägt.queue1-dy-spotcompute1-2 -
queue1-dy-spotcompute1-1ist nicht betroffen und geht online, nachdem der Bundesstaat erreicht wurde.POWER_UP -
queue1-dy-spotcompute1-2wechselt in denPOWER_DOWNStatus, und der Job wird automatisch erneut in die Warteschlange gestellt, da ein Knotenausfall Slurm erkannt wird. -
queue1-dy-spotcompute1-2wird danach verfügbarSuspendTimeout(die Standardeinstellung ist 120 Sekunden (2 Minuten)). In der Zwischenzeit wird der Job erneut in die Warteschlange gestellt und kann auf einem anderen Knoten ausgeführt werden. -
Der obige Vorgang wird wiederholt, bis der Job auf einem verfügbaren Knoten ausgeführt werden kann, ohne dass ein Fehler auftritt.
Es gibt zwei Zeitparameter, die bei Bedarf angepasst werden können:
-
ResumeTimeout(Die Standardeinstellung ist 30 Minuten):ResumeTimeoutsteuert die Slurm Wartezeit, bis der Knoten in den Zustand „Heruntergefahren“ übergeht.-
Eine Verlängerung kann nützlich sein,
ResumeTimeoutwenn der pre/post Installationsvorgang fast so lange dauert. -
ResumeTimeoutist auch die maximale AWS ParallelCluster Wartezeit, nach der ein Knoten ausgetauscht oder zurückgesetzt wird, falls ein Problem auftritt. Rechenknoten beenden sich selbst, wenn beim Start oder bei der Einrichtung ein Fehler auftritt. AWS ParallelCluster Prozesse ersetzen einen Knoten, wenn eine beendete Instanz erkannt wird.
-
-
SuspendTimeout(Die Standardeinstellung ist 120 Sekunden (2 Minuten)):SuspendTimeoutSteuert, wie schnell Knoten wieder im System platziert werden und wieder einsatzbereit sind.-
Ein kürzerer Wert
SuspendTimeoutbedeutet, dass die Knoten schneller zurückgesetzt werden und sie versuchen Slurm können, Instances häufiger zu starten. -
Je länger,
SuspendTimeoutdesto langsamer werden ausgefallene Knoten zurückgesetzt. SlurmVersucht in der Zwischenzeit, andere Knoten zu verwenden. WennSuspendTimeoutes länger als ein paar Minuten dauert, Slurm versucht, alle Knoten im System zu durchlaufen. Ein längererSuspendTimeoutZeitraum kann bei großen Systemen (über 1.000 Knoten) von Vorteil sein, um den Stress zu reduzieren, Slurm wenn versucht wird, fehlerhafte Jobs häufig erneut in die Warteschlange zu stellen. -
Beachten Sie, dass sich
SuspendTimeoutdies nicht auf die AWS ParallelCluster Wartezeit bezieht, um eine Backing-Instance für einen Knoten zu beenden. Backing-Instanzen fürPOWER_DOWNKnoten werden sofort beendet. Der Kündigungsvorgang ist in der Regel in wenigen Minuten abgeschlossen. Während dieser Zeit verbleibt der Knoten jedoch imPOWER_DOWNStatus und steht dem Scheduler nicht zur Verfügung.
-
Protokolle für die Architektur
Die folgende Liste enthält die wichtigsten Protokolle. Der mit Amazon CloudWatch Logs verwendete Protokollstream-Name hat das Format, in dem die Protokollnamen {hostname}.{instance_id}.{logIdentifier}logIdentifier folgen.
-
ResumeProgram:/var/log/parallelcluster/slurm_resume.log(slurm_resume) -
SuspendProgram:/var/log/parallelcluster/slurm_suspend.log(slurm_suspend) -
clustermgtd:/var/log/parallelcluster/clustermgtd.log(clustermgtd) -
computemgtd:/var/log/parallelcluster/computemgtd.log(computemgtd) -
slurmctld:/var/log/slurmctld.log(slurmctld) -
slurmd:/var/log/slurmd.log(slurmd)
Häufige Probleme und wie man sie debuggt:
Knoten, die nicht gestartet, hochgefahren oder dem Cluster nicht beigetreten sind
-
Dynamische Knoten:
-
Prüfen Sie im
ResumeProgramProtokoll, ob der Aufruf mit dem KnotenResumeProgramerfolgte. Wenn nicht, überprüfen Sie dasslurmctldProtokoll, um festzustellen, ob Slurm versucht wurde,ResumeProgrammit dem Knoten anzurufen. Beachten Sie, dass falsche Berechtigungen dazu führenResumeProgramkönnen, dass der Vorgang unbemerkt fehlschlägt. -
Wenn aufgerufen
ResumeProgramwird, überprüfen Sie, ob eine Instanz für den Knoten gestartet wurde. Wenn die Instance nicht gestartet wurde, sollte eine klare Fehlermeldung angezeigt werden, warum die Instance nicht gestartet werden konnte. -
Wenn eine Instance gestartet wurde, ist möglicherweise während des Bootstrap-Vorgangs ein Problem aufgetreten. Suchen Sie die entsprechende private IP-Adresse und Instanz-ID aus dem
ResumeProgramProtokoll und sehen Sie sich die entsprechenden Bootstrap-Protokolle für die jeweilige Instanz in CloudWatch den Protokollen an.
-
-
Statische Knoten:
-
Überprüfen Sie das
clustermgtdProtokoll, um festzustellen, ob Instanzen für den Knoten gestartet wurden. Wenn Instances nicht gestartet wurden, sollte es klare Fehler geben, warum die Instances nicht gestartet werden konnten. -
Wenn eine Instance gestartet wurde, liegt ein Problem mit dem Bootstrap-Prozess vor. Suchen Sie die entsprechende private IP und Instanz-ID aus dem
clustermgtdProtokoll und sehen Sie sich die entsprechenden Bootstrap-Protokolle für die jeweilige Instanz in CloudWatch den Protokollen an.
-
Knoten wurden unerwartet ersetzt oder beendet, und Knotenfehler
-
Knoten replaced/terminated unerwartet:
-
Übernimmt in den meisten
clustermgtdFällen alle Wartungsaktionen des Knotens. Um zu überprüfen, ob ein Knotenclustermgtdersetzt oder beendet wurde, überprüfen Sie dasclustermgtdProtokoll. -
Wenn der Knoten
clustermgtdersetzt oder beendet wurde, sollte eine Meldung erscheinen, die den Grund für die Aktion angibt. Wenn der Grund mit dem Scheduler zusammenhängt (z. B. der KnotenDOWN), finden Sie imslurmctldProtokoll weitere Informationen. Wenn der Grund mit Amazon EC2 zusammenhängt, verwenden Sie Tools wie Amazon CloudWatch oder die Amazon EC2-Konsole, CLI oder SDKs, um den Status oder die Protokolle für diese Instance zu überprüfen. Sie können beispielsweise überprüfen, ob für die Instance Ereignisse geplant waren oder ob die Amazon EC2-Integritätsprüfungen nicht bestanden haben. -
Wenn der Knoten
clustermgtdnicht beendet wurde, überprüfen Sie, ob der Knotencomputemgtdbeendet wurde oder ob EC2 die Instance beendet hat, um eine Spot-Instance zurückzugewinnen.
-
-
Knotenfehler:
-
In den meisten Fällen werden Jobs automatisch in die Warteschlange gestellt, wenn ein Knoten ausfällt. Sehen Sie im
slurmctldProtokoll nach, warum ein Job oder ein Knoten ausgefallen ist, und beurteilen Sie die Situation von dort aus.
-
Fehler beim Ersetzen oder Beenden von Instanzen, Ausfall beim Ausschalten von Knoten
-
clustermgtdBehandelt im Allgemeinen alle erwarteten Aktionen zum Beenden von Instanzen. Sehen Sie imclustermgtdProtokoll nach, warum ein Knoten nicht ersetzt oder beendet werden konnte. -
Wenn dynamische Knoten ausfallen ScaledownIdletime, schauen Sie im
SuspendProgramProtokoll nach, obslurmctldProzesse Aufrufe mit dem spezifischen Knoten als Argument getätigt haben. Note führt eigentlichSuspendProgramkeine bestimmte Aktion aus. Vielmehr protokolliert es nur, wenn es aufgerufen wird. Das Beenden undNodeAddrZurücksetzen aller Instanzen ist bis abgeschlossenclustermgtd. Slurmübergeht Knoten zu KnotenIDLEdanachSuspendTimeout.
Andere Probleme:
-
AWS ParallelCluster trifft keine Entscheidungen über die Stellenzuweisung oder Skalierung. Es versucht lediglich, Ressourcen gemäß den Anweisungen zu starten, zu beenden und zu Slurm verwalten.
Bei Problemen mit der Jobzuweisung, der Knotenzuweisung und der Skalierungsentscheidung überprüfen Sie das
slurmctldProtokoll auf Fehler.