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 メソッドを参照してください。