Sun Cluster Geographic Edition のシステム管理

ハートビート喪失時に実行するアクションシェルスクリプトの作成

ローカルのクラスタがパートナークラスタ側のハートビート喪失を検出したときに実行される、アクションシェルスクリプトを作成できます。このスクリプトはルートアクセス権を使用して実行されるため、ファイルには、ルートユーザーの所有権と実行権を指定する必要があります。

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 (グリニッジ平均時) からの経過時間 (ミリ秒単位) で指定します


注意 – 注意 –

このスクリプトを使用して、二次クラスタへのテイクオーバーを自動化することができます。しかし、このような自動処理には危険もあります。主クラスタと二次クラスタの両方で、すべてのハートビート接続が完全に失われた結果としてハートビート喪失通知が送信された場合、二次クラスタへのテイクオーバーが自動的に行われるように設定していると、主クラスタが 2 つ存在するという状況が発生する可能性があります。



例 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