PROBE メソッドが、データサービスを含むリソースグループを新しいノードにフェイルオーバーしようとするとき、RGM は Monitor_check メソッドを呼び出します。
この節では、サンプルアプリケーションの Monitor_check メソッドの重要な部分だけを説明します。parse_args() 関数など、すべてのコールバックメソッドに共通な機能については説明しません。また、syslog() 関数の使用法についても説明しません。共通の機能については、「すべてのメソッドに共通な機能の提供」を参照してください。
Monitor_check メソッドの完全なリストについては、「Monitor_check メソッドのコードリスト」を参照してください。
Monitor_check メソッドは、並行して実行中のそのほかのメソッドと競合しない方法で実装する必要があります。
Monitor_check メソッドは Validate メソッドを呼び出し、新しいノード上で DNS 構成ディレクトリが利用可能かどうかを確認します。Confdir 拡張プロパティーが DNS 構成ディレクトリを指します。したがって、Monitor_check は Validate メソッドのパスと名前、および Confdir の値を取得します。Monitor_check は、次のように、この値を Validate に渡します。
# リソースタイプの RT_BASEDIR プロパティーから Validate メソッドの # 完全パスを取得する。 RT_BASEDIR=`scha_resource_get -O RT_basedir -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAMÈ # 当該リソースの Validate メソッド名を取得する。 VALIDATE_METHOD=`scha_resource_get -O Validate \ -R $RESOURCE_NAME -G $RESOURCEGROUP_NAMÈ # データサービスを起動するための Confdir プロパティーの値を取得する。 # 入力されたリソース名とリソースグループを使用し、リソースを追加 # するときに設定した Confdir の値を取得する。 config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \ -G $RESOURCEGROUP_NAME Confdir` # scha_resource_get は、Confdir 拡張プロパティーの値とともにタイプも戻す。 # awk を使用し、Confdir 拡張プロパティーの値だけを取得する。 CONFIG_DIR=`echo $config_info | awk `{print $2}'` # Validate メソッドを呼び出し、データサービスを新しいノードに # フェイルオーバーできるかどうかを確認する。 $RT_BASEDIR/$VALIDATE_METHOD -R $RESOURCE_NAME -G $RESOURCEGROUP_NAME \ -T $RESOURCETYPE_NAME -x Confdir=$CONFIG_DIR
ノードがデータサービスのホストとして最適であるかどうかをサンプルアプリケーションが確認する方法については、「Validate メソッドの仕組み」を参照してください。