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.
Ersetzen Sie einen Knoten manuell oder starten Sie ihn mithilfe von Slurm neu
In diesem Abschnitt geht es darum, wann Sie einen Knoten manuell neu starten oder ersetzen sollten, mit Anweisungen, wie Sie beides tun können.
Wann muss ein Knoten manuell neu gestartet oder ersetzt werden
Die Funktion zur HyperPod automatischen Wiederaufnahme überwacht, ob sich der Zustand Ihrer Slurm-Knoten auf fail oder ändert. down Sie können den Status der Slurm-Knoten überprüfen, indem Sie sinfo ausführen.
Wenn ein Knoten feststeckt oder nicht reagiert und der automatische Resume-Prozess ihn nicht wiederherstellt, können Sie die Wiederherstellung manuell einleiten. Die Wahl zwischen einem Neustart und dem Ersetzen eines Knotens hängt von der Art des Problems ab. Erwägen Sie einen Neustart, wenn temporäre oder softwarebedingte Probleme auftreten, wie z. B. Systemabstürze, Speicherverluste, GPU-Treiberprobleme, Kernel-Updates oder hängende Prozesse. Wenn Sie jedoch auf anhaltende oder hardwarebedingte Probleme wie GPUs, Speicher- oder Netzwerkfehler, wiederholte Fehlschläge bei der Systemdiagnose oder Knoten, die nach mehreren Neustartversuchen nicht mehr reagieren, ist ein Node-Austausch die geeignetere Lösung.
Möglichkeiten, Knoten manuell neu zu starten oder zu ersetzen
SageMaker HyperPod bietet zwei Methoden für die manuelle Wiederherstellung von Knoten. Der bevorzugte Ansatz ist die Verwendung der SageMaker HyperPod Reboot and Replace-APIs, die einen schnelleren und transparenteren Wiederherstellungsprozess ermöglichen, der auf allen Orchestratoren funktioniert. Alternativ können Sie traditionelle Slurm-Befehle wie verwendenscontrol update, obwohl diese veraltete Methode direkten Zugriff auf den Controller-Node des Slurms erfordert. Beide Methoden aktivieren dieselben SageMaker HyperPod Wiederherstellungsprozesse.
Starten Sie einen Knoten manuell mithilfe der Neustart-API neu
Sie können die verwenden BatchRebootClusterNodes, um einen fehlerhaften Knoten in Ihrem SageMaker HyperPod Cluster manuell neu zu starten.
Hier ist ein Beispiel für die Ausführung des Neustartvorgangs auf zwei Instanzen eines Clusters mit dem AWS Command Line Interface:
aws sagemaker batch-reboot-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Ersetzen Sie einen Knoten manuell mithilfe der Replace-API
Sie können die verwenden BatchReplaceClusterNodes, um einen fehlerhaften Knoten in Ihrem SageMaker HyperPod Cluster manuell zu ersetzen.
Hier ist ein Beispiel für die Ausführung des Ersetzungsvorgangs auf zwei Instanzen eines Clusters mit dem AWS Command Line Interface:
aws sagemaker batch-replace-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Starten Sie einen Knoten manuell mit Slurm neu
Sie können auch die scontrol Slurm-Befehle verwenden, um die Wiederherstellung des Knotens auszulösen. Diese Befehle interagieren direkt mit der Slurm-Steuerungsebene und rufen dieselben zugrunde liegenden Wiederherstellungsmechanismen auf. SageMaker HyperPod
Ersetzen Sie im folgenden Befehl <ip-ipv4>durch den Slurm-Knotennamen (Hostnamen) der fehlerhaften Instanz, die Sie neu starten möchten.
scontrol update node=<ip-ipv4>state=failreason="Action:Reboot"
Dadurch wird der Knoten mit dem angegebenen Grund als FAIL markiert. SageMaker HyperPod erkennt dies und startet die Instanz neu. Vermeiden Sie es, den Knotenstatus zu ändern oder den Slurm-Controller während des Betriebs neu zu starten.
Tauschen Sie einen Knoten manuell mit Slurm aus
Sie können den Befehl scontrol update wie folgt verwenden, um einen Knoten zu ersetzen.
Ersetzen Sie im folgenden Befehl durch den Slurm-Knotennamen (Hostnamen) der fehlerhaften Instanz, die Sie ersetzen möchten.<ip-ipv4>
scontrol update node=<ip-ipv4>state=failreason="Action:Replace"
Nachdem Sie diesen Befehl ausgeführt haben, wechselt der Knoten in den fail Status, wartet darauf, dass die aktuell laufenden Jobs abgeschlossen sind, wird durch eine fehlerfreie Instanz ersetzt und mit demselben Hostnamen wiederhergestellt. Dieser Vorgang benötigt Zeit, abhängig von den verfügbaren Instances in Ihrer Availability Zone und der Zeit, die für die Ausführung Ihrer Lebenszyklusskripts benötigt wird. Vermeiden Sie es während des Aktualisierungs- und Austauschvorgangs, den Status des Knotens erneut manuell zu ändern oder den Slurm-Controller neu zu starten, da dies dazu führen kann, dass der Austausch fehlschlägt. Wenn der Knoten nicht wiederhergestellt wird oder nach langer Zeit nicht in den Status idle wechselt, wenden Sie sich an den AWS -Support
Erzwingen Sie manuell die Änderung eines Knotens
Wenn der fehlerhafte Knoten kontinuierlich in diesem Zustand verharrt, besteht als letzte Möglichkeit darin, den Knotenstatus manuell auf fail zu ändern. Dies erfordert Administratorrechte (Sudo-Berechtigungen).
Warnung
Gehen Sie vorsichtig vor, bevor Sie den folgenden Befehl ausführen, da dadurch alle Aufträge beendet werden und Sie möglicherweise alle nicht gespeicherten Arbeiten verlieren.
scontrol update node=<ip-ipv4>state=downreason="Action:Replace"