C.4. Wiederherstellung nach Ausfall und unabhängige Unterbäume
In den meisten Unternehmensumgebungen wird zur Wiederherstellung nach einem Dienstausfall in der Regel der gesamte Dienst neu gestartet, auch wenn nur Teilkomponenten des Dienstes ausgefallen waren. Wenn in Beispiel C.6, »Dienst foo - Normale Wiederherstellung nach Ausfall« z.B. eines der Skripte fehlschlägt, die in diesem Dienst definiert werden, so wird in der Regel der Dienst neu gestartet (oder verlegt oder deaktiviert, je nach Wiederherstellungsrichtlinie des Dienstes). In einigen Fällen können bestimmte Teile eines Dienstes als nicht-kritisch betrachtet werden; es kann notwendig sein, den Dienst nur in Teilen neu zu starten, bevor die normale Wiederherstellungsprozedur begonnen wird. Sie können zu diesem Zweck den
__independent_subtree
Parameter verwenden. In Beispiel C.7, »Dienst foo - Wiederherstellung nach Ausfall mit __independent_subtree
Parameter« wird der __independent_subtree
Parameter verwendet, um die folgenden Aktionen durchzuführen:
- Falls script:script_one fehlschlägt, werden script:script_one, script:script_two und script:script_three neu gestartet.
- Falls script:script_two fehlschlägt, wird nur script:script_two neu gestartet.
- Falls script:script_three fehlschlägt, werden script:script_one, script:script_two und script:script_three neu gestartet.
- Falls script:script_four fehlschlägt, wird der gesamte Dienst neu gestartet.
Beispiel C.6. Dienst foo - Normale Wiederherstellung nach Ausfall
<service name="foo"> <script name="script_one" ...> <script name="script_two" .../> </script> <script name="script_three" .../> </service>
Beispiel C.7. Dienst foo - Wiederherstellung nach Ausfall mit __independent_subtree
Parameter
<service name="foo"> <script name="script_one" __independent_subtree="1" ...> <script name="script_two" __independent_subtree="1" .../> <script name="script_three" .../> </script> <script name="script_four" .../> </service>
Unter Umständen möchten Sie beim Ausfall einer Dienstkomponente nur diese einzelne Komponente deaktivieren, ohne den gesamten Dienst zu deaktivieren, damit andere Dienste, die andere Komponenten dieses Dienstes nutzen, nicht ebenfalls in Mitleidenschaft gezogen werden. Ab der Red Hat Enterprise Linux 6.1 Release können Sie zu diesem Zweck den
__independent_subtree="2"
Parameter nutzen, der den unabhängigen Unterbaum als unkritisch kennzeichnet.
Anmerkung
Sie können die unkritisch-Flag nur auf Ressourcen mit einer einzigen Referenz anwenden. Das unkritisch-Flag funktioniert mit allen Ressourcen auf allen Ebenen des Ressourcenbaums, sollte jedoch nicht auf oberster Ebene angewendet werden, wenn Dienste oder virtuelle Maschinen definiert werden.
Ab der Red Hat Enterprise Linux 6.1 Release können Sie die maximalen Neustarts und den Neustart-Ablauf pro Knoten für unabhängige Unterbäume im Ressourcenbaum angeben. Um diese Grenzwerte einzustellen, verwenden Sie die folgenden Parameter:
__max_restarts
konfiguriert die Höchstanzahl der erlaubten Neustarts, bevor abgebrochen wird.__restart_expire_time
konfiguriert die Zeitspanne in Sekunden, nach der kein Neustart mehr versucht wird.