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

障害からの回復

Sun Cluster の使用

Sun Cluster では、ドメイン管理サーバー、ノードエージェント、Application Server インスタンス、メッセージキュー、および HADB の自動フェールオーバーを提供しています。詳細については、『Sun Cluster Data Service for Sun Java System Application Server Guide for Solaris OS 』を参照してください。

標準の Ethernet 相互接続および Sun Cluster 製品のサブセットを使用します。この機能は、Java ES に含まれています。

手動での復旧

さまざまな方法を使用して、個別のサブコンポーネントを手動で復旧できます。

ドメイン管理サーバーの回復

ドメイン管理サーバー (DAS) が失われて影響があるのは、管理だけです。たとえ DAS が到達不可能であっても、Application Server クラスタおよびアプリケーションは、それまでどおり稼働し続けます。

DAS を復旧するには、次のいずれかの方法を使用します。

ノードエージェントおよびサーバーインスタンスの回復

ノードエージェントおよびサーバーインスタンスを回復する方法は 2 つあります。

バックアップの zip ファイルを保持する。ノードエージェントおよびサーバーインスタンスをバックアップする明確なコマンドはありません。ノードエージェントディレクトリの内容を持つ zip ファイルを単に作成します。障害発生後に、同じホスト名と IP アドレスを持つ新しいマシンで保存済みのバックアップを解凍します。インストールディレクトリの場所、OS なども同じものを使用します。ファイルベースのインストール、パッケージベースのインストール、または復元されたバックアップイメージがマシン上に存在する必要があります。

手動での回復。同じ IP アドレスを持つ新しいホストを使用する必要があります。

  1. マシンに Application Server ノードエージェントをインストールします。

  2. AS8.1 UR2 パッチ 4 をインストールする手順を参照してください。

  3. ノードエージェントを再作成します。サーバーインスタンスを作成する必要はありません。

  4. 同期によって、設定およびデータが DAS からコピーされ更新されます。

ロードバランサおよび Web Server の回復

Web Server の設定だけをバックアップする明確なコマンドは ありません。Web Server のインストールディレクトリを単に圧縮します。障害発生後に、同じネットワーク ID を持つ新しいマシンで保存済みのバックアップを解凍します。新しいマシンの IP アドレスが異なる場合は、DNS サーバーまたはルーターを更新します。


注 –

これは、あらかじめ Web Server にイメージが再インストールまたは復元されていることを前提としています。


ロードバランサプラグイン (plugins ディレクトリ) および設定は、Web Server のインストールディレクトリ (通常は /opt/SUNWwbsvr) にあります。web-install/web-instance/config ディレクトリには loadbalancer.xml ファイルがあります。

メッセージキューの回復

メッセージキュー (MQ) の設定およびリソースは、DAS に格納され、インスタンスに同期できます。その他のデータおよび設定情報は、すべて MQ ディレクトリ (通常は /var/imq の下) にあるため、必要に応じてこれらのディレクトリをバックアップおよび復元します。新しいマシンには、あらかじめ MQ インストールが含まれている必要があります。マシンを復元するときは、それまでどおり MQ ブローカが起動していることを必ず確認してください。

HADB の復元

アクティブな HADB ノードが 2 つある場合は、障害時に引き継ぐことができる 2 つのスペアノードを (別々のマシン上に) 設定できます。HADB のバックアップおよび復元では不整合セッションが復元される可能性があるため、この方法のほうがクリーンです。

スペアノードのあるデータベースを作成する方法については、「データベースの作成」を参照してください。スペアノードをデータベースに追加する方法については、「ノードの追加」を参照してください。復旧および自己修復に失敗すると、スペアノードによって自動的に引き継がれます。

Netbackup の使用


注 –

この手順は、Sun QA によって確認されていません。


各マシンのイメージを保存するには、Veritas Netbackup を使用します。BPIP の場合は、Web サーバーおよびアプリケーションサーバーとともに 4 つのマシンをバックアップします。

復元されたそれぞれのマシンについて、元のマシンと同じ設定 (同じホスト名、IP アドレスなど) を使用します。

Application Server のようなファイルベース製品では、関連するディレクトリだけをバックアップおよび復元します。ただし、Web サーバーイメージのようなパッケージベースのインストールでは、マシン全体をバックアップおよび復元する必要があります。パッケージは、Solaris パッケージデータベースにインストールされます。そのため、ディレクトリだけをバックアップし、続いて新しいシステムに復元すると、パッケージデータベースには情報のない、「展開された」Web サーバーになります。このため、今後のパッチ適用やアップグレードで問題が発生する可能性があります。

Solaris パッケージデータベースを手動でコピーおよび復元しないでください。代替方法は、Web サーバーなどのコンポーネントのインストール後にマシンのイメージをバックアップすることです。これをベースライン tar ファイルと呼びます。Web サーバーに変更を加えた場合は、たとえば /opt/SUNWwbsvr の下にあるこれらのディレクトリをバックアップします。復元するには、ベースライン tar ファイルから開始し、次に変更した Web サーバーディレクトリを上書きコピーします。同様に、MQ でもこの手順を使用できます (BPIP のパッケージベースのインストール)。元のマシンをアップグレードまたはパッチ適用する場合、新しいベースライン tar ファイルを作成する必要があります。

DAS のあるマシンがダウンすると、復元するまで利用できない時間が発生します。

DAS は、中央リポジトリです。サーバーインスタンスを復元して再起動すると、DAS にある情報とのみ同期されます。そのため、すべての変更は asadmin または 管理コンソール を使用して実行する必要があります。

イメージにアプリケーションセッションの古い状態が含まれる可能性があるため、HADB の日次バックアップは機能しないことがあります。

ドメイン管理サーバーの再作成

ドメイン管理サーバー (DAS) をバックアップしてある場合は、ホストマシンに障害が発生しても再作成することができます。DAS の作業コピーを再作成するには、次の環境が必要です。


注 –

1 番目のマシンからの DAS のバックアップを保持している必要があります。現在のドメインをバックアップするには、asadmin backup-domain を使用します。


Procedureドメイン管理サーバーを移行する

DAS を 1 番目のマシン (machine1) から 3 番目のマシン (machine3) に移行するには、次の手順に従います。

  1. 1 番目のマシンにインストールしたときと同様に、アプリケーションサーバーを 3 番目のマシンにインストールします。

    これは、DAS が 3 番目のマシンに正しく復元され、パスの競合が起きないようにするために必要です。

    1. コマンド行 (対話型) モードを使用して、アプリケーションサーバー管理パッケージをインストールします。

      対話型コマンド行モードを有効にするには、次のように console オプションを使用してインストールプログラムを呼び出します。


      ./bundle-filename -console

      コマンド行インタフェースを使用してインストールするには、ルート権限が必要です。

    2. デフォルトのドメインをインストールするオプションを選択解除します。

      バックアップされたドメインの復元は、2 台のマシンのアーキテクチャーが同じで、インストールパスがまったく同じ (両方のマシンで同じ install-dirdomain-root-dir) である場合だけサポートされています。

  2. バックアップの ZIP ファイルを 1 番目のマシンから 3 番目のマシンの domain-root-dir にコピーします。

    ファイルを FTP することもできます。

  3. asadmin restore-domain コマンドを実行して、zip ファイルを 3 番目のマシンに復元します。


    asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1

    任意のドメインをバックアップできます。ただし、ドメインの再作成時に、ドメイン名を元のドメインと同じ名前にしてください。

  4. 3 番目のマシンの domain-root-dir/domain1/generated/tmp ディレクトリのアクセス権を変更し、1 番目のマシンの同じディレクトリのアクセス権と一致させます。

    このディレクトリのデフォルトのアクセス権は次のとおりです。drwx------ (または 700)。

    次に例を示します。

    chmod 700 domain-root-dir/domain1/generated/tmp

    この例では、domain1 をバックアップしていることとします。ドメインを別の名前でバックアップしている場合は、上記の domain1 をバックアップしているドメインの名前で置き換えるようにしてください。

  5. 3 番目のマシンの domain.xml ファイルで、プロパティーのホスト値を変更します。

  6. 3 番目のマシンの domain-root-dir/domain1/config/domain.xml を更新します。

    たとえば、machine1 を検索し、machine3 に置き換えます。次の箇所を変更できます。

    <jmx-connector><property name=client-hostname value=machine1/>...

    次のようにします。

    <jmx-connector><property name=client-hostname value=machine3/>...
  7. 次の箇所を変更します。

    <jms-service... host=machine1.../>

    次のようにします。

    <jms-service... host=machine3.../>
  8. machine3 で復元されたドメインを起動します。


    asadmin start-domain --user admin-user --password admin-password domain1
  9. machine2 で、ノードエージェントの下にあるプロパティーの DAS ホスト値を変更します。

  10. machine2 で、install-dir/nodeagents/nodeagent/agent/config/das.propertiesagent.das.host プロパティー値を変更します。

  11. machine2 でノードエージェントを再起動します。


    注 –

    asadmin start-instance コマンドを使用してクラスタインスタンスを起動し、復元されたドメインと同期できるようにします。