Sun Cluster データサービス開発ガイド (Solaris OS 版)

第 11 章 DSDL API 関数

この章では、 データサービス開発ライブラリ (Data Service Development Library: DSDL) の API 関数の一覧を示し、概要を述べます。個々の DSDL 関数の詳細については、そのマニュアルページ (3HA) を参照してください。DSDL は、C インタフェースのみを提供します。スクリプトベースの DSDL インタフェースはありません。

この章の内容は次のとおりです。

汎用関数

このカテゴリの関数は、さまざまな機能を提供します。

これらの関数では、次の操作を行うことができます。

初期化関数

次の関数は、呼び出しメソッドを初期化します。

取得関数

次の関数は、ゾーン、リソースタイプ、リソース、リソースグループ、および拡張プロパティーについての情報を取得します。

次の関数は、リソースによって使用される SUNW.HAStoragePlus リソースの状態情報を取得します。

scds_hasp_check(3HA) – リソースによって使用される SUNW.HAStoragePlus リソースの状態情報を取得します。当該リソース用に定義されている Resource_dependencies または Resource_dependencies_weak のシステム属性を使用することによって、当該リソースが依存しているすべての SUNW.HAStoragePlus リソース状態 (オンラインであるか、オンラインでないか) についての情報が得られます。詳細は、SUNW.HAStoragePlus(5)のマニュアルページを参照してください。

フェイルオーバー関数と再起動関数

次の関数は、リソースまたはリソースグループをフェイルオーバーまたは再起動します。

実行関数

次の関数は、タイムアウトを適用してコマンドを実行し、エラーコードをエラーメッセージに変換します。

プロパティー関数

このカテゴリの関数は、関連するリソースタイプ、リソース、およびリソースグループ (よく使用される一部の拡張プロパティーも含む) に固有のプロパティーにアクセスするのに便利な API を提供します。DSDL は、scds_initialize() を使用してコマンド行引数を解析します。scds_initialize(3HA) 関数は、関連するリソースタイプ、リソース、およびリソースグループのさまざまなプロパティをキャッシュに入れます。

次の関数を始めとするこれらの関数の説明は、scds_property_functions(3HA) のマニュアルページにあります。

ネットワークリソースアクセス関数

このカテゴリの関数は、リソースとリソースグループが使用するネットワークリソースの取得、出力、解放を行います。ここで説明する scds_get_ 関数は、RMAPI 関数を使用して Network_resources_usedPort_list などのプロパティーを照会しなくても、ネットワークリソースを取得できる便利な方法を提供します。scds_print_ name() 関数は、scds_get_name () 関数から戻されたデータ構造から値を出力します。scds_free_name () 関数は、scds_get_ name() 関数が割り当てたメモリーを解放します。

ホスト名関数

次の関数はホスト名を扱います。

ポートリスト関数

次の関数はポートリストを扱います。

ネットワークアドレス関数

次の関数はネットワークアドレスを扱います。

TCP 接続関数を使用する障害監視

このカテゴリの関数は、TCP ベースの監視を行います。通常、障害モニターはこれらの関数を使用して、サービスとの単純ソケット接続を確立し、サービスのデータを読み書きしてサービスの状態を確認したあと、サービスとの接続を切断します。

これらの関数には以下が含まれます。

PMF 関数

この関数は、Process Monitor Facility (PMF) 機能をカプセル化します。PMF 経由の監視におけるDSDL モデルは、pmfadm に対して暗黙のタグ値を作成および使用します。詳細は、pmfadm(1M) のマニュアルページを参照してください。

また、PMF 機能は、Restart_intervalRetry_count、および action_script 用の暗黙値も使用します (pmfadm- t-n、および -a オプション)。もっとも重要な点は、DSDL が PMF によって検出されたプロセス障害履歴を、障害モニターによって検出されたアプリケーション障害履歴に結びつけ、再起動またはフェイルオーバーのどちらを行うかを決定することです。

このカテゴリには次のような関数があります。

障害監視関数

このカテゴリの関数は、障害履歴を保持し、その履歴を Retry_count および Retry_interval プロパティーと関連付けて評価することにより、障害監視の事前定義モデルを提供します。

このカテゴリには次のような関数があります。

ユーティリティー関数

以下の関数は、メッセージやデバッグ用メッセージをシステムログに書き込むために使用します。