C.4. Ripristino fallito ed alberi secondari indipendenti
In molti ambienti enterprise il corso normale delle azioni per un ripristino fallito di un servizio è quello di avviare l'intero servizio se qualsiasi componente dello stesso fallisce. Per esempio in Esempio C.6, «Ripristino normale del servizio foo fallito» se uno degli script definiti in questo servizio fallisce, il corso normale delle azioni è quello di riavviare (riposizionere o disabilitare, in base alla politica di ripristino del servizio) il servizio. Potrà essere necessario riavviare solo parte del servizio prima di tentare un'azione di ripristino. Per fare questo usare l'attributo
__independent_subtree
. Per esempio in Esempio C.7, «Ripristino errore servizio foo con l'attributo __independent_subtree
» l'attributo __independent_subtree
viene usato per eseguire le suddette azioni:
- Se script:script_one fallisce, riavviare script:script_one, script:script_two, e script:script_three.
- Se script:script_two fallisce, riavviare solo script:script_two.
- Se script:script_three fallisce, riavviare script:script_one, script:script_two, e script:script_three.
- Se script:script_four fallisce, riavviare l'intero servizio.
Esempio C.6. Ripristino normale del servizio foo fallito
<service name="foo"> <script name="script_one" ...> <script name="script_two" .../> </script> <script name="script_three" .../> </service>
Esempio C.7. Ripristino errore servizio foo con l'attributo __independent_subtree
<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>
In alcune circostanze se un componente di un servizio fallisce sarà possibile disabilitarlo senza disabilitare l'intero servizio, e quindi senza interessare altri servizi che utilizzano i componenti del servizio stesso. Con Red Hat Enterprise Linux 6.1 sarà possibile eseguire questa operazione utilizzando
__independent_subtree="2"
il quale designa l'albero indipendente come non-critico.
Nota
Usare solo un flag non-critico su risorse con un solo riferimento. Il flag non-critico funziona con tutte le risorse su tutti i livelli dell'albero ma non deve essere usato sul livello superiore durante la definizione dei servizi o delle macchine virtuali.
Con Red Hat Enterprise Linux 6.1 sarà possibile impostare all'interno dell'albero delle risorse le scadenze per il riavvio ed il riavvio massimo per il nodo per alberi secondari indipendenti. Per impostare i suddetti limiti usare i seguenti attributi:
__max_restarts
configura il numero massimo di riavvii tollerati prima di arrestarsi.__restart_expire_time
configura la quantità di tempo, in secondi, dopo il quale non verrà più eseguito un tentativo di riavvio.