Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

- Previous: 第 4 章 負荷分散とフェイルオーバーの設定
- Next: 第 6 章 名前付き設定の管理

# 第 5 章 Application Server クラスタの使用

この章では、Application Server クラスタの使用法について説明します。この章には次の節が含まれています。

- 「クラスタの概要」

- 「クラスタに関連した操作」

# クラスタの概要

クラスタ は、同じアプリケーション、リソース、および設定情報を共有するサーバーインスタンスの集まりに名前を付けたものです。異なるマシン上のサーバーインスタンスを 1 つの論理クラスタにまとめ、それらのインスタンスを 1 つの単位として管理できます。マルチマシンクラスタのライフサイクルは、DAS を使用して容易に制御できます。

クラスタにより、水平方向のスケーラビリティー、負荷分散、およびフェイルオーバー保護が使用可能になります。定義により、クラスタ内のすべてのインスタンスに対してリソースとアプリケーションの設定は同じになります。あるサーバーインスタンスまたはクラスタ内のあるマシンに障害が起きると、ロードバランサは障害を検出し、障害の起きたインスタンスからクラスタ内の他のインスタンスにトラフィックをリダイレクトし、ユーザーセッションの状態を回復します。クラスタ内のすべてのインスタンス上には同一のアプリケーションとリソースがあるため、インスタンスはクラスタ内のほかのどのインスタンスにも処理を継続させることができます。

# クラスタに関連した操作

- 「クラスタを作成するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタを設定するには」

- 「クラスタの削除」

- 「クラスタ内のサーバーインスタンスを設定するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「EJB タイマーを移行するには」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

## クラスタを作成するには

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

2. 「クラスタ」ページで、「新規」をクリックします。

   「クラスタの作成」ページが表示されます。

3. 「名前」フィールドで、クラスタの名前を入力します。

   名前は次のようにする必要があります。

   - 大文字と小文字、数字、下線、ハイフン、およびピリオド (`.`) だけで構成される

   - すべてのノードエージェント名、サーバーインスタンス名、クラスタ名、および設定名の間で一意である

   - `domain` 以外である

4. 「構成」フィールドで、ドロップダウンリストから設定を選択します。

   - 共用設定を使用しないクラスタを作成するには、`default-config` を選択します。

     「選択している設定のコピーを作成します」ラジオボタンを選択済みにしておきます。デフォルト設定のコピーは、cluster_name`-config` という名前になります。

   - 共用設定を使用するクラスタを作成するには、ドロップダウンリストから設定を選択します。

     「選択している設定を参照します」ラジオボタンを選択して、指定した既存の共用設定を使用するクラスタを作成します。

5. オプションとして、サーバーインスタンスを追加できます。

   クラスタ作成後にサーバーインスタンスを追加することも可能です。

   クラスタのサーバーインスタンスを作成する前に、まず 1 つまたは複数のノードエージェントまたはノードエージェントのプレースホルダを作成します。「ノードエージェントのプレースホルダを作成するには」を参照してください。

   サーバーインスタンスを作成するには、次のようにします。

   1. 「サーバーインスタンスを作成」セクションで、「追加」をクリックします。

   2. 「インスタンス名」フィールドにインスタンスの名前を入力します。

   3. 「ノードエージェント」ドロップダウンリストからノードエージェントを選択します。

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

7. 表示される「クラスタを正常に作成」ページで「了解」をクリックします。

##### 同機能を持つ asadmin コマンド

`create-cluster`

##### 参照

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

クラスタ、サーバーインスタンス、およびノードエージェントを管理する方法の詳細については、「ノードエージェントの配備」を参照してください。

## クラスタのサーバーインスタンスを作成するには

##### 始める前に

クラスタのサーバーインスタンスを作成する前に、まずノードエージェントまたはノードエージェントのプレースホルダを作成します。「ノードエージェントのプレースホルダを作成するには」を参照してください。

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. クラスタのノードを選択します。

3. 「インスタンス」タブをクリックして、「クラスタ化されたサーバーインスタンス」ページを表示します。

4. 「新規」をクリックして、「クラスタ化されたサーバーインスタンスの作成」ページを表示します。

5. 「名前」フィールドで、サーバーインスタンスの名前を入力します。

6. 「ノードエージェント」ドロップダウンリストからノードエージェントを選択します。

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

##### 同機能を持つ asadmin コマンド

`create-instance`

##### 参照

- 「ノードエージェントとは」

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

- 「クラスタ内のサーバーインスタンスを設定するには」

## クラスタを設定するには

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. クラスタのノードを選択します。

   「一般情報」ページで、次のタスクを実行できます。

   - 「インスタンスを起動」をクリックして、クラスタ化されたサーバーインスタンスを起動します。

   - 「インスタンスの停止」をクリックして、クラスタ化されたサーバーインスタンスを停止します。

   - 「EJB タイマーを移行」をクリックして、停止されたサーバーインスタンスからクラスタ内の別のサーバーインスタンスに EJB タイマーを移行します。

##### 同機能を持つ asadmin コマンド

`start-cluster`、`stop-cluster`、`migrate-timers`

##### 参照

- 「クラスタを作成するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

- 「EJB タイマーを移行するには」

## クラスタ化されたインスタンスを起動、停止、および削除するには

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. サーバーインスタンスを含むクラスタ用のノードを展開します。

3. 「インスタンス」タブをクリックして、「クラスタ化されたサーバーインスタンス」ページを表示します。

   このページでは、次の操作を行えます。

   - インスタンスのチェックボックスを選択して「削除」、「起動」、または「停止」をクリックし、指定したすべてのサーバーインスタンスに対して選択したアクションを実行します。

   - インスタンスの名前をクリックして、「一般情報」ページを表示します。

## クラスタ内のサーバーインスタンスを設定するには

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. サーバーインスタンスを含むクラスタ用のノードを展開します。

3. サーバーインスタンスノードを選択します。

4. 「一般情報」ページでは、次の操作を行えます。

   - 「インスタンスを起動」をクリックして、インスタンスを起動します。

   - 「インスタンスの停止」をクリックして、実行するインスタンスを停止します。

   - 「JNDI ブラウズ」をクリックして、実行中のインスタンスの JNDI ツリーをブラウズします。

   - 「ログファイルを表示」をクリックして、サーバーのログビューアを開きます。

   - 「ログファイルをローテーション」をクリックして、インスタンスのログファイルをローテーションします。このアクションは、ログファイルのローテーションをスケジュールします。実際のローテーションは、次にログファイルがエントリに書き込まれたときに行われます。

   - 「トランザクションの回復」をクリックして、未完了のトランザクションを回復します。

   - 「プロパティー」タブをクリックして、インスタンスのポート番号を変更します。

   - 「監視」タブをクリックして、監視プロパティーを変更します。

##### 参照

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

- 『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド』の「トランザクションの回復」

## クラスタ用のアプリケーションを設定するには

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. クラスタのノードを選択します。

3. 「アプリケーション」タブをクリックして、「アプリケーション」ページを表示します。

   このページでは、次の操作を行えます。

   - 「配備」ドロップダウンリストから、配備するアプリケーションのタイプを選択します。表示される「配備」ページで、アプリケーションを指定します。

   - 「フィルタ」ドロップダウンリストから、リストに表示するアプリケーションのタイプを選択します。

   - アプリケーションを編集するには、アプリケーション名をクリックします。

   - アプリケーションの横にあるチェックボックスを選択して、「有効」または「無効」を選択し、クラスタのアプリケーションを有効または無効にします。

##### 参照

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

## クラスタ用のリソースを設定するには

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. クラスタのノードを選択します。

3. 「リソース」タブをクリックして、「リソース」ページを表示します。

   このページでは、次の操作を行えます。

   - クラスタ用の新規リソースを作成します。「新規」ドロップダウンリストから、作成するリソースのタイプを選択します。リソースを作成するときには、必ずクラスタをターゲットとして指定します。

   - リソースをグローバルに有効または無効にします。リソースの横にあるチェックボックスを選択して、「有効」または「無効」をクリックします。このアクションはリソースを削除しません。

   - 特定のタイプのリソースのみを表示します。「フィルタ」ドロップダウンリストから、リストに表示するリソースのタイプを選択します。

   - リソースを編集します。リソース名をクリックします。

##### 参照

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタの削除」

## クラスタの削除

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

2. 「クラスタ」ページで、クラスタ名の横にあるチェックボックスを選択します。

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

##### 同機能を持つ asadmin コマンド

`delete-cluster`

##### 参照

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「サービスを停止せずにコンポーネントをアップグレードするには」

## EJB タイマーを移行するには

サーバーインスタンスが異常に、または突然実行を停止した場合、そのサーバーインスタンス上にインストールされたEJBタイマーを、クラスタ内の実行中サーバーインスタンスに移動する必要があります。これを実行するには、次の手順を実行します。

1. ツリーコンポーネントで、「クラスタ」ノードを展開します。

2. クラスタのノードを選択します。

3. 「一般情報」ページで、「EJB タイマーを移行」をクリックします。

4. 「EJB タイマーを移行」ページで、次の操作を行います。

   1. 「ソース」ドロップダウンリストから、タイマーの移行元である停止されたサーバーインスタンスを選択します。

   2. (省略可能) 「送信先」ドロップダウンリストから、タイマーを移行する先の実行中サーバーインスタンスを選択します。

      このフィールドを空のままにした場合、実行中のサーバーインスタンスがランダムに選択されます。

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

5. 送信先サーバーインスタンスを停止して再起動します。

   ソースサーバーインスタンスが実行中の場合、または送信先サーバーインスタンスが停止中の場合は、管理コンソールにエラーメッセージが表示されます。

##### 同機能を持つ asadmin コマンド

`migrate-timers`

##### 参照

- 「クラスタを設定するには」

- 『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド』の「EJB タイマーサービス設定の設定」

## サービスを停止せずにコンポーネントをアップグレードするには

ロードバランサと複数のクラスタを使用して、サービスを停止することなく、Application Server 内のコンポーネントをアップグレードできます。たとえば、コンポーネントとして、JVM、Application Server、または Web アプリケーションが可能です。

次の場合、この方法は使えません。

- 高可用性データベース (HADB) のスキーマを変更する場合。詳細については、第 3 章「高可用性データベースの管理」を参照してください。

- アプリケーションデータベーススキーマに対する変更を含むアプリケーションアップグレードを実行する場合。

注意 –

クラスタ内のすべてのサーバーインスタンスは一緒にアップグレードします。そうでないと、1 つのインスタンスから、異なるバージョンのコンポーネントを実行するインスタンスへフェイルオーバーするセッションによって、バージョンミスマッチが発生するリスクがあります。

1. クラスタの「一般情報」ページで「クラスタの停止」ボタンを使って、クラスタの 1 つを停止します。

2. そのクラスタでコンポーネントをアップグレードします。

3. クラスタの「一般情報」ページで「クラスタの開始」ボタンを使って、クラスタを開始します。

4. ほかのクラスタで、1つずつプロセスを繰り返します。

   1 つのクラスタ内のセッションから別のクラスタ内のセッションに処理を引き継ぐことはないので、1 つのバージョンのコンポーネントを実行しているサーバーインスタンスから、異なるバージョンのコンポーネントを実行している (別のクラスタ内の) 別のサーバーインスタンスへのセッションへ処理が継続されることによって、バージョンのミスマッチが発生する危険はありません。クラスタは、そのクラスタ内のサーバーインスタンスがフェイルオーバーしたときには、安全境界としてこのように機能します。

##### 参照

- 「クラスタを作成するには」

- 「クラスタを設定するには」

- 「クラスタのサーバーインスタンスを作成するには」

- 「クラスタ用のアプリケーションを設定するには」

- 「クラスタ用のリソースを設定するには」

- 「クラスタの削除」

- Previous: 第 4 章 負荷分散とフェイルオーバーの設定
- Next: 第 6 章 名前付き設定の管理

- © 2010, Oracle Corporation and/or its affiliates