このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

17.12 Oracle Clusterwareを使用したHAProxyの高可用性の実現

2つ以上のサーバーでKeepalivedを使用している場合、ネットワーク接続が失われるとスプリット・ブレイン状態になり、複数のサーバーがプライマリ・サーバーとして動作し、データが破損する可能性があります。 このシナリオを回避するため、Keepalivedに優先して仮想IPアドレス・フェイルオーバーをサポートするように、HAProxyをOracle Clusterwareなどのshoot the other node in the head (STONITH)ソリューションと組み合せて使用することをお薦めします。

Oracle Clusterwareは、独立したサーバーを単一のクラスタとして連携させることができる、ポータブルなクラスタリング・ソフトウェア・ソリューションです。 クラスタ内の個々のサーバーは連携するため、外部クライアント・アプリケーションには単一サーバーのように見えます。

次の例では、各クラスタ・ノードで、HTTPD Webサーバー・インスタンスに対するロード・バランシングのために、Oracle ClusterwareをHAProxyと組み合せて使用します。 HAProxyおよびHTTPDインスタンスを実行しているノードに障害が発生すると、サービスおよびその仮想IPアドレスが他のクラスタ・ノードにフェイルオーバーします。

図17.7に、外部公開ネットワークに接続された2つのクラスタ・ノードを示します。 これらのノードは、クラスタ・ハートビートに使用されるプライベート・ネットワークによってもリンクされています。 これらのノードは、サービス構成データとアプリケーション・データだけでなく、投票ディスクとOracle Cluster Registry (OCR)が格納された認定済のSANまたはNASストレージへの共有アクセス権を持ちます。

図17.7 2つのノードが存在するOracle Clusterware構成の例

この図は、外部公開ネットワークに接続された2つのクラスタ・ノードを示しています。 これらのノードは、クラスタ・ハートビートに使用されるプライベート・ネットワークによってもリンクされています。 これらのノードは、サービス構成データとアプリケーション・データだけでなく、投票ディスクとOracle Cluster Registry (OCR)が格納された認定済のSANまたはNASストレージへの共有アクセス権を持ちます。


高可用性構成では、ネットワーク、ハートビートおよびストレージの接続を複合的な冗長構成にし、少なくとも3つの投票ディスクを構成することをお薦めします。

次のステップに、このようなクラスタの構成方法を示します。

  1. クラスタ・ノードとして機能する各システムにOracle Clusterwareをインストールします。

  2. 各ノードにhaproxyおよびhttpdパッケージをインストールします。

  3. appvipcfgコマンドを使用して、HAProxyの仮想IPアドレスと、HTTPDサービス・インスタンスごとに個別の仮想IPアドレスを作成します。 たとえば、2つのHTTPDサービス・インスタンスがある場合、3つの異なる仮想IPアドレスを作成する必要があります。

  4. HAProxyとHTTPDサービスを開始、停止、クリーンアップおよび確認するクラスタ・スクリプトを各ノードに実装します。 これらのスクリプトは、成功すると0を返し、失敗すると1を返します。

  5. 共有ストレージを使用して、構成ファイル、HTMLファイル、ログ、および各ノード上のHAProxyとHTTPDサービスが起動するのに必要なすべてのディレクトリとファイルを共有します。

    Oracle Linux Supportサブスクリプションがある場合は、NFSや他のタイプの共有ファイル・システムのかわりに、OCFS2またはASM/ACFSを共有ストレージで使用できます。

  6. 各HTTPDサービス・インスタンスを構成して、正しい仮想IPアドレスにバインドします。 また、各サービス・インスタンスには、1つのノードに障害が発生したときにすべてのサービス・インスタンスが同じサーバーに共存できるように、構成ファイル、ログ・ファイルおよびその他の必要なファイルからなる個別セットが必要です。

  7. crsctlコマンドを使用して、HAProxyごと、およびHTTPDサービス・インスタンスごとにクラスタ・リソースを作成します。 HTTPDサービス・インスタンスが2つ以上存在する場合、これらのインスタンスのバインディングを最初にクラスタ・ノード間で分散する必要があります。 最初はいずれかのノードでHAProxyサービスを起動できます。

Oracle Clusterwareを、フロントエンドのロード・バランサ、Webサーバー、データベース・サーバーおよび他のコンポーネントからなる多層システムを保護する、より複雑なソリューションの基礎として使用できます。

詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド11g』および『Oracle Clusterware管理およびデプロイメント・ガイド12c』を参照してください。