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