Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

C.4. Recuperação de Falhas e Sub Árvores Independentes

Na maioria dos ambientes corporativos, o curso normal de ação para recuperação de falha de um serviço é reiniciar o serviço inteiro se qualquer componente no serviço falhar. Por exemplo, no Exemplo C.6, “Recuperação de Falha Normal do Serviço foo, se qualquer dos scripts definidos neste serviço falhar, o curso normal de ação é reiniciar (ou realocar ou desabilitar, de acordo com a política de recuperação do serviço) o serviço. Entretanto, em algumas circunstâncias certas partes de um serviço podem ser consideradas não críticas; podendo ser necessário reiniciar somente parte do serviço em questão antes de tentar uma recuperação normal. Para fazer isso, você pode usar o atributo __independent_subtree. Por exemplo, no Exemplo C.7, “A Recuperação de Falha do Serviço foo com o Atributo __independent_subtree.”, o atributo __independent_subtree é usado para fazer as seguintes ações:
  • Se o script:script_one falhar, reinicie script:script_one, script:script_two, e script:script_three.
  • Se o script:script_two falhar, reinicie apenas o script:script_two.
  • Se o script:script_three falhar, reinicie o script:script_one, script:script_two, e script:script_three.
  • Se o script:script_four falhar, reinicie o serviço inteiro.

Exemplo C.6. Recuperação de Falha Normal do Serviço foo

<service name="foo">
      <script name="script_one" ...>
          <script name="script_two" .../>
      </script>
      <script name="script_three" .../>
</service>

Exemplo C.7. A Recuperação de Falha do Serviço foo com o Atributo __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>
Em algumas circunstâncias, se um componente de um serviço falhar você pode querer desabilitar somente esse componente sem desabilitar o serviço inteiro, para evitar que afete outros serviços que usam outros componentes deste serviço. A partir do lançamento do Red Hat Enterprise Linux 6.1, você pode fazer isso usando o atributo __independent_subtree="2", que designa a subárvore independente como não crítica.

Nota

Você pode usar somente a bandeira não crítica em recursos isoladamente referenciados. A bandeira não crítica trabalha com todos os recursos em todos os níveis da árvore de recursos mas não deve ser usada no nível superior quando definir serviços ou máquinas virtuais.
A partir do lançamento do Red Hat Enterprise Linux 6.1, você pode definir reinicializações máximas e expirações de reinicializações em uma base por nó na árvore de recursos para subárvores independentes. Para definir estes limites, você pode usar os seguintes atributos:
  • O __max_restarts configura o número máximo de reinicializações toleradas antes de desistir.
  • __restart_expire_time configura o período de tempo, em segundos, depois que uma reinicialização não é mais tentada.