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