3.3.3 共有リソース接続失敗時のサーバの起動中止

共有リソースの接続失敗時やユーザコマンドの失敗時に,実行サーバの起動や系切り替えを中止できます。リソースごとに,サーバの起動を中止するかどうかを指定できます。

共有リソースの接続に失敗した場合は,残りの共有リソースに関する接続処理を続行したあと,実行サーバの起動を中止し,最終的にすべての共有リソースの切り離しをします。系切り替えを中止する場合は,待機サーバを強制停止します。

<この項の構成>
(1) 対象となる共有リソース
(2) 必要な環境設定

(1) 対象となる共有リソース

対象となる共有リソースは次のとおりです。

(2) 必要な環境設定

設定方法を次に示します。

(a) 共有ディスクの設定方法

サーバ対応の環境設定のvg_neckオペランドにuseを指定します。なお,HAモニタのサーバの共有リソース動的変更コマンド(mondeviceコマンド)によって,vg_neckオペランドの指定の変更もできます。

(b) ファイルシステムの設定方法

サーバ対応の環境設定のfs_neckオペランドにuseを指定します。

(c) LANの設定方法

サーバ対応の環境設定のip_neckオペランドにuseを指定します。

また,HAモニタでのLANの状態設定ファイルである,サーバ識別名.upファイルについて,LAN接続失敗時に,サーバ識別名.upファイルの実行結果(終了コード)が0以外になるように作成してください。

なお,サーバ識別名.downファイルの実行結果については,HAモニタの動作に影響を与えません。

実行サーバの起動や系切り替えを中止する場合の,サーバ識別名.upファイルの例を次に示します。これらのファイルのサンプルは,HAモニタサンプルファイル用ディレクトリの下に,server_on_neckIP.upのファイル名で格納されています。

#!/bin/sh

set -x

INTERFACE=ethX:Y                        # LAN interface name
IPADDR=aaa.bbb.ccc.ddd                  # alias IP address
NETMASK=eee.fff.ggg.hhh                 # netmask address
BROADCAST=iii.jjj.kkk.lll               # broadcast address

# The alias IP address is added to the LAN interface.
/sbin/ifconfig $INTERFACE inet $IPADDR netmask $NETMASK broadcast $BROADCAST
/bin/echo 0 > /proc/sys/net/ipv4/route/flush

# The ARP caches are updated.
IFNAME=`echo $INTERFACE | /bin/sed -e 's/:[0-9]*$//'`
/sbin/arping -U -c 2 -I $IFNAME $IPADDR

# Was the alias IP address registered to the system ?
RCD=`/sbin/ifconfig -a | /bin/grep ":$IPADDR "`
if [ "$RCD" = "" ]
then
   # When it is not registered, "1" is returned as the termination code.
   exit 1
fi

#  When it is registered, "0" is returned as the termination code.
exit 0

(d) ユーザコマンドの設定方法

サーバ対応の環境設定のuoc_neckオペランドにuseを指定することによって,ユーザコマンドの実行結果が0以外の場合に,サーバの起動を中止できます。

なお,HAモニタがエラーの確認をするのは,「サーバの起動開始」および「サーバの系切り替え開始」時に実行するユーザコマンドだけです。このほかのタイミングでのユーザコマンド実行結果は無視されます。

ユーザコマンドの詳細については,「6.16 ユーザコマンドの作成」を参照してください。