심박동이 유실될 때 전자 우편 통지를 보내거나 조치 스크립트를 실행하도록 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_emailaddrs 및 Notification_actioncmd를 사용하여 심박동 유실 통지를 구성할 수 있습니다. geops 명령을 사용하여 이들 등록 정보를 설정합니다.
파트너쉽 작성 중에 기본 심박동에서 이들 등록 정보를 설정할 수 있습니다. 자세한 정보는 파트너쉽 작성 방법을 참조하십시오. 또한 심박동 등록 정보 수정 방법에 설명된 절차를 사용하여 이들 등록 정보를 수정할 수도 있습니다.
전자 우편에 의해 심박동 유실이 통지되기 원하는 경우 Notification_emailaddrs 등록 정보를 설정하십시오. 쉼표로 구분된 전자 우편 주소 목록을 지정할 수 있습니다. 전자우편 클라이언트를 클러스터 노드로 구성해야 전자우편 알림을 사용할 수 있습니다. 전자 우편 서비스 구성에 대한 자세한 정보는 Solaris System Administration Guide: Network Services를 참조하십시오.
심박동 유실에 대한 응답으로 명령이 실행되기 원하는 경우 Notification_actioncmd 등록 정보를 설정하십시오.
다음과 같이 기존 파트너쉽 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 |
사용자가 작성한 조치 명령에 대한 경로를 지정합니다.
로컬 클러스터의 이름을 지정합니다.
원격 파트너 클러스터의 이름을 지정합니다.
심박동 유실 이벤트가 발생했음을 의미하는 HBLOST=1을 지정합니다.
심박동 유실 이벤트 통지를 송신한 클러스터 노드의 이름을 지정합니다.
심박동 유실 이벤트의 시간을 1970년 1월 1일, 00:00:00 GMT 이후의 밀리초 수로 지정합니다.
이 스크립트를 사용하여 2차 클러스터에서 자동 작업 인계를 수행할 수 있습니다. 그러나 그런 자동화 조치는 위험합니다. 심박동 유실 통지가 1차 및 2차 클러스터 모두의 모든 심박동 연결의 완전한 유실에 의해 유발되는 경우 위와 같은 자동화 조치는 두 개의 1차 클러스터가 존재하는 상황을 만들 수 있습니다.
이 예는 통지 조치 쉘 스크립트에서 구문 분석된 명령줄에 제공되는 이벤트 정보를 보여줍니다.
#!/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 |