Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

재시작 및 페일오버 비교

probefail 변수가 0(성공)이 아닌 다른 값일 경우 nslookup 명령이 시간 초과되었거나 샘플 서비스의 DNS가 아닌 다른 서버에서 응답을 보낸 것입니다. 이러한 경우 DNS 서버는 예상대로 작동하지 않으며 오류 모니터는 decide_restart_or_failover() 함수를 호출하여 데이터 서비스를 로컬로 다시 시작할 것인지 아니면 데이터 서비스를 다른 노드로 재할당하도록 RGM에 요청할 것인지 결정합니다. probefail 변수가 0일 경우 검사에 성공했다는 메시지가 생성됩니다.

   if [ $probefail -ne 0 ]; then
         decide_restart_or_failover
   else
         logger -p ${SYSLOG_FACILITY}.err\
         -t [$SYSLOG_TAG]\
         "${ARGV0} Probe for resource HA-DNS successful"
   fi

decide_restart_or_failover() 함수는 시간 창(Retry_interval)과 실패 횟수(Retry_count)를 사용하여 DNS를 로컬로 재시작할 것인지 아니면 데이터 서비스를 다른 노드로 재할당하도록 RGM에 요청할 것인지 결정합니다. 이 함수는 다음 조건부 논리를 구현합니다. PROBE 프로그램 코드 목록decide_restart_or_failover() 코드 목록에 코드가 들어 있습니다.

시간 간격 동안에 재시작 횟수가 한도에 도달할 경우 이 함수는 데이터 서비스를 다른 노드로 재할당하도록 RGM에 요청합니다. 재시작 횟수가 한도 이내이거나 간격이 초과되어 카운트가 다시 시작된 경우 이 함수는 동일한 노드에서 DNS의 재시작을 시도합니다. 이 함수와 관련하여 다음 사항에 주의하십시오.