C.4. 장애 복구 및 독립적 하위 트리
대부분의 엔터프라이즈 환경에서 서비스 장애 복구를 위한 일반적인 작업은 서비스의 구성 요소 중 하나에 문제가 발생한 경우 전체 서비스를 다시 시작하는 것입니다. 예를 들어 예 C.6. “foo 서비스의 정상적인 장애 복구 ”에서는 이 서비스에 정의된 스크립트 중 하나가 실패한 경우, 정상적인 절차로 서비스를 다시 시작 (또는 서비스 복구 정책에 따라 재배치 또는 비활성화)합니다. 하지만 일부 경우 서비스의 특정 부분이 중요하지 않다고 간주될 수 있습니다. 이는 일반적인 복구 작업을 시도하기 전 서비스의 문제가 있는 부분 만을 다시 시작해야 할 수 있습니다. 이를 위해
__independent_subtree
속성을 사용할 수 있습니다. 예를 들어 예 C.7. “__independent_subtree
속성을 사용하여 foo 서비스 장애 복구 ”에서 __independent_subtree
속성은 다음과 같은 작업을 위해 사용되고 있습니다:
- script:script_one가 실패할 경우, script:script_one, script:script_two, script:script_three를 다시 시작합니다.
- script:script_two가 실패할 경우, script:script_two 만을 다시 시작합니다.
- script:script_three가 실패할 경우, script:script_one, script:script_two, script:script_three를 다시 시작합니다.
- script:script_four가 실패할 경우, 모든 서비스를 다시 시작합니다.
예 C.6. foo 서비스의 정상적인 장애 복구
<service name="foo"> <script name="script_one" ...> <script name="script_two" .../> </script> <script name="script_three" .../> </service>
예 C.7. __independent_subtree
속성을 사용하여 foo 서비스 장애 복구
<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>
일부 경우 서비스의 한 구성 요소가 실패한 경우 전체 서비스를 비활성화하지 않고 서비스의 다른 구성 요소를 사용하는 다른 서비스에 영향을 미치지 않도록 해당 문제 구성 요소만 비활성화하고자 할 수 있습니다. Red Hat Enterprise Linux 6.1 릴리즈에서 독립 하위 트리를 중요하지 않은 것으로 지정하는
__independent_subtree="2"
속성을 사용하여 이를 수행할 수 있습니다.
참고
단일 참조 리소스에서만 중요하지 않은 플래그를 사용합니다. 중요하지 않은 플래그는 리소스 트리의 모든 레벨에 있는 모든 리소스와 작동하지만 서비스와 가상 머신을 정의하고 있을 때에는 최상위에서 사용할 수 없습니다.
Red Hat Enterprise Linux 6.1 릴리스에서 독립 하위 트리에 대해 리소스 트리에서 노드 당 최대 다시 시작 횟수와 다시 시작 만료 시간을 설정할 수 있습니다. 이러한 임계값을 설정하려면 다음 속성을 사용합니다:
__max_restarts
는 다시 시작을 포기하기 전 까지 허용되는 최대 다시 시작 횟수를 설정합니다.__restart_expire_time
은 다시 시작이 더이상 시도되지 않는 시간을 (초 단위) 설정합니다.