ヘッダーをスキップ

Oracle Application Server 高可用性ガイド
10gリリース3(10.1.3.2.0)

E05048-01
目次
目次
索引
索引

戻る 次へ

4 アクティブ/パッシブ・トポロジ

この章では、アクティブ/パッシブ・トポロジの構成方法と管理方法について説明します。この章の項は次のとおりです。

4.1 アクティブ/パッシブ・トポロジについて

アクティブ/パッシブ・トポロジは、次のもので構成されています。

Oracleホームは共有記憶域にインストールします。アクティブ・パッシブ・トポロジでは、実行時に1つのノードのみがアクティブになります。もう一方のノードはパッシブになります。アクティブ・ノードは共有記憶域をマウントするため、ファイルにアクセスし、すべてのプロセスを実行し、すべてのリクエストを処理できます。クライアントは、仮想ホスト名を使用してアクティブ・ノードにアクセスします。クライアントがトポロジ内のノードの物理ホスト名を認識している必要はありません。

なんらかの理由でアクティブ・ノードに障害が発生すると、フェイルオーバー・イベントが実行され、パッシブ・ノードが引き継いでアクティブ・ノードになります。パッシブ・ノードは共有記憶域をマウントし、すべてのプロセスを実行し、すべてのリクエストを処理します。仮想ホスト名およびIPは、パッシブ・ノードを指すようになります。クライアントは、仮想ホスト名を使用してノードにアクセスするため、リクエストを処理しているのがパッシブ・ノードであることを意識することはありません。

フェイルオーバーを有効にするには、ノードがハードウェア・クラスタに存在する必要があります。


注意

OracleAS Cold Failover Clusterトポロジにある各ノードのローカル記憶域へのOracleホームのインストールはサポートされていません。Oracleホームは共有記憶域にインストールする必要があります。 


4.1.1 ベンダー・クラスタウェア

アクティブ/パッシブ・トポロジの2つのノードはハードウェア・クラスタにあります。このクラスタには通常、ベンダー・クラスタウェアが含まれています。認証済クラスタウェアの一覧は、Oracle Technology NetworkのWebサイト(http://www.oracle.com/technology)を参照してください。

Windowsで実行している場合は、クラスタに次の製品が必要です。

これらの製品は、トポロジ内の両方のノード(アクティブとパッシブ)にインストールする必要があります。

4.1.2 アクティブ/パッシブ・トポロジ: 利点

4.1.3 アクティブ/パッシブ・トポロジ: 欠点

4.1.4 WebCenterアプリケーションに関する注意事項

WebCenterアプリケーションをアクティブ/パッシブ・トポロジで実行している場合、Oracle Metadata Services(MDS)およびポートレット・プリファレンス・ストアに関する具体的な推奨事項に注意してください。

4.1.4.1 共有記憶域にあるOracle Metadata Services(MDS)のディレクトリ

共有記憶域には、Oracle Metadata Services(MDS)用のディレクトリも作成する必要があります。MDSディレクトリには、デプロイされたWebCenterアプリケーション用のページ・カスタマイズ・データとポートレット・メタデータが格納されます。

共有記憶域にMDSディレクトリがあると、すべてのOracle Application Serverインスタンスが同じデータにアクセスできるようになり、データのレプリケートを考慮する必要はなくなります。

MDSディレクトリのマウント・ポイントは、アクティブ/パッシブ・トポロジ内のすべてのノードで同じにする必要があります(たとえば、UNIXでは/oracle/mds、WindowsではS:¥oracle¥mds)。Windowsでは、マウント・ポイントは、ドライブ文字も含めてすべてのノードで同じにする必要があります。たとえば、あるノードでS:¥oracle¥mdsとし、別のノードでT:¥oracle¥mdsとすることはできません。

共有記憶域は、インストール時には不要ですが、アプリケーションをデプロイするときに必要となります。アプリケーションのデプロイ時に、MDSディレクトリへのパスを指定します。

4.1.4.2 ポートレット・プリファレンス・ストア

WebCenterアプリケーションでは、リモート・コンピュータのポートレット・プロデューサでホスト可能なポートレットを消費します。ポートレット・プロデューサは、ポートレットのプリファレンスまたはカスタマイズをプリファレンス・ストアに格納します。プリファレンス・ストアは、データベースベースでもファイルベースでもかまいません。

高可用性トポロジでは、データベースベースのプリファレンス・ストアを使用し、このデータベースを、Real Application Clustersデータベースやコールド・フェイルオーバー・クラスタ・データベースなど、高可用性に構成することをお薦めします。

ポートレット・プリファレンスをファイルに格納する場合、共有記憶域にファイルを配置して、アクティブ/パッシブ・トポロジ内の両方のノードからそのファイルにアクセスできるようにします。

ポートレット・プリファレンス・ストアの構成の詳細は、第3.1.2.2項「ポートレット・プリファレンス・ストアのタイプと場所」を参照してください。

ポートレット・プリファレンス・ストアとMDSを混同しないでください。この2つの概念はまったく違います。第4.1.4.1項「共有記憶域にあるOracle Metadata Services(MDS)のディレクトリ」の説明にあるように、MDSはファイルベースしかなく、共有記憶域に格納されます。

4.1.5 Oracle Content DBのフェイルオーバーの制限

アクティブ/アクティブ・トポロジでもアクティブ/パッシブ・トポロジでも、Oracle Content DBには、フェイルオーバー・イベントが発生したときにいくつかの制限があります。詳細は、第3.1.3項「Oracle Content DBのフェイルオーバーの制限」を参照してください。

4.1.6 同じ場所に配置したトポロジ: コンポーネントを同じOracleホームに配置

図4-1は、共有記憶域にOracle Application ServerのOracleホームがインストールされているアクティブ/パッシブ・トポロジの図を示しています。Oracleホームには、Oracle HTTP ServerとWebCenter Suiteが両方とも含まれています。

MDSディレクトリは、共有記憶域に構成する必要があります。

図4-1    同じOracleホームにOracle HTTP ServerとWebCenter Suiteがインストールされているアクティブ/パッシブ・トポロジ


画像の説明

4.1.6.1 インストール手順の概要

この項では、インストール手順の概要を示します。詳細は、ご使用のプラットフォームのOracle Application Serverのインストレーション・ガイドを参照してください。

  1. Oracle Content DBをインストールする場合は、データベースが必要です。高可用性トポロジでは、コールド・フェイルオーバー・クラスタ・データベースやReal Application Clustersデータベースのような高可用性データベースを使用してください。

    データベースの初期化パラメータが正しく設定されているかどうかを確認してください。詳細は、ご使用のプラットフォームのOracle Application Serverのインストレーション・ガイドを参照してください。

    SYSユーザーのパスワードも知っておく必要があります。

  2. リポジトリ情報をOracle Internet Directoryに格納する場合は、Oracle Internet Directoryを用意しておきます。Oracle Internet Directoryは、可用性の高い方法で構成してください。

    Oracle Internet Directoryを用意していない場合は、リポジトリ情報をファイルに格納できます。

  3. VIRTUAL_HOST_NAME環境変数を、ハードウェア・クラスタに関連付けられている仮想ホスト名に設定します。これは、インストーラを起動する前に行う必要があります。

  4. 必要なコンポーネントを、共有記憶域にあるOracleホームにインストールします。

    • すべてのコンポーネント(Oracle HTTP Server、WebCenter FrameworkおよびOracle Content DB)を1つのOracleホームにインストールするには、「基本インストール」オプションを使用します。

    • Oracle HTTP Serverに加えてWebCenter FrameworkとOracle Content DBのいずれかをインストールするには、「拡張インストール」オプションを使用して、「Oracle WebCenter FrameworkとOracle HTTP Server」オプションまたは「Oracle Content Database」オプションを選択します。

4.1.6.2 インストール後の手順

インストール後に、次の手順を実行します。

  1. Windowsで実行している場合は、サービスとしてOPMNを構成する必要があります。この実行手順は、Oracle Application Serverのインストレーション・ガイドを参照してください。基本インストールではサービスとしてOPMNが構成されないため、この手順が必要になります。拡張インストール・オプションでのみ、サービスとしてOPMNが構成されます。

  2. この手順は、SSLを使用している場合にのみ必要です。

    1. certheaders_moduleをロードするには、ORACLE_HOME/Apache/Apache/conf/httpd.confファイルを次のように編集します。

      • UNIXでOracle HTTP Server 1.3を使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module libexec/mod_certheaders.so
        
        
      • UNIXでOracle HTTP Server 2.0を使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module modules/mod_certheaders.so
        
        
      • WindowsでOracle HTTP Serverを使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
        
        
    2. Oracle HTTP Serverを再起動します。

4.1.7 分散トポロジ: Oracle HTTP Server、WebCenter FrameworkおよびOracle Content DBを個別のOracleホームに配置

図4-2は、Oracle HTTP Server、WebCenter FrameworkおよびOracle Content DBが別々のOracleホームにインストールされている分散アクティブ/パッシブ・トポロジを示しています。このトポロジを使用できるのは、ノードがWeb層とアプリケーション層に分かれていて、かつ層の中でノードがファイアウォールによって切り離されている場合です。

図4-2    個別のOracleホームにコンポーネントがインストールされているアクティブ/パッシブ・トポロジ


画像の説明

4.1.7.1 Web層

Oracle HTTP Serverは、Web層で実行されています。Oracle HTTP Serverの可用性を高めるには、アクティブ/アクティブとアクティブ/パッシブいずれかのトポロジで実行します。

4.1.7.2 アプリケーション層

アプリケーション層のノードにWebCenter FrameworkとOracle Content DBをインストールします。これらのコンポーネントは、共有記憶域の個別のOracleホームにインストールします。

クライアントは、ハードウェア・クラスタに構成された仮想ホスト名を使用して、アプリケーション層のノードにリクエストを送信します。

OC4Jインスタンスはアプリケーション層に、Oracle HTTP ServerインスタンスはWeb層にクラスタリングします。クラスタは、マルチキャスト、ゲートウェイ、検出サーバーまたはpeer-to-peerを使用して作成できます。詳細は、第3.2.1項「OracleAS Clusterの設定」を参照してください。

4.1.7.3 インストール手順の概要

この項では、インストール手順の概要を示します。詳細は、ご使用のプラットフォームのOracle Application Serverのインストレーション・ガイドを参照してください。

  1. Oracle Content DBをインストールする場合は、データベースが必要です。高可用性トポロジでは、コールド・フェイルオーバー・クラスタ・データベースやReal Application Clustersデータベースのような高可用性データベースを使用してください。

    データベースの初期化パラメータが正しく設定されているかどうかを確認してください。詳細は、ご使用のプラットフォームのOracle Application Serverのインストレーション・ガイドを参照してください。

    SYSユーザーのパスワードも知っておく必要があります。

  2. リポジトリ情報をOracle Internet Directoryに格納する場合は、Oracle Internet Directoryを用意しておきます。Oracle Internet Directoryは、可用性の高い方法で構成してください。

    Oracle Internet Directoryを用意していない場合は、リポジトリ情報をファイルに格納できます。

  3. VIRTUAL_HOST_NAME環境変数を、ハードウェア・クラスタに関連付けられている仮想ホスト名に設定します。これは、インストーラを起動する前に行う必要があります。

  4. Web層のノードにOracle HTTP Serverをインストールします。Oracle HTTP Serverをインストールするには、インストーラで「拡張インストール」オプションを選択して、「Oracle Web Server」オプションを選択します。

    (Oracle HTTP Server、WebCenter FrameworkまたはOracle Content DBを実行する)Oracle Application Serverインスタンスをすべてクラスタリングする必要があります。クラスタの構成は、インストール時でもインストール後でも実行できます。

  5. アプリケーション層の共有記憶域にWebCenter Frameworkをインストールします。WebCenter Frameworkをインストールするには、インストーラで「拡張インストール」オプションを選択して、「Oracle WebCenter Framework」オプションを選択します。

  6. アプリケーション層の共有記憶域にOracle Content DBをインストールします。Oracle Content DBをインストールするには、インストーラで「拡張インストール」オプションを選択して、「Oracle Content Database」オプションを選択します。

4.1.7.4 インストール後の手順

インストール後に、次の手順を実行します。

  1. インストール時にOracle Application Serverインスタンスをクラスタリングしなかった場合は、インストール後にクラスタリングできます。すべてのOracle Application Serverインスタンスを、Web層とアプリケーション層の両方にクラスタリングする必要があります。詳細は、第3.2.1項「OracleAS Clusterの設定」を参照してください。

  2. この手順は、SSLを使用している場合にのみ必要です。

    1. certheaders_moduleをロードするには、ORACLE_HOME/Apache/Apache/conf/httpd.confファイルを次のように編集します。

      • UNIXでOracle HTTP Server 1.3を使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module libexec/mod_certheaders.so
        
        
      • UNIXでOracle HTTP Server 2.0を使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module modules/mod_certheaders.so
        
        
      • WindowsでOracle HTTP Serverを使用している場合は、httpd.confファイルに次の行を追加します。

        LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
        
        
    2. Oracle HTTP Serverを再起動します。

  3. Oracle Content DBをインストールしたOracleホームのOracle HTTP Serverを無効にします。

    1. ORACLE_HOME/opmn/conf/opmn.xmlファイルで、次のようにOracle HTTP Serverのステータスをdisabledに設定します。

      <ias-component id="HTTP_Server" status="disabled">
      
      
    2. Oracleホームにあるコンポーネントをすべて停止して再起動します。

      > ORACLE_HOME/bin/opmnctl stopall
      > ORACLE_HOME/bin/opmnctl startall
      
      

4.2 アクティブ/パッシブ・トポロジの管理

アクティブ/パッシブ・トポロジの管理では、1つのみのOracleホームを管理すればよいため、単一インスタンスのOracle Application Serverトポロジの管理と非常によく似ています。

この項の項目は次のとおりです。

4.2.1 Application Server Controlコンソールを使用した管理

Application Server Controlコンソールを使用して、アクティブ/パッシブ・トポロジを管理できます。Application Server Controlコンソールにアクセスするには、物理ホスト名のかわりに仮想ホスト名を使用します。

4.2.2 コンポーネントの起動と停止

opmnctlコマンドを使用すると、トポロジ内のコンポーネントを起動および停止できます。次に、例を示します。

opmnctl startall

Application Server Controlコンソールを使用して起動と停止の操作を実行することもできます。

4.2.3 アプリケーションのデプロイ

今回のリリースでデプロイ手順が変更されましたので注意してください。特に、共有記憶域上のMDSディレクトリへのパスを指定することが必要になりました。これを行うには、新たに導入された「Predeploymentツール」を実行します。

デプロイ手順の詳細は、『Oracle WebCenter Framework開発者ガイド』の第9章「WebCenterアプリケーションのデプロイ」を参照してください。

アプリケーションをアクティブ/パッシブ・トポロジにデプロイするには、アプリケーションをアクティブ・ノードにデプロイします。

4.3 アクティブ/パッシブ・トポロジにおけるOracle HTTP ServerおよびOC4Jの高可用性機能の概要

表4-1は、アクティブ/パッシブ・トポロジにおけるOracle HTTP ServerとOC4Jの高可用性機能の概要を示しています。

表4-1    アクティブ/パッシブ・トポロジにおけるOracle HTTP ServerおよびOC4Jの高可用性機能の概要 
項目  説明 

ノード障害からの保護 

Oracle HTTP Server: アクティブ・ノードに障害が発生した場合は、パッシブ・ノードが引き継いでOracle HTTP Serverプロセスを実行します。

OC4J: アクティブ・ノードに障害が発生した場合は、パッシブ・ノードが引き継いでOC4Jプロセスを実行します。 

サービス障害からの保護 

Oracle HTTP ServerおよびOC4J: Windowsでは、Oracle Fail Safeがアクティブ・ノードのサービスを監視します。サービスが停止した場合は、Oracle Fail Safeがそのサービスの再開を試みます。サービスを開始できない場合は、Oracle Fail Safeがインスタンスをノード2(パッシブ・ノード)にフェイルオーバーし、サービスを開始します。

UNIXでは、ベンダー・クラスタウェアがOracle Fail Safeと同様のサービスを提供します。 

プロセス障害からの保護 

Oracle HTTP Server: OPMNはOracle HTTP Serverプロセスを監視し、障害発生時にそのプロセスを再起動します。さらに、トポロジ内の別のOracle HTTP Serverプロセスで障害が発生した場合、OPMNはそれぞれのOracle HTTP Serverに障害を通知します。

OC4J: OPMNはOC4Jプロセスを監視し、障害発生時にはそのプロセスを再起動します。またOPMNは、この再起動が成功しなかった場合、動作しているOC4Jプロセスにのみリクエストを送信するようmod_oc4jに通知します。

OPMNの詳細は、第2.1項「OPMNでのプロセス管理」 を参照してください。 


戻る 次へ
Oracle
Copyright © 2007, Oracle.

All Rights Reserved.
目次
目次
索引
索引