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