Sun Cluster Geographic Edition 시스템 관리 설명서

심박동 유실 통지 구성

심박동이 유실될 때 전자 우편 통지를 보내거나 조치 스크립트를 실행하도록 Sun Cluster Geographic Edition 소프트웨어를 구성할 수 있습니다. 선택적 Notification_emailaddrs Notification_actioncmd 등록 정보를 사용하여 심박동 유실 통지를 구성합니다.

심박동 유실 통지는 사용자가 심박동의 Query_interval 등록 정보로 구성하는 간격 후에도 심박동이 계속 실패하는 경우에 발생합니다. 심박동 모니터는 Query_interval 기간마다 논리 호스트의 응답자에게 심박동 요청을 보냅니다. Query_interval 안에 응답이 수신되지 않는 경우 내부 계수가 올라갑니다. 계수가 heartbeat.retries 등록 정보에 지정된 수에 접근하면 심박동이 실패했다고 판단합니다.

예를 들어, 120초의 기본 Query_interval 및 3초의 기본 heartbeat.retries를 사용할 수 있습니다. 파트너 클러스터로부터의 최종 심박동 응답 후에 심박동 유실 이벤트가 최대 10분 동안 전송됩니다.


120sec (delay since last query) + 3*120sec (wait for normal response) 
+ 120 sec (wait for retry response)

심박동 유실 시스템 이벤트의 생성과 심박동 유실 통지의 트리거링 사이에 추가 지연이 발생할 수 있습니다. 전자 우편 통지를 구성하는 경우 전자 우편의 전달에서 추가 지연을 경험할 수 있습니다.


주 –

심박동 유실 이벤트가 반드시 원격 클러스터가 붕괴했음을 표시하지는 않습니다.


다음 절은 심박동 유실 통지 등록 정보 구성 방법 및 Sun Cluster Geographic Edition 소프트웨어가 심박동 유실 이벤트 후에 실행하는 사용자 정의 조치 스크립트 작성 방법에 대해 설명합니다.

심박동 유실 통지 등록 정보 구성

두 파트너쉽 등록 정보인 Notification_emailaddrsNotification_actioncmd를 사용하여 심박동 유실 통지를 구성할 수 있습니다. geops 명령을 사용하여 이들 등록 정보를 설정합니다.

파트너쉽 작성 중에 기본 심박동에서 이들 등록 정보를 설정할 수 있습니다. 자세한 정보는 파트너쉽 작성 방법을 참조하십시오. 또한 심박동 등록 정보 수정 방법에 설명된 절차를 사용하여 이들 등록 정보를 수정할 수도 있습니다.

전자 우편에 의해 심박동 유실이 통지되기 원하는 경우 Notification_emailaddrs 등록 정보를 설정하십시오. 쉼표로 구분된 전자 우편 주소 목록을 지정할 수 있습니다. 전자우편 클라이언트를 클러스터 노드로 구성해야 전자우편 알림을 사용할 수 있습니다. 전자 우편 서비스 구성에 대한 자세한 정보는 Solaris System Administration Guide: Network Services를 참조하십시오.

심박동 유실에 대한 응답으로 명령이 실행되기 원하는 경우 Notification_actioncmd 등록 정보를 설정하십시오.


예 12–10 기존 파트너쉽에 대한 심박동 유실 통지 구성

다음과 같이 기존 파트너쉽 paris-newyork-ps에 대한 통지 전자 우편 주소와 사용자 정의 통지 스크립트를 지정합니다.


phys-paris-1# geops set-prop \
-p Notification_emailaddrs=ops@paris.com,ops@newyork.com \
-p Notification_actioncmd=/opt/hb_action.sh paris-newyork-ps 

심박동 유실에 대한 조치 쉘 스크립트 작성

로컬 클러스터가 파트너 클러스터와의 심박동 유실을 검출할 때 실행되는 조치 쉘 스크립트를 작성할 수 있습니다. 이 스크립트는 루트 권한으로 실행되므로, 파일이 루트 권한과 실행 권한을 가져야 합니다.

Notification_actioncmd 등록 정보를 구성한 경우 조치 명령은 다음 명령줄에서 이벤트에 대한 정보를 제공하는 인수와 함께 실행됩니다.


# custom-action-command-path -c local-cluster-name -r remote-cluster-name -e 1 \
-n node-name -t time
custom-action-command-path

사용자가 작성한 조치 명령에 대한 경로를 지정합니다.

-c local-cluster-name

로컬 클러스터의 이름을 지정합니다.

-p remote-cluster-name

원격 파트너 클러스터의 이름을 지정합니다.

-e1

심박동 유실 이벤트가 발생했음을 의미하는 HBLOST=1을 지정합니다.

-nnode-name

심박동 유실 이벤트 통지를 송신한 클러스터 노드의 이름을 지정합니다.

-t timestamp

심박동 유실 이벤트의 시간을 1970년 1월 1일, 00:00:00 GMT 이후의 밀리초 수로 지정합니다.


주의 – 주의 –

이 스크립트를 사용하여 2차 클러스터에서 자동 작업 인계를 수행할 수 있습니다. 그러나 그런 자동화 조치는 위험합니다. 심박동 유실 통지가 1차 및 2차 클러스터 모두의 모든 심박동 연결의 완전한 유실에 의해 유발되는 경우 위와 같은 자동화 조치는 두 개의 1차 클러스터가 존재하는 상황을 만들 수 있습니다.



예 12–11 통지 조치가 Sun Cluster Geographic Edition 소프트웨어에 의해 제공되는 명령줄 정보를 구문 분석하는 방법

이 예는 통지 조치 쉘 스크립트에서 구문 분석된 명령줄에 제공되는 이벤트 정보를 보여줍니다.


#!/bin/sh

set -- `getopt abo: $*`
if [ $? != 0]
then
      echo $USAGE
      exit 2

fi
for i in $*
do

      case $i in
      -p)      PARTNER_CLUSTER=$1; shift;;
      -e)      HB_EVENT=$2; shift;;
      -c)      LOCAL_CLUSTER=$3; shift;;
      -n)      EVENT_NODE=$4; shift;;
      esac
done