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 Leitfaden für den Modus mit mehreren Warteschlangen
Hier erfährst du wie AWS ParallelCluster und Slurm Warteschlangenknoten (Partitionsknoten) verwalten und wie Sie die Warteschlangen- und Knotenstatus überwachen können.
Übersicht
Die Skalierungsarchitektur basiert auf SlurmDer Cloud Scheduling Guide
Lebenszyklus eines Cloud-Knotens
Während ihres gesamten Lebenszyklus treten Cloud-Knoten in mehrere, wenn nicht sogar 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 wechseln. In der folgenden Liste werden verschiedene Aspekte dieser Zustände im Lebenszyklus eines Cloud-Knotens beschrieben.
-
Ein Knoten in einem
POWER_SAVING
Status wird mit einem~
Suffix (zum Beispielidle~
) insinfo
angezeigt. In diesem Status unterstützen keine EC2 Instanzen den Knoten. Jedoch Slurm kann dem Knoten immer noch Jobs zuweisen. -
Ein Knoten, der in einen
POWER_UP
Status übergeht, wird mit einem#
Suffix (zum Beispielidle#
) in angezeigt.sinfo
Ein Knoten wechselt automatisch in einenPOWER_UP
Zustand, wenn Slurm weist einem Knoten in einem Status einen Job zu.POWER_SAVING
Alternativ können Sie die Knoten manuell als
su
Root-Benutzer mit dem folgenden Befehl in denPOWER_UP
Status überführen:$
scontrol update nodename=
nodename
state=power_upIn dieser Phase
ResumeProgram
wird der aufgerufen, EC2 Instanzen werden gestartet und konfiguriert und der Knoten wechselt in denPOWER_UP
Status. -
Ein Knoten, der derzeit zur Verwendung verfügbar ist, wird ohne Suffix angezeigt (z. B.
idle
) in.sinfo
Nachdem der Knoten eingerichtet wurde und dem Cluster beigetreten ist, steht er für die Ausführung von Jobs zur Verfügung. In dieser Phase ist der Knoten ordnungsgemäß konfiguriert und einsatzbereit.In der Regel empfehlen wir, dass die Anzahl der EC2 Amazon-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_DOWN
Status übergeht, wird mit einem%
Suffix (z. B.idle%
) in angezeigt.sinfo
Dynamische Knoten wechseln automatisch in denPOWER_DOWN
Status danach. ScaledownIdletime Im Gegensatz dazu werden statische Knoten in den meisten Fällen nicht abgeschaltet. Sie können die Knoten jedoch manuell alssu
Root-Benutzer mit dem folgenden Befehl in denPOWER_DOWN
Status versetzen:$
scontrol update nodename=
nodename
state=down reason="manual draining"In diesem Zustand werden die mit einem Knoten verknüpften Instanzen beendet, und der Knoten wird in den
POWER_SAVING
Status zurückversetzt und kann danach wieder verwendet ScaledownIdletimewerden.Die ScaledownIdletimeEinstellung wird gespeichert im Slurm
SuspendTimeout
Konfigurationseinstellung. -
Ein Knoten, der offline ist, wird mit einem
*
Suffix (z. B.down*
) insinfo
angezeigt. Ein Knoten geht offline, wenn Slurm Der Controller kann den Knoten nicht kontaktieren oder wenn die statischen Knoten deaktiviert sind und die unterstützenden Instanzen beendet sind.
Betrachten Sie die im folgenden sinfo
Beispiel gezeigten Knotenzustände.
$
sinfo
PARTITION 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-Instances eingerichtet, sodass sie verwendet werden können. 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 Instanzen unterstützt werden.
Mit einem verfügbaren Knoten arbeiten
Ein verfügbarer Knoten wird von einer EC2 Amazon-Instance unterstützt. Standardmäßig kann der Knotenname verwendet werden, um SSH direkt auf die Instance zuzugreifen (zum Beispielssh
efa-st-efacompute1-1
). Die private IP-Adresse der Instanz kann mit dem folgenden Befehl abgerufen werden:
$
scontrol show nodes
nodename
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 EC2 Amazon-Instance verweisen. Vielmehr sollte es mit dem Knotennamen identisch sein.
Status und Einreichung von Job
In den meisten Fällen werden übermittelte Jobs sofort Knoten im System zugewiesen oder als ausstehend eingestuft, wenn alle Knoten zugewiesen sind.
Wenn die für einen Job zugewiesenen Knoten Knoten in einem POWER_SAVING
Status enthalten, beginnt der Job mit einem CF
oderCONFIGURING
. Zu diesem Zeitpunkt wartet der Job darauf, dass die Knoten im POWER_SAVING
Status 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 weitergeleitet (bekannt als Partition in Slurm). Dies wird durch ein *
Suffix nach dem Warteschlangennamen gekennzeichnet. Sie können mit der Option zum Einreichen von -p
Jobs 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
dynamic
oderstatic
.)
Sie können sich die Funktionen für einen bestimmten Knoten anzeigen lassen, indem Sie den folgenden Befehl verwenden:
$
scontrol show nodes
nodename
Überprüfen Sie im Gegenzug die AvailableFeatures
Liste.
Betrachten Sie den Anfangsstatus des Clusters, den Sie anzeigen können, indem Sie den sinfo
Befehl ausführen.
$
sinfo
PARTITION 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.
Sendet einen Job an einen statischen Knoten in der Standardwarteschlange (spot
).
$
sbatch --wrap
"sleep 300"
-N1
-Cstatic
Sendet einen Job an einen dynamischen Knoten in der EFA
Warteschlange.
$
sbatch --wrap
"sleep 300"
-pefa
-Cdynamic
Sendet 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
]"
Sendet einen Job an einen GPU Knoten in der gpu
Warteschlange.
$
sbatch --wrap
"sleep 300"
-pgpu
-G1
Berücksichtigen Sie den Status der Jobs, die den squeue
Befehl verwenden.
$
squeue
JOBID 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 noch konfiguriert (CF
) und warten wahrscheinlich darauf, dass Instanzen verfügbar werden.
# Nodes states corresponds to state of running jobs
$
sinfo
PARTITION 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
Status und Funktionen des Knotens
In den meisten Fällen werden Knotenstatus AWS ParallelCluster gemäß den spezifischen Prozessen im Cloud-Knoten-Lebenszyklus, die weiter oben in diesem Thema beschrieben wurden, vollständig verwaltet.
Ersetzt oder beendet jedoch AWS ParallelCluster auch fehlerhafte Knoten in DRAINED
Zuständen DOWN
und Knoten, die über fehlerhafte Backing-Instances verfügen. Weitere Informationen finden Sie unter clustermgtd.
Status der Partition
AWS ParallelCluster unterstützt die folgenden Partitionsstatus. A 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. Neue Instanzen werden für Knoten in einer inaktiven Partition nicht gestartet.
pcluster update-compute-fleet
-
Stoppen der Rechenflotte — Wenn der folgende Befehl ausgeführt wird, gehen alle Partitionen in den
INACTIVE
Status über, und AWS ParallelCluster Prozesse behalten die Partitionen imINACTIVE
Status bei.$
pcluster update-compute-fleet --cluster-name
testSlurm
\ --regioneu-west-1
--status STOP_REQUESTED -
Starten der Compute-Flotte — Wenn der folgende Befehl ausgeführt wird, wechseln zunächst alle Partitionen in den
UP
Status. AWS ParallelCluster Prozesse halten die Partition jedoch nicht in einemUP
Zustand. Sie müssen den Partitionsstatus manuell ändern. Alle statischen Knoten sind nach einigen Minuten verfügbar. Beachten Sie, dass das Einstellen einer Partition auf keine dynamische Kapazität erhöht.UP
$
pcluster update-compute-fleet --cluster-name
testSlurm
\ --regioneu-west-1
--status START_REQUESTED
Wenn update-compute-fleet
es ausgeführt wird, können Sie den Status des Clusters überprüfen, indem Sie den pcluster describe-compute-fleet
Befehl ausführen und das überprüfenStatus
. Im Folgenden werden mögliche Status aufgeführt:
-
STOP_REQUESTED
: Die Flottenanforderung „Stop Compute“ wird an den Cluster gesendet. -
STOPPING
: Derpcluster
Prozess stoppt derzeit die Compute-Flotte. -
STOPPED
: Derpcluster
Prozess hat den Stoppvorgang abgeschlossen, alle Partitionen befinden sich imINACTIVE
Status und alle Recheninstanzen wurden beendet. -
START_REQUESTED
: Die Anfrage zum Starten der Compute-Flotte wird an den Cluster gesendet. -
STARTING
: Derpcluster
Prozess startet derzeit den Cluster. -
RUNNING
: Derpcluster
Prozess hat den Startvorgang abgeschlossen, alle Partitionen befinden sich imUP
Status und statische Knoten sind nach einigen Minuten verfügbar. -
PROTECTED
: Dieser Status weist darauf hin, dass bei einigen Partitionen konsistente Bootstrap-Fehler auftreten. Die betroffenen Partitionen sind inaktiv. Bitte untersuchen Sie das Problem und starten Sie dann den Vorgangupdate-compute-fleet
, um die Flotte erneut zu aktivieren.
Manuelle Steuerung von Warteschlangen
In einigen Fällen möchten Sie möglicherweise eine manuelle Kontrolle über die Knoten oder die Warteschlange haben (bekannt als Partition in Slurm) in einem Cluster. Sie können Knoten in einem Cluster mithilfe der folgenden gängigen Verfahren mithilfe des scontrol
Befehls verwalten.
-
Dynamische Knoten im
POWER_SAVING
Status einschaltenFühren Sie den Befehl als
su
Root-Benutzer aus:$
scontrol update nodename=
nodename
state=power_upSie können auch einen
sleep 1
Platzhalter-Job einreichen, der eine bestimmte Anzahl von Knoten anfordert, und sich dann darauf verlassen Slurm um die erforderliche Anzahl von Knoten hochzufahren. -
Schalten Sie zuvor dynamische Knoten aus ScaledownIdletime
Wir empfehlen, dynamische Knoten mit dem
DOWN
folgenden Befehl aufsu
Root-Benutzer einzustellen:$
scontrol update nodename=
nodename
state=down reason="manually draining"AWS ParallelCluster beendet die ausgefallenen dynamischen Knoten automatisch und setzt sie zurück.
Im Allgemeinen empfehlen wir nicht, Knoten
POWER_DOWN
direkt mithilfe des Befehls so einzustellen.scontrol update nodename=
Das liegt daran, dass der Abschaltvorgang AWS ParallelCluster automatisch abgewickelt wird.nodename
state=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
INACTIVE
alssu
Root-Benutzer ein:$
scontrol update partition=
queuename
state=inactiveDadurch werden alle Instanzen beendet, die Knoten in der Partition unterstützen.
-
Aktiviert eine Warteschlange (Partition)
Stellen Sie mit dem folgenden Befehl
UP
eine bestimmte Warteschlange für einensu
Root-Benutzer ein:$
scontrol update partition=
queuename
state=up
Skalierungsverhalten und Anpassungen
Hier ist ein Beispiel für den normalen Skalierungsablauf:
-
Der Scheduler empfängt einen Job, für den zwei Knoten erforderlich sind.
-
Der Scheduler versetzt zwei Knoten in einen
POWER_UP
Status und ruftResumeProgram
mit den Knotennamen auf (zum Beispielqueue1-dy-spotcompute1-[1-2]
). -
ResumeProgram
startet zwei EC2 Amazon-Instances und weist die privaten IP-Adressen und Hostnamen von zu. Wartet aufResumeTimeout
(der Standardzeitraum beträgt 30 Minuten)queue1-dy-spotcompute1-[1-2]
, bevor die Knoten zurückgesetzt werden. -
Die Instances werden konfiguriert und treten dem Cluster bei. Ein Job wird auf Instanzen ausgeführt.
-
Der Job wird abgeschlossen und wird nicht mehr ausgeführt.
-
Nach Ablauf der konfigurierten
SuspendTime
Zeit (die auf gesetzt ist ScaledownIdletime), setzt der Scheduler die Instanzen auf den Status.POWER_SAVING
Der Scheduler wechselt dannqueue1-dy-spotcompute1-[1-2]
auf denPOWER_DOWN
Status und ruftSuspendProgram
mit den Knotennamen auf. -
SuspendProgram
wird für zwei Knoten aufgerufen. Knoten bleiben in diesemPOWER_DOWN
Zustand, z. B. indem sie eine Zeitidle%
lang verbleibenSuspendTimeout
(der Standardzeitraum ist 120 Sekunden (2 Minuten)). Nachdemclustermgtd
erkannt wurde, dass Knoten heruntergefahren werden, werden die unterstützenden Instances beendet. Anschließend wechselt es inqueue1-dy-spotcompute1-[1-2]
den Ruhezustand und setzt die private IP-Adresse und den Hostnamen zurück, sodass es für future Aufgaben 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_UP
Status und ruftResumeProgram
mit den Knotennamen auf (zum Beispiel).queue1-dy-spotcompute1-[1-2]
-
ResumeProgram
startet nur eine (1) EC2 Amazon-Instance und konfiguriertqueue1-dy-spotcompute1-1
, bei der eine (1) Instance nicht gestartet werden kann.queue1-dy-spotcompute1-2
-
queue1-dy-spotcompute1-1
ist nicht betroffen und wird nach Erreichen desPOWER_UP
Bundesstaats online geschaltet. -
queue1-dy-spotcompute1-2
wechselt in denPOWER_DOWN
Status, und der Job wird automatisch in die Warteschlange gestellt, weil Slurm erkennt einen Knotenausfall. -
queue1-dy-spotcompute1-2
wird danach verfügbarSuspendTimeout
(die Standardeinstellung ist 120 Sekunden (2 Minuten)). In der Zwischenzeit wird der Job 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 Timing-Parameter, die bei Bedarf angepasst werden können:
-
ResumeTimeout
(Die Standardeinstellung ist 30 Minuten):ResumeTimeout
steuert die Zeit Slurm wartet, bevor der Knoten in den ausgefallenen Zustand versetzt wird.-
Eine Erweiterung könnte nützlich sein,
ResumeTimeout
wenn der Prozess vor und nach der Installation fast genauso lange dauert. -
ResumeTimeout
ist auch die maximale AWS ParallelCluster Wartezeit, bis ein Knoten ersetzt oder zurückgesetzt wird, falls ein Problem auftritt. Rechenknoten beenden sich selbst, wenn während des Starts oder 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)):SuspendTimeout
Steuert, wie schnell Knoten wieder im System platziert werden und wieder einsatzbereit sind.-
Ein kürzerer Wert
SuspendTimeout
bedeutet, dass Knoten schneller zurückgesetzt werden, und Slurm kann versuchen, Instances häufiger zu starten. -
Länger
SuspendTimeout
bedeutet, dass ausgefallene Knoten langsamer zurückgesetzt werden. In der Zwischenzeit Slurm versucht, andere Knoten zu verwenden. WennSuspendTimeout
es mehr als ein paar Minuten sind, Slurm versucht, alle Knoten im System zu durchlaufen. Eine längere LaufzeitSuspendTimeout
könnte für große Systeme (über 1.000 Knoten) von Vorteil sein, um die stress zu verringern Slurm wenn versucht wird, fehlgeschlagene Jobs häufig in die Warteschlange zu stellen. -
Beachten Sie, dass sich
SuspendTimeout
dies nicht auf die AWS ParallelCluster Wartezeit bezieht, bis eine Backing-Instance für einen Knoten beendet wird. Backing-Instances fürPOWER_DOWN
Knoten werden sofort beendet. Der Terminierungsvorgang ist in der Regel in wenigen Minuten abgeschlossen. Während dieser Zeit verbleibt der Knoten jedoch imPOWER_DOWN
Status und steht dem Scheduler nicht zur Verfügung.
-
Protokolle für die Architektur
Die folgende Liste enthält die wichtigsten Protokolle. Der mit Amazon Logs verwendete CloudWatch Log-Stream-Name hat das Format
, wobei {hostname}
.{instance_id}
.{logIdentifier}
logIdentifier
folgt den Protokollnamen.
-
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 Anleitung zum Debuggen:
Knoten, die nicht gestartet, hochgefahren oder dem Cluster nicht beigetreten sind
-
Dynamische Knoten:
-
Prüfen Sie im
ResumeProgram
Protokoll, ob mit dem Knoten aufgerufenResumeProgram
wurde. Falls nicht, überprüfen Sie dasslurmctld
Protokoll, um festzustellen, ob Slurm hat versucht,ResumeProgram
mit dem Knoten anzurufen. Beachten Sie, dass falsche Berechtigungen dazu führenResumeProgram
können, dass der Vorgang im Hintergrund fehlschlägt. -
Wenn aufgerufen
ResumeProgram
wird, überprüfen Sie, ob eine Instanz für den Knoten gestartet wurde. Wenn die Instance nicht gestartet wurde, sollte es eine klare Fehlermeldung geben, 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
ResumeProgram
Protokoll und sehen Sie sich die entsprechenden Bootstrap-Protokolle für die jeweilige Instanz in CloudWatch Logs an.
-
-
Statische Knoten:
-
Prüfen Sie im
clustermgtd
Protokoll, ob Instanzen für den Knoten gestartet wurden. Wenn Instances nicht gestartet wurden, sollte es eindeutige Fehler darüber 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
clustermgtd
Protokoll und sehen Sie sich die entsprechenden Bootstrap-Protokolle für die jeweilige Instanz unter Logs an CloudWatch .
-
Knoten, die unerwartet ersetzt oder beendet wurden, und Knotenausfälle
-
Knoten wurden unerwartet ersetzt/beendet:
-
In den meisten Fällen
clustermgtd
erledigt es alle Wartungsaktionen für Knoten. Um zu überprüfen, ob ein Knotenclustermgtd
ersetzt oder beendet wurde, überprüfen Sie dasclustermgtd
Protokoll. -
Wenn der Knoten
clustermgtd
ersetzt oder beendet wurde, sollte eine Meldung erscheinen, in der der Grund für die Aktion angegeben ist. Wenn der Grund mit dem Scheduler zusammenhängt (zum Beispiel der KnotenDOWN
), suchen Sie imslurmctld
Protokoll nach weiteren Einzelheiten. Wenn der Grund EC2 mit Amazon zusammenhängt, verwenden Sie Tools wie Amazon CloudWatch oder die EC2 Amazon-Konsole, oder CLISDKs, um den Status oder die Protokolle für diese Instanz zu überprüfen. Sie können beispielsweise überprüfen, ob für die Instance Ereignisse geplant waren oder ob die EC2 Amazon-Integritätsprüfungen nicht bestanden haben. -
Falls der Knoten
clustermgtd
nicht beendet wurde, überprüfen Sie, ob der Knotencomputemgtd
beendet wurde oder ob die Instance EC2 beendet wurde, um eine Spot-Instance zurückzugewinnen.
-
-
Knotenausfälle:
-
In den meisten Fällen werden Jobs automatisch in die Warteschlange gestellt, wenn ein Knoten ausfällt. Schauen Sie im
slurmctld
Protokoll nach, warum ein Job oder ein Knoten ausgefallen ist, und beurteilen Sie die Situation von dort aus.
-
Fehler beim Ersetzen oder Beenden von Instanzen, Fehler beim Herunterfahren von Knoten
-
clustermgtd
Behandelt im Allgemeinen alle erwarteten Aktionen zum Beenden von Instanzen. Sehen Sie imclustermgtd
Protokoll nach, warum ein Knoten nicht ersetzt oder beendet werden konnte. -
Wenn dynamische Knoten ausfallen ScaledownIdletime, schauen Sie im
SuspendProgram
Protokoll nach, obslurmctld
Prozesse Aufrufe mit dem spezifischen Knoten als Argument ausgeführt haben. Note führt eigentlichSuspendProgram
keine bestimmte Aktion aus. Vielmehr protokolliert es nur, wenn es aufgerufen wird. Alle Instanzbeendigungen undNodeAddr
Resets sind bis abgeschlossenclustermgtd
. Slurm wechselt von Knoten zu den nachfolgenden KnotenIDLE
.SuspendTimeout
Andere Probleme:
-
AWS ParallelCluster trifft keine Entscheidungen zur Stellenzuweisung oder Skalierung. Es versucht lediglich, Ressourcen entsprechend zu starten, zu beenden und zu verwalten Slurmseine Anweisungen.
Bei Problemen mit der Auftragszuweisung, der Knotenzuweisung und der Skalierungsentscheidung suchen Sie im
slurmctld
Protokoll nach Fehlern.