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

第 9 章 SunPlex Agent Builder

この章では、Resource Group Manager (RGM) の管理下で動作するリソースタイプ (データサービス) の作成を自動化するツール、SunPlex Agent Builder と Agent Builder 用の Cluster Agent モジュール について説明します。リソースタイプとは、アプリケーションが RGM の制御下にあるクラスタ環境で動作できるようにするアプリケーションのラッパーのことです。

次にこの章の内容を示します。

Agent Builder の概要

Agent Builder は、アプリケーションや作成したいリソースタイプの種類に関する情報を入力するための画面ベースのインタフェースを提供します。


注 –

グラフィカルユーザーインタフェース版の Agent Builder を使用できない場合は、コマンド行から Agent Builder を使用できます。詳細は、「コマンド行バージョンの Agent Builder を使用する方法」を参照してください。


Agent Builder は、入力された情報に基づいて、次のソフトウェアを生成します。

Agent Builder は、クライアントとの通信にネットワークを使用するネットワーク対応アプリケーションと、非ネットワーク対応のスタンドアロンアプリケーションをサポートします。Agent Builder を使って、プロセス監視機能 (PMF) によって個別に監視および再起動される複数の独立したプロセスツリーを持つアプリケーション用のリソースタイプを生成できます。「複数の独立したプロセスツリーを持つリソースタイプの作成」を参照してください。

Agent Builder の使用にあたって

以下の各節では、Agent Builder を使用する前に知っておく必要がある事項について説明します。

複数の独立したプロセスツリーを持つリソースタイプの作成

Agent Builder は、複数の独立したプロセスツリーを持つアプリケーション用のリソースタイプを作成できます。プロセスツリーが独立しているということは、PMF が各プロセスツリーを個別に監視および起動することを意味しています。PMF は独自のタグを使用して各プロセスツリーを起動します。


注 –

Agent Builder を使って、複数の独立したプロセスツリーをもつリソースタイプを作成できますが、そのためには、生成されるソースコードとして C か GDS を指定する必要があります。Agent Builder を使って、このようなリソースタイプを Korn シェル用に作成することはできません。Korn シェル用にこれらのリソースタイプを作成するには、手動でそれらのコードを作成する必要があります。


複数の独立したプロセスツリーを持つベースアプリケーションの場合、1 つのコマンド行だけでアプリケーションを起動することはできません。代わりに、アプリケーションの各プロセスツリーを起動するコマンドへの完全パスを行ごとに記述したテキストファイルを作成します。このファイルには空白行を含めることはできません。そして、このファイルへのパスを構成画面の「起動コマンド」テキストフィールドに指定します。

このファイルに実行権が設定されていないことを確認する必要があります。これにより、Agent Builder は、このファイルが複数のプロセスツリーを起動するためのものであり、単に複数のコマンドが記述されている実行可能スクリプトではないことを認識できます。このテキストファイルに実行権を与えた場合、リソースはクラスタ上で問題なく動作するように見えますが、すべてのコマンドが 1 つの PMF タグ下で起動されるため、PMF は各プロセスツリーを個別に監視および再起動することはできません。

Agent Builder の使用

この節では、Agent Builder の使用方法と、Agent Builder を使用する前に実行する作業について説明します。リソースタイプコードを生成したあとで Agent Builder を活用する方法についても説明します。

この章では、以下の内容について説明します。

アプリケーションの分析

Agent Builder を使用する前に、アプリケーションが高可用性またはスケーラビリティを備えるための要件を満たしているかどうかを判定します。この分析はアプリケーションの実行時特性だけに基づくものなので、Agent Builder はこの分析を行うことができません。詳細については、「アプリケーションの適合性の分析」を参照してください。

Agent Builder は必ずしもアプリケーション用の完全なリソースタイプを作成できるわけではありませんが、ほとんどの場合、少なくとも部分的なソリューションを提供します。たとえば、より複雑なアプリケーションでは、Agent Builder がデフォルトで生成しないコード (プロパティの妥当性検査を追加するコードや Agent Builder がエクスポーズしないパラメータを調節するコード) を追加しなければならない場合もあります。このような場合、生成されたコードまたは RTR ファイルを修正する必要があります。Agent Builder は、このような柔軟性を提供するように設計されています。

Agent Builder は、ソースファイル内において独自のリソースタイプコードを追加できる場所にコメント文を埋め込みます。ソースコードを修正した後、Agent Builder が生成した Makefile を使用すれば、ソースコードを再コンパイルし、リソースタイプパッケージを生成し直すことができます。

Agent Builder が生成したリソースタイプコードを使用せずに、リソースタイプコードを完全に作成し直す場合でも、Agent Builder が生成した Makefile やディレクトリ構造を使用すれば、独自のリソースタイプ用の Solaris パッケージを作成できます。

Agent Builder のインストールと構成

Agent Builder を個別にインストールする必要はありません。Agent Builder は、Sun Cluster ソフトウェアの標準インストールの際にデフォルトでインストールされる SUNWscdev パッケージに含まれています。詳細は『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。

Agent Builder を使用する前に、次のことを確認してください。


注 –

Agent Builder では、標準の cc コンパイラ以外のコンパイラも使用できます。このためには、$PATH において、cc から別のコンパイラ (gcc など) にシンボリックリンクを作成します。もう 1 つの方法は、Makefile におけるコンパイラ指定を変更して (現在は、CC=cc)、別のコンパイラへの完全パスを指定します。たとえば、エージェント が生成する Makefile において、CC=cc CC=pathname/gcc に変更します。この場合、エージェントを直接実行することはできません。代わりに、makemake pkg コマンドを使用して、データサービスコードとパッケージを生成する必要があります。


Agent Builder 画面

Agent Builder は 2 つのステップ (画面) からなるウィザードです。Agent Builder では、次の 2 つの画面を使用して、新しいリソースタイプを作成します。

  1. 作成この画面では、作成するリソースタイプの基本的な情報 (その名前や生成するファイルの作業ディレクトリなど) を指定します。 作業ディレクトリは、リソースタイプテンプレートの作成や構成に使用する場所です。作成するリソースの種類 (スケーラブルまたはフェイルオーバー) 、ベースアプリケーションがネットワーク対応かどうか (つまり、ネットワークを使用してクライアントと通信するかどうか)、生成するコードのタイプ (C、Korn シェル (ksh) または GDS) も指定できます。GDS の詳細は、第 10 章「汎用データサービス」を参照してください。この画面の情報はすべて必須です。入力を終えたら「作成」を選択してその出力を生成します。この後「構成」画面を表示できます。

  2. 構成この画面には完全なコマンド行を指定します。通常は、任意の UNIX® シェルに渡すことによって基本アプリケーションを起動できるものを指定します。オプションとして、アプリケーションを停止するコマンドや検証するコマンドも提供できます。これらのコマンドを指定しないと、生成される出力は、信号を送信してアプリケーションを停止し、デフォルトの検証メカニズムを提供します。検証コマンドの説明は、「構成画面の使用」を参照してください。また、この画面では、上記の各コマンドのタイムアウト値も変更できます。

Agent Builder の起動


注 –

グラフィカルユーザーインタフェース版の Agent Builder を使用できない場合は、コマンド行から Agent Builder を使用できます。詳細は、「コマンド行バージョンの Agent Builder を使用する方法」を参照してください。



注 –

既存のリソースタイプの作業ディレクトリから起動する場合、Agent Builder は、作成および構成画面を既存のリソースタイプの値に初期化します。


Agent Builder は次のコマンドで起動します。


% /usr/cluster/bin/scdsbuilder

「作成」画面が表示されます。

図 9–1 作成画面

「SunPlex Agent Builder」ダイアログ - Agent Builder メイン画面

Agent Builder のナビゲーション

「作成」や「構成」画面の情報は、次のようにして入力します。

各画面の下にあるオプションを使用すると、作業を完了したり、次の画面に進んだり、以前の画面に戻ったり、Agent Builder を終了したりできます。Agent Builder は、状況に応じてこれらのオプションを強調表示したり、グレイ表示したりします。

たとえば、「作成」画面において、必要なフィールドに入力し、希望のオプションにチェックマークを付けてから、画面の下にある「作成」ボタンをクリックします。この時点で、以前の画面は存在しないので、「戻る」ボタンはグレー表示されます。また、この作業が完成するまで次の手順には進めないので、「進む」ボタンもグレー表示されます。

「作成」、「戻る」、「進む」、「キャンセル」コマンドを示す画面下部のパネル

Agent Builder は、画面の下にある出力ログ領域に進捗メッセージを表示します。作業が終了したとき、Agent Builder は成功メッセージまたは警告メッセージを出力ログに表示します。「進む」が強調表示されます。あるいは、これが最後の画面の場合は、「キャンセル」だけが強調表示されます。

「キャンセル」 ボタンを押すと、いつでも Agent Builder を終了できます。

検索

Agent Builder のフィールドの中には、情報を直接入力することも、「ブラウズ」ボタンをクリックしてディレクトリ構造をブラウズし、ファイルまたはディレクトリを選択することも可能なフィールドがあります。

「ブラウズ」コマンド

「ブラウズ」をクリックすると、このような画面が表示されます。

「ブラウズ」画面 - ファイルを一覧表示した状態

フォルダをダブルクリックすると、フォルダが開きます。カーソルをファイルに移動すると、ファイルの名前が「ファイル名」ボックスに表示されます。必要なファイルを見つけ、そこにカーソルを移動したら、「選択」をクリックします。


注 –

ディレクトリをブラウズする場合は、必要なディレクトリにカーソルを移動し、「開く」をクリックします。サブディレクトリがない場合、Agent Builder はブラウズウィンドウを閉じて、カーソルで指示されたディレクトリ名を適切なフィールドに表示します。サブディレクトリがある場合、「閉じる」をクリックすると、ブラウズウィンドウが閉じて、以前の画面に戻ります。Agent Builder は、カーソルで指示されたディレクトリ名を適切なフィールドに表示します。


画面の右上隅にあるアイコンは、次のような処理を行います。

上向き矢印アイコン

 

ディレクトリツリーの 1 つ上のレベルに移動します。 

家のイラスト付きアイコン

 

ホームフォルダに戻ります。 

新しいフォルダのアイコン

 

現在選択しているフォルダの下に新しいフォルダを作成します。 

表示方式を変更するアイコン

 

ビューを切り替えます。将来のために予約されています。 

メニュー

Agent Builder には、「ファイル」と「編集」プルダウンメニューがあります。

「ファイル」メニュー

「ファイル」メニューには、次の 2 つのオプションがあります。

「編集」メニュー

「編集」メニューには、次のオプションがあります。

作成画面の使用

作成画面

リソースタイプを作成する最初の段階では、Agent Builder を起動したときに表示される作成画面に必要な情報を入力します。すると、次の画面が表示されます。

図 9–2 作成画面

情報を入力した後の作成画面を示すダイアログボックス

作成画面には、次のフィールド、ラジオボタン、およびチェックボックスがあります。


注 –

cc コンパイラが $PATH に含まれていないと、Agent Builder は「C」ラジオボタンをグレイ表示し、「ksh」ラジオボタンを選択可能にします。異なるコンパイラを指定する方法については、「Agent Builder のインストールと構成」の最後にある注を参照してください。


必要な情報を入力した後、「Create」をクリックします。画面の一番下にある「出力ログ」ウィンドウには、Agent Builder が実行するアクションが表示されます。「編集」メニューの「Save Output Log」を使用すれば、出力ログ内の情報を保存できます。

これが終わると、Agent Builder は、成功メッセージか警告メッセージを表示します。


注 –

完全なリソースタイプを生成するには、2 段階の作業が必要ですが、最初の段階 (つまり、作成) が完了した後に Agent Builder を終了しても、入力した情報や Agent Builder で作成した内容が失われることはありません。詳細は、「完成した作業内容の再利用」を参照してください。


構成画面の使用

構成画面

Agent Builder がリソースタイプの作成を終了した後に、「作成」画面の「次へ」を選択すると、以下の図に示す「構成」画面が表示されます。リソースタイプの作成が完了していなければ、構成画面にはアクセスできません。

図 9–3 構成画面

構成画面

構成画面には、次のフィールドがあります。

Agent Builder の Korn シェルベース $hostnames 変数の使用

多くのアプリケーション (特にネットワーク対応のアプリケーション) では、アプリケーションが待機するホスト名や、顧客が求めるサービスをコマンド行からアプリケーションに渡す必要があります。多くの場合、ホスト名は、構成画面において、ターゲットリソースタイプの起動、停止、および検証コマンドに指定する必要があるパラメータです。しかし、アプリケーションが待機するホスト名はクラスタ固有のものです。つまり、ホスト名はリソースがクラスタで実行されるときに決められ、Agent Builder がリソースタイプコードを生成する時点に決めることはできません。

この問題を解決するために、Agent Builder は $hostnames 変数を提供します。この変数を使用すると、起動、停止、および検証コマンドのコマンド行にホスト名を指定できます。


注 –

$hostnames 変数は、Korn シェルベースのサービスでのみサポートされます。つまり、C ベースや GDS ベースのサービスではサポートされません。


$hostnames 変数を指定する方法は、実際のホスト名を指定する方法と同じです。たとえば、次のようになります。


% /opt/network_aware/echo_server -p port_no -l $hostnames

ターゲットリソースタイプのリソースがあるクラスタ上で動作するとき、(リソースの Network_resources_used リソースプロパティで) そのリソースに構成されている LogicalHostname または SharedAddress ホスト名が $hostnames 変数の値に置き換えられます。

Network_resources_usedプロパティに複数のホスト名を構成している場合、すべてのホスト名をコンマで区切って $hostnames 変数に指定します。

プロパティ変数

プロパティ変数を使用すれば、 Sun Cluster のリソース、リソースタイプ、リソースグループの一部のプロパティの値を RGM フレームワークから取り出すことができます。Agent Builder は、起動、検証、停止のスクリプトをスキャンし、プロパティ変数があれば、スクリプトを起動する前にこれらの変数を対応する値で置き換えます。


注 –

プロパティ変数は、Korn シェルベースのサービスではサポートされません。


プロパティ変数のリスト

以下のリストは、スクリプトで使用できるプロパティ変数を示しています。Sun Cluster のリソース、リソースタイプ、リソースグループのプロパティについては、付録 A 「標準プロパティ」を参照してください。

以下は、リソースプロパティ変数のリストです。

以下は、リソースタイププロパティ変数のリストです。

以下は、リソースグループプロパティ変数のリストです。

プロパティ変数の構文

プロパティ変数を指定する場合は、プロパティ名の前にパーセント符号 (%) を指定します。次はその例です。


# /opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

上の例の場合、Agent Builder はこれらのプロパティ変数を解釈し、たとえば、次の値を使って echo_server スクリプトを起動します。


# /opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

Agent Builder によるプロパティ変数の置き換え

Agent Builder では、プロパティ変数のタイプは次のように解釈されます。

完成した作業内容の再利用

Agent Builder を使用すると、次に示すように、完成した作業内容を再利用できます。

既存のリソースタイプからクローンを作成する方法

Agent Builder で作成した既存のリソースタイプのクローンを作成するには、次の手順に従います。

  1. 次のどちらかの方法で既存のリソースタイプを Agent Builder にロードします。

    • Agent Builder で作成された既存のリソースタイプの作業ディレクトリ (rtconfig ファイルが含まれている) から Agent Builder を起動します。Agent Builder がこのリソースタイプの値を「作成」や「構成」画面にロードします。

    • 「ファイル」プルダウンメニューの「Load Resource Type」オプションを使用します。

  2. 作成画面で作業ディレクトリを変更します。

    「ブラウズ」を使ってディレクトリを選択する必要があります。新しいディレクトリ名を入力するだけでは不十分です。ディレクトリを選択したあと、Agent Builder は「作成」ボタンを有効に戻します。

  3. 必要な変更を行います。

    この手順は、リソースタイプ用に生成されたコードのタイプを変更するときに使用できます。たとえば、最初は Korn シェルバージョンのリソースタイプを作成していたが、後で C バージョンのリソースタイプが必要になった場合などです。この場合、既存の Korn シェルバージョンのリソースタイプをロードし、出力用の言語を C に変更してから Agent Builder で C バージョンのリソースタイプを構築します。

  4. リソースタイプのクローンを作成します。

    「作成」をクリックして、リソースタイプを作成します。「次へ」をクリックして「構成」画面を表示します。「構成」をクリックしてリソースタイプを構成し、次に「キャンセル」をクリックして終了します。

生成されたソースコードの編集

リソースタイプを作成するプロセスを簡単にするために、Agent Builder は入力数を制限しています。必然的に、生成されるリソースタイプの範囲も制限されます。したがって、より複雑な機能、たとえば、追加のプロパティの妥当性を検査したり、Agent Builder がエクスポーズしないパラメータを調整したりする機能を追加するには、生成されたソースコードまたは RTR ファイルを修正する必要があります。

ソースファイルは install_directory/rt_name/src ディレクトリに置かれます。Agent Builder は、ソースコード内においてコードを追加できる場所にコメント文を埋め込みます。このようなコメントの形式は次のとおりです (C コードの場合)。


/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */


注 –

コメントは Korn シェルソースコードのものと同じですが、Korn シェルソースコードの場合は、ポンド記号 (#) がコメントの始めを表します。


たとえば、rt_name.h は、異なるプログラムが使用するすべてのユーティリティールーチンを宣言します。宣言リストの最後はコメント文になっており、ここでは自分のコードに追加したいルーチンを宣言できます。

install_directory/rt_name/src ディレクトリには、適切なターゲットとともに、makefile も生成されます。make コマンドを使用すると、ソースコードを再コンパイルできます。また、make pkg コマンドを使用すると、リソースタイプパッケージを生成し直すことができます。

RTR ファイルは install_directory/rt_name/etc ディレクトリに置かれます。RTR ファイルは、普通のテキストエディタで編集できます。RTR ファイルについては 「リソースとリソースタイププロパティの設定」を、プロパティについては 付録 A 「標準プロパティ」をそれぞれ参照してください。

コマンド行バージョンの Agent Builder を使用する方法

コマンド行バージョンの Agent Builder でも、グラフィカルユーザーインタフェースと同様の基本手順を使用します。ただし、グラフィカルユーザーインタフェースでは情報を入力しましたが、コマンド行インタフェースでは scdscreatescdsconfig コマンドにパラメータを渡します。詳細は、scdscreate(1HA)scdsconfig(scdsconfig) のマニュアルページを参照してください。

コマンド行バージョンの Agent Builder の使用方法は次のとおりです。

  1. アプリケーションに高可用性またはスケーラビリティを持たせるため、scdscreate を使って Sun Cluster リソースタイプテンプレートを作成します。

  2. scdsconfig を使って、scdscreate で作成したリソースタイプテンプレートを構成します。

    プロパティ変数を指定できます。プロパティ変数については、「プロパティ変数」を参照してください。

  3. 作業ディレクトリの pkg サブディレクトリに移動します。

  4. pkgadd コマンドを実行して、scdscreate で作成したパッケージをインストールします。

  5. 必要に応じて、生成されたソースコードを編集します。

  6. 起動スクリプトを実行します。

ディレクトリ構造

Agent Builder は、ターゲットリソースタイプ用に生成するすべてのファイルを格納するためのディレクトリ構造を作成します。「作成」画面で作業ディレクトリを指定します。開発するリソースタイプごとに異なるインストールディレクトリを指定する必要があります。Agent Builder は、作業ディレクトリの下に、「作成」画面で入力されたベンダー名とリソースタイプ名を連結した名前を持つサブディレクトリを作成します。たとえば、SUNW というベンダー名を指定し、ftp というリソースタイプを作成した場合、Agent Builder は SUNWftp というディレクトリを作業ディレクトリの下に作成します。

Agent Builder は、このサブディレクトリの下に、次のようなディレクトリを作成し、各ディレクトリにファイルを配置します。

ディレクトリ名 

目次 

bin

C 出力の場合、ソースファイルからコンパイルしたバイナリファイルが格納されます。Korn シェル出力の場合、src ディレクトリと同じファイルが格納されます。

etc

RTR ファイルが格納されます。Agent Builder は、ベンダー名とアプリケーション名をピリオド区切り (.) で結合して RTR ファイル名を作成します。たとえば、ベンダー名が SUNW で、リソースタイプ名が ftp である場合、RTR ファイル名は SUNW.ftp となります。

man

startstop および remove ユーティリティースクリプト用にカスタマイズされたマニュアルページが格納されます。たとえば、startftp(1M)、stopftp(1M)、および removeftp(1M) が格納されます。

 

これらのマニュアルページを見る場合は、man -M オプションでこのパスを指定します。次に例を示します。


# man -M install_directory/SUNWftp/man removeftp

pkg

最終的なパッケージが格納されます。 

src

Agent Builder によって生成されたソースファイルが格納されます。 

util

Agent Builder によって生成された startstop、および remove ユーティリティースクリプトが格納されます。「ユーティリティースクリプトとマニュアルページ」を参照してください。Agent Builder は、これらのスクリプト名にアプリケーション名を追加します。たとえば、startftp stopftp、および removeftp のようになります。

Agent Builder の出力

この節では、Agent Builder の出力について説明します。

ソースファイルとバイナリファイル

リソースグループと、最終的にはクラスタ上のリソースを管理する Resource Group Manager (RGM) は、コールバックモデル上で動作します。つまり、特定のイベント (ノードの障害など) が発生したとき、RGM は、当該ノード上で動作しているリソースごとにリソースタイプのメソッドを呼び出します。たとえば、RGM は Stop メソッドを呼び出して、当該ノード上で動作しているリソースを停止します。次に、Stop メソッドを呼び出して、異なるノード上でリソースを起動します。このモデルについては、「RGM モデル」「コールバックメソッド」のほかに、rt_callbacks(1HA) のマニュアルページを参照してください。

このモデルをサポートするために Agent Builder は、コールバックメソッドの役目をする 8 つの実行可能 C プログラムまたは Korn シェルスクリプトを install_directory/ rt_name/bin ディレクトリに生成します。


注 –

厳密には、障害モニターを実装する rt_name_probe プログラムはコールバックプログラムではありません。RGM は rt_name_probe を直接呼び出すのではなく、rt_name_monitor_start および rt_name_monitor_stop を呼び出します。そして、これらのメソッドが rt_name_probe を呼び出すことによって、障害モニターが起動および停止されます。


Agent Builder が生成する 8 つのメソッドは次のとおりです。

各メソッドに固有な情報については、rt_callbacks(1HA) のマニュアルページを参照してください。

Agent Builder は、install_directory/rt_name/src ディレクトリ (C 出力の場合) に、次のファイルを生成します。

Agent Builder は rt_name.o ファイルを各メソッドの .o ファイルにリンクして、実行可能ファイルを install_directory/rt_name/bin ディレクトリに作成します。

Korn シェル出力の場合、install_directory /rt_name/bin ディレクトリと install_directory/rt_name/src ディレクトリの内容は同じです。それぞれのディレクトリには、7 つのコールバックメソッドと Probe メソッドに対応する 8 つの実行可能スクリプトが含まれています。


注 –

Korn シェル出力には、2 つのコンパイル済みユーティリティプログラム (gettimegethostnames) が含まれています。これらのプログラムは、特定のコールバックメソッドが時間の取得や、検証を行う際に必要です。


ソースコードを編集して、make コマンドを実行すると、コードを再コンパイルできます。さらに、再コンパイル後、make pkg コマンドを実行すると、新しいパッケージを生成できます。ソースコードの修正をサポートするために、Agent Builder はソースコード中の適切な場所 (コードを追加できる場所) にコメント文を埋め込みます。「生成されたソースコードの編集」を参照してください。

ユーティリティースクリプトとマニュアルページ

リソースタイプを生成し、そのパッケージをクラスタにインストール後、リソースタイプのインスタンス (リソース) をクラスタ上で実行する必要があります。一般に、リソースを実行するには、管理コマンドまたは SunPlex Manager を使用します。Agent Builder は、ターゲットリソースタイプのリソースを起動するためのカスタマイズされたユーティリティスクリプトに加え、リソースを停止および削除するスクリプトも生成します。これら 3 つのスクリプトは install_directory/rt_name/util ディレクトリに格納されており、次のような処理を行います。


注 –

これらのスクリプトは内部的な規則を使用して、リソースとリソースグループの名前付けを行います。そのため、削除スクリプトを使用できるリソースは、対応する起動スクリプトで起動されたリソースだけです。


Agent Builder は、スクリプト名にアプリケーション名を追加することにより、スクリプトの名前付けを行います。たとえば、アプリケーション名が ftp の場合、各スクリプトは startftpstopftp、および removeftp になります。

Agent Builder は、各ユーティリティースクリプト用のマニュアルページを install_directory/rt_name/man/man1m ディレクトリに格納します。これらのマニュアルページにはスクリプトに渡す必要があるパラメータについての説明が記載されているので、各スクリプトを起動する前に、これらのマニュアルページをお読みください。

これらのマニュアルページを表示するには、man コマンドに -M オプションを付けて、上記のマニュアルページが格納されているディレクトリへのパスを指定する必要があります。たとえば、ベンダーが SUNW で、アプリケーション名が ftp である場合、startftp(1M) のマニュアルページを表示するには、次のコマンドを使用します。


% man -M install_directory/SUNWftp/man startftp

クラスタ管理者は、マニュアルページユーティリティスクリプトも利用できます。Agent Builder が生成したパッケージをクラスタ上にインストールすると、ユーティリティースクリプト用のマニュアルページは、 /opt/rt_name/man ディレクトリに格納されます。たとえば、startftp(1M) のマニュアルページを表示するには、次のコマンドを使用します。


% man -M /opt/SUNWftp/man startftp

サポートファイル

Agent Builder はサポートファイル (pkginfopostinstallpostremovepreremove など) を install_directory/rt_name/etc ディレクトリに格納します。このディレクトリには、Resource Type Registration (RTR) ファイルも格納されます。RTR ファイルは、ターゲットリソースタイプが利用できるリソースとリソースタイププロパティを宣言して、リソースをクラスタに登録するときにプロパティ値を初期化します。詳細は、「リソースとリソースタイププロパティの設定」を参照してください。RTR ファイルの名前は、ベンダー名とリソースタイプ名をピリオドで区切って連結したものです (たとえば、SUNW.ftp)。

RTR ファイルは、ソースコードを再コンパイルしなくても、標準のテキストエディタで編集および修正できます。ただし、make pkg コマンドを使用して、パッケージを再構築する必要があります。

パッケージディレクトリ

install_directory/rt_name/pkg ディレクトリには、Solaris パッケージが格納されます。パッケージの名前は、ベンダー名とアプリケーション名を連結したものです (たとえば、SUNWftp)。install_directory/rt_name/src ディレクトリ内の Makefile は、新しいパッケージを作成するのに役立ちます。たとえば、ソースファイルを修正し、 コードを再コンパイルした場合、あるいは、パッケージユーティリティースクリプトを修正した場合、make pkg コマンドを使用して新しいパッケージを作成します。

パッケージをクラスタから削除する場合、同時に複数のノードから pkgrm コマンドを実行しようとすると、pkgrm コマンドが失敗する可能性があります。この問題を解決するには、次の 2 つの方法があります。

同時に複数のノードから pkgrm を実行しようとして失敗した場合は、再度いずれかのノードで pkgrm を実行した後、残りのノードで pkgrm を実行します。

rtconfig ファイル

C または Korn シェルソースコードを作業ディレクトリ内に生成する場合、Agent Builder は構成ファイル rtconfig を生成します。このファイルには、作成および構成画面でユーザーが入力した情報が含まれています。既存のリソースタイプの作業ディレクトリから Agent Builder を起動すると (または「ファイル」プルダウンメニューの「リソースタイプのロード」を選択して既存のリソースタイプをロードすると)、Agent Builder は、rtconfig ファイルを読み取り、リソースタイプの作成時に指定された情報を「作成」や「構成」画面に表示します。この機能は、既存のリソースタイプのクローンを作成したい場合に便利です。詳細は、「既存のリソースタイプからクローンを作成する方法」を参照してください。

Agent Builder の Cluster Agent モジュール

Agent Builder の Cluster Agent モジュールは、NetBeansTM モジュールです。この Cluster Agent モジュールを使用することで、 Sun Java Studio (以前の Sun ONE Studio) 製品のユーザーは統合された開発環境で Sun Cluster ソフトウェアのリソースタイプ (データサービス) を作成できます。この Cluster Agent モジュールは、ユーザーが作成するリソースタイプの種類を説明する画面ベースのインタフェースを提供します。


注 –

Sun Java Studio 製品の設定、インストール、使用についての詳細は、Sun Java Studio マニュアルに記載されています。


Cluster Agent モジュールをインストールし設定する方法

Cluster Agent モジュールは、Sun Cluster ソフトウェアのインストール時にインストールされます。Sun Cluster のインストールツールは、Cluster Agent モジュールファイルを /usr/cluster/lib/scdsbuilderscdsbuilder.jar に配置します。Sun Java Studio ソフトウェアで Cluster Agent モジュールを使用するには、このファイルに対してシンボリックリンクを作成する必要があります。


注 –

Cluster Agent モジュールを実行する予定のシステムには、Sun Cluster 製品、Sun Java Studio 製品、および Java 1.4 がすでにインストールされ、使用可能な状況でなければなりません。


  1. ユーザー全員が Cluster Agent モジュールを使用できるようにするか、あるいは自分だけが使用できるようにします。

    • ユーザー全員に使用を認めるには、スーパーユーザーになるか、あるいは同等の役割を宣言し、汎用的なモジュールディレクトリにシンボリックリンクを作成します。


      # cd /opt/s1studio/ee/modules
      # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      


      注 –

      Sun Java Studio ソフトウェアを /opt/s1studio/ee 以外のディレクトリにすでにインストールしてある場合は、このディレクトリパスを、使用したパスに読み替えてください。


    • 自分だけが使用できるようにするには、 自分の modules サブディレクトリにシンボリックリンクを作成します。


      % cd ~your-home-dir/ffjuser40ee/modules
      % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      

  2. Sun Java Studio ソフトウェアを停止し、再起動します。

Cluster Agent モジュールを起動する方法

次に、Sun Java Studio ソフトウェアから Cluster Agent モジュールを起動する手順を示します。

  1. Sun Java Studio の「ファイル」メニューから「新規」を選択するか、あるいはツールバーの「新規」アイコンをクリックします。Sun Java Studio ソフトウェアのツールバー上にある「新規」アイコンを示す図

    「新規ウィザード」画面が表示されます。

    「新規ウィザード」画面を示すダイアログボックス

  2. 「テンプレートを選択」ウィンドウで、必要に応じて下方向へスクロールし、その他フォルダの横に表示されている鍵マークをクリックします。「その他」フォルダのキーを示すインライングラフィック

    「その他」フォルダが開きます。

    「その他」フォルダメニューを広げたときの図

  3. 「その他」フォルダから Sun Cluster Agent Builder を選択し、「次へ」をクリックします。

    Sun Java Studio 起動のための Cluster Agent モジュール最初の「新規ウィザード - Sun Cluster Agent Builder」画面が表示されます。

    New Wizard Sun Cluster Agent Builder 画面が最初に表示されたときの画面を示すダイアログボックス

Cluster Agent モジュールの使用

Cluster Agent モジュールは、Agent Builder ソフトウェアと同様に使用できます。インタフェースは英語版の Agent Builder ソフトウェアと全く同じです。たとえば次の図では、英語版 Agent Builder ソフトウェアの「Create」画面と Cluster Agent モジュールの最初の「新規ウィザード - Sun Cluster Agent Builder」画面には同じフィールドと選択肢が存在することがわかります。

図 9–4 英語版 Agent Builder ソフトウェアの作成画面

情報を入力した後の作成画面を示すダイアログボックス

図 9–5 Cluster Agent モジュールの「新規ウィザード - Sun Cluster Agent Builder」画面

情報が入力された後の New Wizard Sun Cluster Agent Builder 画面が示すダイアログボックス

Cluster Agent モジュールと Agent Builder の違い

Cluster Agent モジュールと Agent Builder は似ていますが、小さな違いがいくつかあります。