この節では、DSDL 関数の各カテゴリを簡単に説明します。DSDL 関数を定義するリファレンスについては、個々のマニュアルページ (3HA) を参照してください。
このカテゴリの関数は、さまざまな機能を提供します。これらの関数は、次のような処理を行います。
DSDL 環境を初期化します。
リソース、リソースタイプ、およびリソースグループの名前、ならびに、拡張プロパティの値を取得します。
リソースグループをフェイルオーバーおよび再起動し、リソースを再起動します。
エラー文字列をエラーメッセージに変換します。
タイムアウトを適用してコマンドを実行します。
scds_initialize(3HA) - リソースを割り当て、DSDL 環境を初期化します。
scds_close(3HA) - scds_initialize(3HA) が割り当てたリソースを解放します。
次の関数は、リソース、リソースタイプ、リソースグループ、および拡張プロパティについての情報を取得します。
scds_get_resource_name(3HA) - 呼び出しプログラム用のリソース名を取得します。
scds_get_resource_type_name(3HA) - 呼び出しプログラム用のリソースタイプ名を取得します。
scds_get_resource_group_name(3HA) - 呼び出しプログラム用のリソースグループ名を取得します。
scds_get_ext_property(3HA) - 指定した拡張プロパティの値を取得します。
scds_free_ext_property(3HA) - scds_get_ext_property(3HA) が割り当てたメモリーを解放します。
次の関数は、リソースまたはリソースグループをフェイルオーバーまたは再起動します。
scds_failover_rg(3HA) - リソースグループをフェイルオーバーします。
scds_restart_rg(3HA) - リソースグループを再起動します。
scds_restart_resource(3HA) - リソースを再起動します。
次の 2 つの関数は、タイムアウトを適用してコマンドを実行し、エラーコードをエラーメッセージに変換します。
scds_timerun(3HA) - タイムアウトを適用してコマンドを実行します。
scds_error_string(3HA) - エラーコードをエラーメッセージに変換します。
このカテゴリの関数は、関連するリソース、リソースグループ、およびリソースタイプ (よく使用される一部の拡張プロパティも含む) に固有なプロパティにアクセスするのに有用な API を提供します。DSDL は、scds_initialize(3HA) を使用して、コマンド行引数を解析します。scds_initialize(3HA) 関数は、関連するリソース、リソースグループ、およびリソースタイプの様々なプロパティをキャッシュに入れます。
これらすべての関数については、scds_property_functions(3HA) のマニュアルページを参照してください。このカテゴリには、次の関数が含まれます。
scds_get_rs_property_name
scds_get_rg_property_name
scds_get_rt_property_name
scds_get_ext_property_name
このカテゴリの関数は、リソースおよびリソースグループが使用するネットワークリソースを、取得、出力、および解放します。ここで説明する scds_get_* 関数は、RMAPI 関数を使用して Network_resources_used や Port_list などのプロパティを照会しなくても、ネットワークリソースを取得できる便利な方法を提供します。scds_print_* 関数は、scds_get_* 関数から戻されたデータ構造から値を出力します。scds_free_* 関数は scds_get_* 関数が割り当てたメモリーを解放します。
scds_get_rg_hostnames(3HA) - ネットワークグループ内のネットワークリソースが使用するホスト名のリストを取得します。
scds_get_rs_hostnames(3HA) - リソースが使用するホスト名のリストを取得します。
scds_print_net_list(3HA) - scds_get_rg_hostnames(3HA) または scds_get_rs_hostnames(3HA) が戻したホスト名のリストの内容を出力します。
scds_free_net_list(3HA) - scds_get_rg_hostnames(3HA) または scds_get_rs_hostnames(3HA) が割り当てたメモリーを解放します。
次の関数は、ポートリストに関連した処理を行います。
scds_get_port_list(3HA) - リソースが使用するポートとプロトコルのペアのリストを取得します。
scds_print_port_list(3HA) - scds_get_port_list(3HA) が戻したポートとプロトコルのペアのリストの内容を出力します。
scds_free_port_list(3HA) - scds_get_port_list(3HA) が割り当てたメモリーを解放します。
scds_get_netaddr_list(3HA) - リソースが使用するネットワークアドレスのリストを取得します。
scds_print_netaddr_list(3HA) - scds_get_netaddr_list(3HA) が戻したネットワークアドレスのリストの内容を出力します。
scds_free_netaddr_list(3HA) - scds_get_netaddr_list(3HA) が割り当てたメモリーを解放します。
このカテゴリの関数は、TCP ベースの監視を行います。通常、障害モニターはこれらの関数を使用して、サービスとの単純ソケット接続を確立し、サービスのデータを読み書きしてサービスの状態を確認した後、サービスとの接続を切断します。
scds_tcp_connect(3HA) - プロセスとの TCP 接続を確立します。
scds_tcp_read(3HA) - TCP 接続を使用して、監視対象のプロセスからデータを読み取ります。
scds_tcp_write(3HA) - TCP 接続を使用して、監視対象のプロセスにデータを書き込みます。
scds_simple_probe(3HA) - プロセスとの TCP 接続を確立および終了することによって、プロセスを検証します。
scds_tcp_disconnect(3HA) - 監視対象のプロセスとの接続を終了します。
このカテゴリの関数は、PMF 機能をカプセル化します。PMF 経由の監視における DSDL モデルは、pmfadm(1M) に対して、暗黙のタグ値を作成および使用します。また、PMF 機能は、Restart_interval、Retry_count、および action_script 用の暗黙値も使用します (pmfadm(1M) の -t、-n、および -a オプション)。最も重要な点は、DSDL が、PMF によって検出されたプロセス停止履歴を、障害モニターによって検出されたアプリケーション障害履歴に結びつけ、再起動またはフェイルオーバーのどちらを行うかを決定することです。
scds_pmf_get_status(3HA) - 指定されたインスタンスが PMF の制御下で監視されているかどうかを判定します。
scds_pmf_restart_fm(3HA) - PMF を使用して障害モニターを再起動します。
scds_pmf_signal(3HA) - 指定されたシグナルを PMF の制御下で動作しているプロセスツリーに送信します。
scds_pmf_start(3HA) - 指定されたプログラム (障害モニターを含む) を PMF の制御下で実行します。
scds_pmf_stop(3HA) - PMF の制御下で動作しているプロセスを終了します。
scds_stop_monitoring(3HA) - PMF の制御下で動作しているプロセスの監視を停止します。
このカテゴリの関数は、障害履歴を保持し、その履歴を Retry_count および Retry_interval プロパティと関連付けて評価することにより、障害監視の事前定義モデルを提供します。
このカテゴリには、次の関数が含まれます。
scds_fm_sleep(3HA) - 障害モニター制御ソケット上でメッセージを待ちます。
scds_fm_action(3HA) - 検証終了後にアクションを実行します。
scds_fm_print_probes(3HA) - 検証状態情報をシステムログに書き込みます。
このカテゴリの関数は、メッセージやデバッグ用メッセージをシステムログに書き込みます。このカテゴリには、次の 2 つの関数が含まれます。
scds_syslog(3HA) - メッセージをシステムログに書き込みます。
scds_syslog_debug(3HA) - デバッグ用メッセージをシステムログに書き込みます。