Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

Oracle RAC 10g+HP Serviceguardの勘どころ・前編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
Oracle RAC 10g+HP Serviceguardの勘どころ・前編
Oracle Database 10gのクラスタ・テクノロジReal Application Clusters 10g(以下、RAC 10g)では、オラクルが開発したクラスタウェアCluster Ready Services(以下、CRS)の利用が必須となった。しかし、HP Serviceguard製品群であるServiceguard Extension for RAC(以下、SGeRAC)のようなOSレベルで最適化された障害検出やフェイルオーバの能力は備えていないので、ミッションクリティカル用途ではCRSとSGeRACを組み合わせて使うことになる。ここでは、この両者の組み合わせの勘どころを探ってみたい。
Oracle RAC 10g+HP Serviceguardの勘どころ・前編
HAクラスタとOracle RACの違い
CRSとは何か
2004年10月
テクニカルライター 吉川和巳

HAクラスタとOracle RACの違い


まずはHAクラスタとRACによるクラスタの違いについて再確認しておきたい。

以前の特集「HAクラスタの疑問を解く」でも説明したとおり、HAクラスタでは1台の共有ディスクを複数のノードに接続する。たとえばHAクラスタ上でOracleデータベースを運用するケースを考えてみよう。プライマリ・ノードの障害時には、スタンバイ・ノード側で共有ディスクのボリュームをマウントし直したあと、Oracleインスタンスを起動する。その後、スタンバイ・ノードによってサービスが再開される。共有ディスク上のデータベースをオープンできるのは、つねに1つのノードに限定されている。

一方RACによるクラスタでも、1台の共有ディスクを複数のノードに接続するという構成は変わらない。異なるのは、すべてのノード上でOracleインスタンスが常時起動しており、それぞれが共有ディスク上のデータベースを同時にオープンしている点だ(図1)。もちろん、普通のデータベースでこのようなことをすれば、共有ディスクにI/O負荷が極端に集中するし、データの整合性も維持できない。

  図1:HAクラスタとRACの違い
図1:HAクラスタとRACの違い
  この2つの問題を解決するのが、RACの要である分散キャッシュ機能、Global Cache Service(以下、GCS)である。GCSは、各ノードのそれぞれのキャッシュを統合し、1つの仮想的なキャッシュ(Cache Fusion)を実現する。たとえば、ノードBが必要とするデータがノードAのキャッシュにあるときは、ノードAからBへとキャッシュ内容が瞬時にネットワーク転送される。このメカニズムにより、共有ディスクがボトルネックとなることを防ぎ、クラスタ全体で優れたスケーラビリティが得られる。また同時に、各ノードがデータベース・レコードのロックを分散管理することで、データの整合性も確保される仕組みだ(図2)。
  図2:Cache Fusionのメカニズム
図2:Cache Fusionのメカニズム
 

こうしたアーキテクチャの違いから、RACによるクラスタは、通常のHAクラスタでは得られない以下のようなメリットを提供する。

  • インスタンス起動が不要なため短時間でフェイルオーバできる
  • 負荷分散によりスケーラビリティが大幅に向上する

HAクラスタでのフェイルオーバでは、Oracleインスタンスの起動のために数10秒〜数分の時間を要する。これに対し、RACではOracleインスタンスの起動はすべてのノードで動作しているため、あらためて起動する時間がかからない。さらにRACではCache Fusionによる負荷分散のおかげで、すべてのノードのプロセッサーとメモリを活用でき、格段に高いスケーラビリティを実現できる。この2点がRACのアドバンテージである。


RACによるクラスタ環境の構築


HAクラスタと同様に、RACにおいてもノードやネットワーク、Oracleインスタンスなどの障害をきっかけとしてフェイルオーバが開始される。HAクラスタとは異なり、RACではOracleインスタンスの起動や共有ディスクのボリュームのマウントは不要だ。ただしその他のフェイルオーバ処理、たとえば障害の検知をはじめ、スプリット・ブレイン(障害によりクラスタが分裂する現象)の解決、クラスタの再構成、IPアドレスの引き継ぎといった処理は、HAクラスタと同じく必要になる。またダウンしたOracleインスタンスの代わりを務めるOracleインスタンスでは、共有ディスク上に残されたREDOログをもとにトランザクションのロール・フォワードやキャッシュのリカバリなどを実施する。

Oracle RAC 10gからは、RACのフェイルオーバを実現する手段として、オラクル製のクラスタウェアCluster Ready Service(CRS)が標準コンポーネントとして提供されるようになった。

そこで以下ではCRSがどのように構成されているかを概観し、システム、OSレベルのイベント、RAC以外のアプリケーションの監視に必要となるSGeRACと共存させる際に考慮すべきポイントを説明したい。

トップへ   次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項