Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド

ノードエージェントの操作

ノードエージェントタスクの実行方法

一部のノードエージェントタスクについては、ノードエージェントを実行するシステムでローカルに asadmin ツールを使用する必要があります。その他のタスクは、管理コンソールまたは asadmin を使用してリモートで実行できます。

次の表は、タスクとそれを実行する場所の概要です。

表 3–2 ノードエージェントタスクの実行方法

作業 

管理コンソール 

asadmi コマンド 

ノードエージェントのプレースホルダをドメイン管理サーバーに作成します。 

「新しいノードエージェントのプレイスホルダ」ページ。 

create-node-agent-config 

ノードエージェントを作成します。 

使用不可 

create-node-agent 

ノードエージェントを起動します。 

使用不可 

start-node-agent 

ノードエージェントを停止します。 

使用不可 

stop-node-agent 

ドメイン管理サーバーからノードエージェント設定を削除します。 

「ノードエージェント」ページ。 

delete-node-agent-config 

ローカルマシンからノードエージェントを削除します。 

使用不可 

delete-node-agent 

ノードエージェント設定を編集します。 

「ノードエージェント」ページ。 

set 

ノードエージェントを一覧表示します。 

「ノードエージェント」ページ。 

list-node-agents 

ノードエージェントのプレースホルダ

既存のノードエージェントが存在しなくても、ノードエージェントのプレースホルダを使用して、サーバーインスタンスを作成および削除することができます。ノードエージェントのプレースホルダは、ノードエージェント自体がノードエージェントのローカルシステムに作成される前に、ドメイン管理サーバー (DAS) 上に作成されます。

ノードエージェントのプレースホルダの作成については、「ノードエージェントのプレースホルダを作成する」を参照してください。


注 –

プレースホルダノードエージェントを作成すると、それを使用してドメインにインスタンスを作成できます。ただし、インスタンスを起動する前に、asadmin コマンドを使用して、インスタンスが配置されるマシン上に実際のノードエージェントをローカルに作成し、起動する必要があります。詳細については、「ノードエージェントの作成」および 「ノードエージェントの起動」を参照してください。


Procedureノードエージェントのプレースホルダを作成する

ノードエージェントは、リモートマシンで実行されているサーバーインスタンスのローカルウォッチドッグです。このため、ノードエージェントはサーバーインスタンスをホストしているマシン上に作成する必要があります。この要件の結果、管理コンソールを使用して、ノードエージェントのプレースホルダのみを作成できます。このプレースホルダは、ノードエージェントが存在しない場合のノードエージェントの設定です。

プレースホルダを作成したら、ノードエージェントをホスティングするマシン上で、asadmin コマンドの create-node-agent を使用して作成を完了します。詳細については、「ノードエージェントの作成」を参照してください。

ノードエージェントを作成および使用するために必要な手順のリストについては、「ノードエージェントの配備」を参照してください。

  1. ツリーコンポーネントで、「ノードエージェント」ノードを選択します。

  2. 「ノードエージェント」ページで、「新規」をクリックします。

  3. 「新しいノードエージェントのプレイスホルダ」ページで、新規ノードエージェントの名前を入力します。

    名前は、ドメインのすべてのノードエージェント名、サーバーインスタンス名、クラスタ名、および設定名の間で一意である必要があります。

  4. 「了解」をクリックします。

    新規ノードエージェントのプレースホルダが「ノードエージェント」ページにリスト表示されます。

同機能を持つ asadmin コマンド

create-node-agent-config

ノードエージェントの作成

ノードエージェントを作成するには、ノードエージェントを実行するマシンで、asadmin コマンドの create-node-agent をローカルに実行します。

ノードエージェントのデフォルト名は、ノードエージェントを作成するホストの名前です。

ノードエージェントのプレースホルダをすでに作成している場合は、ノードエージェントプレースホルダと同じ名前を使用して、関連したノードエージェントを作成します。ノードエージェントのプレースホルダをまだ作成しておらず、DAS が起動していて到達可能である場合、create-node-agent コマンドは DAS 上にノードエージェント設定 (プレースホルダ) も作成します。

コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。

セキュリティー保護された通信を行うように、DAS およびノードエージェントが設定される場合があります。この状況では、ノードエージェントが起動されるとき、DAS がノードエージェントに送信する証明書をノードエージェントの側で検証する必要があります。証明書を検証するために、ノードエージェントはそのローカルトラストストアから証明書を検索します。このトラストストアはマスターパスワードによって保護されています。ユーザーにパスワードの入力を求めることなくノードエージェントを起動できるようにするには、ノードエージェントの作成時に、ノードエージェントのマスターパスワードをファイルに保存します。ノードエージェントのマスターパスワードをファイルに保存しない場合、ユーザーはノードエージェントを起動するたびにマスターパスワードの入力を求められます。


注 –

状況によっては、DNS 経由で到達可能なホストの名前を指定する必要があります。詳細については、「DNS に到達可能なホストに対してノードエージェントを作成する」を参照してください。


Procedureノードエージェントを作成する

  1. 次のコマンドを入力します。


    asadmin create-node-agent --host das-host --port port-no --user das-user 
    [--savemasterpassword=true] nodeagent
    

    ユーザーにパスワードの入力を求めることなくノードエージェントを起動できるようにするには、ノードエージェントのマスターパスワードをファイルに保存します。ノードエージェントのマスターパスワードをファイルに保存するには、ノードエージェントを作成するためのコマンドで、--savemasterpassword オプションを true に設定します。

    --savemasterpasswordtrue に設定すると、マスターパスワードの入力を求められます。それ以外の場合、パスワードの入力を求められることはありません

    --host das-host

    ドメイン管理サーバー (DAS) が稼働しているホストの名前を指定します。

    -port port-no

    ドメインを管理するための HTTP/HTTPS ポート番号を指定します。

    --user das-user

    DAS ユーザーを指定します。

    nodeagent

    作成するノードエージェントの名前を指定します。この名前はドメイン内で一意である必要があります。


例 3–1 ノードエージェントの作成


asadmin create-node-agent --host myhost --port 4848 --user admin nodeagent1

このコマンドは、nodeagent1 という名前のノードエージェントを作成します。ノードエージェントが通信する DAS は、マシン myhost 上で稼働しています。エージェントのドメインを管理するための HTTP ポートは 4848 です。DAS ユーザーの名前は admin です。


ProcedureDNS に到達可能なホストに対してノードエージェントを作成する

次の状況では、DAS が稼働しているホストが DNS 経由で到達可能である必要があります。

  1. ドメインを作成するための create-domain コマンドで、--domainproperties domain.hostName=das-host-name オプションを指定します。

    das-host-name は、DAS が稼働しているマシンの名前です。

  2. ノードエージェントを作成するための create-node-agent コマンドで、次のオプションを指定します。

    • --host das-host-namedas-host-name は、手順 1 で指定した DAS ホスト名です。このオプションは、ファイル as-install/nodeagents/nodeagentname/agent/config/das.properties 内の agent.das.host プロパティーに対応します。

    • --agentproperties remoteclientaddress=node-agent-host-namenode-agent-host-name は、DAS がノードエージェントへの接続に使用するホスト名です。このオプションは、ファイル as-install/nodeagents/nodeagentname/agent/config/nodeagent.properties 内の agent.client.host プロパティーに対応します。

hosts ファイルの更新によるホストの指定

別の解決法は、プラットフォームに特定のホスト名およびアドレス解決を定義する、hosts ファイルを更新し、ホスト名を正しい IP アドレスに解決することです。ただし、DHCP 使用して再接続する時に、異なる IP アドレスを割り当てられる可能性があります。その場合、各サーバーでホスト解決ファイルを更新する必要があります。

ノードエージェントの起動

ノードエージェントがサーバーインスタンスを管理できるようにするには、ノードエージェントを実行している必要があります。ノードエージェントを起動するには、ノードエージェントが存在するシステムで asadmin コマンドの start-node-agent をローカルに実行します。

コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。

次に例を示します。

asadmin start-node-agent --user admin --startinstances=false nodeagent1

ここで、admin は管理ユーザーであり、nodeagent1 は起動しているノードエージェントです。

デフォルトでは、ノードエージェントインスタンスのキャッシュリポジトリは、ノードエージェントの再起動時に中央リポジトリから同期されません。インスタンスのキャッシュリポジトリを中央リポジトリと強制的に同期するには、asadmin start-node-agent コマンドで --syncinstances オプションを true に設定します。


注 –

--syncinstances オプションを true に設定すると、すべてのインスタンスのリポジトリがノードエージェントの再起動時に同期されます。


ノードエージェントを再起動したあとで、asadmin start-instance コマンドを使用してサーバーインスタンスを起動します。

ノードエージェントの停止

実行中のノードエージェントを停止するには、ノードエージェントが存在するシステムで、asadmin コマンドの stop-node-agent を実行します。stop-node-agent は、ノードエージェントが管理するすべてのサーバーインスタンスを停止します。

コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。

次に例を示します。

asadmin stop-node-agent nodeagent1

ここで、nodeagent1 はノードエージェントの名前です。

ノードエージェントの削除

ノードエージェントを削除する前に、ノードエージェントを停止する必要があります。ノードエージェントが起動しない場合、またはドメイン管理サーバーに正常に接続できない (バインドされない) 場合も、ノードエージェントを削除できます。

ノードエージェントのファイルを削除するには、ノードエージェントが存在するシステムで、asadmin コマンドの delete-node-agent を実行します。

コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。

次に例を示します。

asadmin delete-node-agent nodeagent1

ここで、nodeagent1 はノードエージェントです。

ノードエージェントを削除する場合は、管理コンソールまたは asadmin delete-node-agent-config コマンドのいずれかを使用して、ドメイン管理サーバーからノードエージェントの設定も削除する必要があります。

Procedureノードエージェントの一般情報を表示する

  1. ツリーコンポーネントで、「ノードエージェント」ノードを選択します。

  2. ノードエージェントの名前をクリックします。

    ノードエージェントがすでに存在するのに、ここに表示されない場合は、ノードエージェントのホストマシンで、asadmin start-node-agent を使用して、ノードエージェントを起動します。「ノードエージェントの起動」を参照してください。

  3. ノードエージェントのホスト名をチェックします。

    ホスト名が「不明なホスト」の場合、ノードエージェントはドメイン管理サーバー (DAS) と初期接続をしていません。

  4. ノードエージェントの状態をチェックします。

    この状態は次のいずれかです

    • 稼動中: ノードエージェントが正常に作成され、現在実行中です。

    • 停止中: 「ノードエージェントはローカルマシンで作成されているが、起動していない」、または「ノードエージェントは起動したが、その後停止した」のどちらかです。

    • ランデブーを待機しています: ノードエージェントは、ローカルマシンで作成されていないプレースホルダです。

    詳細については、「ノードエージェントの作成」および 「ノードエージェントの起動」を参照してください。

  5. 起動時にインスタンスを起動するかどうかを選択します。

    ノードエージェントが起動するときに、ノードエージェントに関連するサーバーインスタンスが自動的に起動するようにするには「Yes」を選択します。インスタンスを手動で起動するには、「No」を選択します。

  6. ノードエージェントがドメイン管理サーバーと接続したかどうかを確認します。

    ノードエージェントがドメイン管理サーバーと接続していない場合、正常に起動していません。

  7. ノードエージェントに関連するサーバーインスタンスを管理します。

    ノードエージェントが実行中の場合、インスタンス名の横にあるチェックボックスをクリックし、「起動」または「停止」をクリックしてインスタンスを起動または停止します。

Procedureノードエージェントの設定を削除する

管理コンソールを使用すると、ドメインからノードエージェントの設定を削除することができます。設定は削除できますが、実際のノードエージェントは削除できません。ノードエージェント自体を削除するには、ノードエージェントのローカルマシンで asadmin コマンドの delete-node-agent を実行します。詳細については、「ノードエージェントの削除」を参照してください。

ノードエージェントの設定を削除する前に、ノードエージェントの実行を停止し、関連するインスタンスを削除する必要があります。ノードエージェントを停止するには、asadmin コマンドの stop-node-agent を使用します。詳細については、「ノードエージェントの停止」を参照してください。

  1. ツリーコンポーネントで、「ノードエージェント」ノードを選択します。

  2. 「ノードエージェント」ページで、削除するノードエージェントの横にあるチェックボックスを選択します。

  3. 「削除」をクリックします。

同機能を持つ asadmin コマンド

delete-node-agent-config

Procedureノードエージェントの設定を編集する

  1. ツリーコンポーネントで、「ノードエージェント」ノードを開きます。

  2. 編集するノードエージェントの設定を選択します。

  3. 「起動時にインスタンスを起動」を「Yes」に設定し、エージェントの起動時にエージェントのサーバーインスタンスが起動されるようにします。

    このページから、手動でのインスタンスの起動または停止もできます。

    この設定がプレースホルダノードエージェント用である場合は、asadmin create-node-agent を使用して実際のノードエージェントを作成するときに、この設定が引き継がれます。ノードエージェントの作成については、「ノードエージェントの作成」を参照してください。

    この設定が既存のノードエージェント用である場合、ノードエージェントの設定情報が自動的に同期されます。

Procedureノードエージェントのレルムを編集する

ノードエージェントに接続しているユーザーの認証レルムを設定する必要があります。管理ユーザーだけがノードエージェントにアクセスできます。

  1. ツリーコンポーネントで、「ノードエージェント」ノードを開きます。

  2. 編集するノードエージェントの設定を選択します。

  3. 「認証レルム」タブをクリックします。

  4. 「レルムの編集」ページで、レルムを入力します。

    デフォルトは、ノードエージェントの作成時に作成された admin-realm です。別のレルムを使用するには、ドメインによって制御されるすべてのコンポーネントまたは正常に通信しないコンポーネントのレルムを置き換えます。

  5. 「クラス名」フィールドで、レルムを実装する Java クラスを指定します。

  6. 必要なプロパティーを追加します。

    認証レルムは、特定の実装によって必要とするものが異なるプロバイダ固有のプロパティーが必要です。

Procedureノードエージェントの JMX 対応リスナーを編集するには

ノードエージェントは、JMX を使用してドメイン管理サーバーと通信します。このため、JMX 要求を待機するポートとその他のリスナー情報が必要です。

  1. ツリーコンポーネントで、「ノードエージェント」ノードを開きます。

  2. 編集するノードエージェントの設定を選択します。

  3. 「JMX」タブをクリックします。

  4. 「アドレス」フィールドに、IP アドレスまたはホスト名を入力します。

    リスナーが一意のポート値を使用してサーバーのすべての IP アドレスを待機する場合は、「0.0.0.0」を入力します。それ以外の場合は、サーバーの有効な IP アドレスを入力します。

  5. 「ポート」フィールドに、ノードエージェントの JMX コネクタが待機するポート番号を入力します。

    IP アドレスが「0.0.0.0」の場合、ポート番号は一意のものである必要があります。

  6. 「JMX プロトコル」フィールドで、JMX コネクタがサポートするプロトコルを入力します。

    デフォルトは rmi_jrmp です。

  7. 「すべてのアドレスを受け付ける」の横にあるチェックボックスをクリックして、すべての IP アドレスに接続できるようにします。

    ノードエージェントは、ネットワークカードに関連付けられた特定の IP アドレスを待機するか、またはすべての IP アドレスを待機します。すべてのアドレスを許可すると、「待機するホストアドレス」プロパティーに値「0.0.0.0」が設定されます。

  8. 「レルム名」フィールドで、リスナーの認証を処理するレルムの名前を入力します。

    このページの「セキュリティ」セクションで、リスナーが SSL、TLS、あるいはこの両方のセキュリティーを使用するように設定します。

    安全なリスナーを設定するには、次の手順を実行します。

  9. 「セキュリティー」フィールドの「有効」ボックスにチェックマークを付けます。

    デフォルトで、セキュリティーが有効になります。

  10. クライアント認証を設定します。

    このリスナーを使っている個々のクライアントにサーバーへの認証を要求する場合は、「クライアント認証」フィールドの「有効」ボックスにチェックマークを付けます。

  11. 証明書のニックネームを入力します。

    「証明書のニックネーム」フィールドに、既存サーバーの鍵ペアと証明書の名前を入力します。

    証明書および SSL の操作の詳細については、管理コンソールのオンラインヘルプを参照してください。

  12. SSL3/TLS セクションでは次の手順を実行します。

    1. リスナーで有効にするセキュリティープロトコルにチェックマークを付けます。

      SSL3 と TLS のどちらか、または両方のプロトコルにチェックマークを付ける必要があります。

    2. プロトコルが使用する暗号化方式群にチェックマークを付けます。

      すべての暗号化方式群を有効にするには、「サポートされるすべての暗号化方式群」にチェックマークを付けます。

  13. 「保存」をクリックします。

Procedureスタンドアロンのサーバーインスタンスを作成する

  1. ツリーコンポーネントで、「スタンドアロンインタンス」ノードを選択します。

  2. 「新規」をクリックします。

  3. 「新しいスタンドアロンサーバーインスタンス」ページで、インスタンスの名前を入力します。

  4. このインスタンスが作成されるノードエージェントを選択し、「OK」をクリックします。