Freigeben über


Grundlegendes zur Fehlerbehandlung

In diesem Thema werden die Fehlerbehandlungseinstellungen für den HPC-Auftragsplanungsdienst beschrieben. Informationen zum Ändern der Konfigurationsoptionen finden Sie unter Configure the HPC Job Scheduler Service.

Dieses Thema enthält die folgenden Abschnitte:

Taktoptionen

Der HPC Node Manager-Dienst auf jedem Knoten sendet regelmäßige Integritätsberichte an den HPC-Auftragsplanungsdienst. Dieser Integritätsbericht wird als Takt-bezeichnet. Dieses Taktsignal überprüft die Verfügbarkeit von Knoten. Wenn ein Knoten zu viele Takte verpasst, kennzeichnet der HPC-Auftragsplanerdienst den Knoten als nicht erreichbar.

Die folgenden Clustereigenschafteneinstellungen gelten für die Integritätssonden:

  • Taktintervall: die Häufigkeit der Integritätssonden in Sekunden. Der Standardwert ist 30 Sekunden.

  • verpasste Takte (Inaktivitätsanzahl): Die Anzahl der Takte, die ein Knoten verpassen kann, bevor er als nicht erreichbar gilt. Der Standardwert ist 3.

    Anmerkung

    Ab HPC Pack 2012 mit Service Pack 1 (SP1) werden separate Einstellungen bereitgestellt, um die Inaktivitätsanzahl für lokale (lokale) Knoten und Windows Azure-Knoten zu konfigurieren. Aufgrund möglicher Netzwerklatenz beim Erreichen von Windows Azure-Knoten beträgt die Standardinaktivitätsanzahl für Windows Azure-Knoten 10.

Zusätzliche Überlegungen

  • Ein Knoten kann aus vielen Gründen einen Takt verpassen, einschließlich:

    • Probleme mit der Netzwerkkonnektivität

    • Der HPC Node Manager-Dienst wird nicht auf dem Computeknoten ausgeführt.

    • Authentifizierungsfehler zwischen dem Kopfknoten und dem Computeknoten

  • Wenn Sie die Häufigkeit der Integritätssonden erhöhen (einen kürzeren Heartbeat Intervalfestlegen), können Sie Fehler schneller erkennen, aber auch den Netzwerkdatenverkehr erhöhen. Ein erhöhter Netzwerkdatenverkehr kann die Clusterleistung verringern.

  • Wenn ein Knoten als nicht erreichbar gekennzeichnet wird, können Aufträge, die auf diesem Knoten ausgeführt werden, fehlschlagen. Wenn Sie wissen, dass Ihr Netzwerk häufige zeitweilige Fehler aufweist, können Sie die Inaktivitätsanzahl erhöhen, um unnötige Auftragsfehler zu vermeiden. Siehe auch Wiederholen von Aufträgen und Aufgaben in diesem Thema.

Wiederholen von Aufträgen und Aufgaben

Der HPC-Auftragsplanerdienst führt aufträge und Vorgänge, die aufgrund eines Clusterproblems fehlschlagen, z. B. einen Knoten, der nicht erreichbar ist, oder die durch die Richtlinie vor dem Entfernen beendet werden. Nach einer angegebenen Anzahl erfolgloser Versuche markiert der HPC-Auftragsplanerdienst den Auftrag oder den Vorgang als Fehlgeschlagene.

Die folgenden Clustereigenschafteneinstellungen bestimmen die Anzahl der Wiederholungsversuche von Aufträgen und Aufgaben:

  • Auftrag wiederholen: Die Anzahl der Wiederholungen, um einen Auftrag automatisch erneut auszuführen. Der Standardwert ist 3.

  • Vorgang wiederholen: Die Anzahl der Wiederholungsversuche für einen Vorgang. Der Standardwert ist 3.

Zusätzliche Überlegungen

  • Vorgänge werden nicht automatisch wiederholt, wenn die Vorgangseigenschaft Rerunnable auf "false" festgelegt ist.

  • Aufträge werden nicht automatisch wiederholt, wenn die Auftragseigenschaft Fehler bei Vorgangsfehlern auf "true" festgelegt ist.

  • Weitere Informationen finden Sie unter Understanding Job and Task Properties.

Nachfrist für Vorgangsabbruch

Wenn eine ausgeführte Aufgabe während der Ausführung beendet wird, können Sie zeit für die Anwendung erlauben, Statusinformationen zu speichern, eine Protokollnachricht zu schreiben, Dateien zu erstellen oder zu löschen oder dienste die Berechnung des aktuellen Dienstaufrufs abzuschließen. Sie können die Zeitspanne in Sekunden so konfigurieren, dass Anwendungen ordnungsgemäß beendet werden können, indem Sie die Task Cancel Grace Period Clustereigenschaft festlegen. Der standardmäßige Aufgabenabbruchfrist beträgt 15 Sekunden.

Wichtig

In Windows HPC Server 2008 R2 stoppt der HPC Node Manager-Dienst eine ausgeführte Aufgabe, indem ein CTRL_BREAK Signal an die Anwendung gesendet wird. Um die Nachfrist zu verwenden, muss die Anwendung das CTRL_BREAK-Ereignis verarbeiten. Wenn die Anwendung das Ereignis nicht verarbeitet, wird die Aufgabe sofort beendet. Damit ein Dienst die Karenzzeit verwendet, muss er das ServiceContext.OnExiting-Ereignis verarbeiten.

Zusätzliche Überlegungen

  • Ein Clusteradministrator oder ein Auftragsbesitzer kann erzwingen, dass eine ausgeführte Aufgabe abgebrochen wird. Wenn ein Vorgang abgebrochen wird, überspringen der Vorgang und seine Unteraufgaben den Karenzzeitraum und werden sofort beendet. Weitere Informationen finden Sie unter Force Cancel a Job or Task.

  • Sie können die Karenzzeit entsprechend der Verarbeitung der auf Ihrem Cluster ausgeführten Anwendungen mit dem CTRL_BREAK Signal anpassen. Wenn Anwendungen beispielsweise versuchen, große Datenmengen nach dem Signal zu kopieren, können Sie das Timeout entsprechend erhöhen.

Timeout der Knotenfreigabeaufgabe

Auftragsbesitzer können Node Release- Aufgaben hinzufügen, um einen Befehl oder ein Skript auf jedem Knoten auszuführen, wie er vom Auftrag freigegeben wird. Node Release Aufgaben können verwendet werden, um zugewiesene Knoten in ihren Vorauftragszustand zurückzugeben oder Um Daten und Protokolldateien zu sammeln.

Das Timeout node release task timeout bestimmt die maximale Laufzeit (in Sekunden) für Node Release Tasks. Der Standardwert beträgt 10 Sekunden.

Zusätzliche Überlegungen

  • Wenn ein Auftrag über eine maximale Laufzeit und einen Node Release--Vorgang verfügt, bricht der Scheduler die anderen Vorgänge im Auftrag ab, bevor die Laufzeit des Auftrags abläuft (Auftragslaufzeit minus Node Release-Aufgabe Laufzeit). Auf diese Weise kann die Node Release Aufgabe innerhalb der zugewiesenen Zeit für den Auftrag ausgeführt werden.

  • Node Release Aufgaben ausgeführt werden, auch wenn ein Auftrag abgebrochen wird. Ein Clusteradministrator oder der Auftragsbesitzer kann erzwingen, dass ein Auftrag den Node Release Aufgabe überspringt. Weitere Informationen finden Sie unter Force Cancel a Job or Task.

Grenzwert für ausgeschlossene Knoten

Die Grenzwert für ausgeschlossene Knoten gibt die maximale Anzahl von Knoten an, die in der Ausgeschlossenen Knoten Auftragseigenschaft aufgeführt werden können. Die Ausgeschlossenen Knoten Auftragseigenschaft kann eine Liste von Knoten angeben, die der Auftragsplaner nicht mehr für einen bestimmten Auftrag verwenden oder nicht verwenden soll.

Wenn ein Auftragsbesitzer oder ein Clusteradministrator bemerkt, dass Aufgaben in einem Auftrag auf einem bestimmten Knoten konsistent fehlschlagen, können sie diesen Knoten der Ausgeschlossenen Knotens Auftragseigenschaft hinzufügen. Wenn die Grenzwert für ausgeschlossene Knoten erreicht erreicht ist, schlagen Versuche, der Liste weitere Knoten hinzuzufügen, fehl. Weitere Informationen finden Sie unter Festlegen und Löschen ausgeschlossener Knoten für Aufträge.

Bei SOA-Aufträgen aktualisiert und verwaltet der Brokerknoten die Liste der ausgeschlossenen Knoten gemäß der Einstellung EndPointNotFoundRetryPeriod (in der Dienstkonfigurationsdatei). Diese Einstellung gibt an, wie lange der Diensthost das Laden des Diensts wiederholen soll und wie lange der Broker auf eine Verbindung warten soll. Wenn diese Zeit verstrichen ist, fügt der Broker den Knoten (Diensthost) zur liste Ausgeschlossene Knoten hinzu. Wenn die Grenzwert für ausgeschlossene Knoten überschritten wird, überschritten wird, bricht der Brokerknoten den SOA-Auftrag ab.

Anmerkung

Wenn Sie die Grenzwert für ausgeschlossene Knoten für den Cluster ändern, gilt der neue Grenzwert nur für ausgeschlossene Knotenlisten, die geändert werden, nachdem der neue Grenzwert festgelegt wurde. Das heißt, die Anzahl der Knoten, die in der Ausgeschlossenen Knoten Auftragseigenschaft aufgeführt sind, wird nur zum Zeitpunkt der Erstellung des Auftrags oder der Änderung der Eigenschaft anhand des clusterweiten Grenzwerts überprüft.

Weitere Verweise