3.5.3 共有リソース接続失敗時のサーバの起動中止
共有リソースの接続失敗時やユーザコマンドの失敗時に,実行サーバの起動や系切り替えを中止できます。リソースごとに,サーバの起動を中止するかどうかを指定できます。
共有リソースの接続に失敗した場合は,残りの共有リソースに関する接続処理を続行したあと,実行サーバの起動を中止し,最終的にすべての共有リソースの切り離しをします。系切り替えを中止する場合は,待機サーバを強制停止します。
系切り替え時に起動リトライする機能を使用している場合,サーバの再起動を待ちます。
- 〈この項の構成〉
(1) 対象となる共有リソース
対象となる共有リソースは次のとおりです。
-
共有ディスク
-
ファイルシステム
-
LAN(サーバ識別名.upファイルによるIPアドレス設定)
-
ユーザコマンド
(2) 必要な環境設定
設定方法を次に示します。
(a) 共有ディスクの設定方法
サーバ対応の環境設定のvg_neckオペランドにuseを指定します。なお,HAモニタのサーバの共有リソース動的変更コマンド(mondeviceコマンド)によって,vg_neckオペランドの指定の変更もできます。
(b) ファイルシステムの設定方法
サーバ対応の環境設定のfs_neckオペランドにuseを指定します。
(c) LANの設定方法
サーバ対応の環境設定のip_neckオペランドにuseを指定します。
また,HAモニタでのLANの状態設定ファイルである,サーバ識別名.upファイルを設定する必要があります。HAモニタが提供しているサンプルファイルを使用してください。詳細については,「6.7.2 LANの状態設定ファイルの設定」を参照してください。
なお,サーバ識別名.downファイルの実行結果については,HAモニタの動作に影響を与えません。
実行サーバの起動や系切り替えを中止する場合の,サーバ識別名.upファイルの例を次に示します。これらのファイルのサンプルは,HAモニタサンプルファイル用ディレクトリの下に,server_on_neckIP.upのファイル名で格納されています。
#!/bin/sh
set -x
INTERFACE=enX
IPADDR=a.b.c.d
NETMASK=e.f.g.h
BROADCAST=i.j.k.l
PATH=$PATH:/usr/sbin:/usr/bin
export PATH
# The alias IP address is added to the LAN interface.
ifconfig $INTERFACE inet $IPADDR alias netmask $NETMASK broadcast $BROADCAST
# Was the alias IP address registered to the system ?
RCD=`netstat -in | 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
なお,ifconfigの前後で任意の処理をする場合,次に示す個所に記載してください。
任意の処理によってスクリプトのexitコードが変わらないように注意してください。
#!/bin/sh
set -x
INTERFACE=enX
IPADDR=a.b.c.d
NETMASK=e.f.g.h
BROADCAST=i.j.k.l
PATH=$PATH:/usr/sbin:/usr/bin:/bin
export PATH
ユーザ任意の処理を記載できます
# The alias IP address is added to the LAN interface.
ifconfig $INTERFACE inet $IPADDR alias netmask $NETMASK broadcast $BROADCAST
# Was the alias IP address registered to the system ?
RCD=`netstat -in | 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.12 ユーザコマンドの作成」を参照してください。