X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Sun Cluster と Oracle

Guest Author
Oracle は、Sun Cluster 3.x で実行されるポピュラーなサービスの筆頭に挙げられます。Sun Cluster は、可用性の高い (HA) Oracle、Oracle Parallel Server (OPS)、Oracle Real Application Cluster (RAC) をサポートしており、ユーザーに多様な選択肢が与えられています。こうしたさまざまなリリース、オペレーティングシステム、プラットフォームに対応可能であることも Sun Cluster の大きな魅力の 1 つです。

SPARC の HA Oracle エージェントは、Oracle リリース 8.1.6.x (Solaris 8) ~ 10.2.0.x (Solaris 10) と多くのオプションを幅広くサポートしています。また、Sun Cluster 3.1u4 for (64 bit) x86 HA Oracle エージェントでは、Oracle 10g R1 (32 bit) および 10g R2 (64 bit) がサポートされています。

並列データベースのサポートも同様に広範囲に及び、SPARC プラットフォームで、さまざまなボリュームマネージャ (Solaris Volume Manager や Veritas Volume Manager)、Oracle リリース 8.1.7 ~ 10.2.0.x をサポートしています。さらに、Oracle 10g R2 (10.2.0.x) が 64 bit x86 プラットフォームでサポートされています。

Oracle にはさまざまなデータストレージオプションがあります。HA Oracle の場合は raw ディスク、高可用性ローカルファイルシステムおよびグローバルファイルシステム、Oracle OPS の場合は raw ディスクまたはネットワーク接続ストレージ、Oracle RAC の場合はネットワーク接続ストレージまたは共有 QFS ファイルシステムです。

Sun でこれらのリリースがサポートされていることを述べましたが、それではなぜ、あらゆるハードウェアおよびソフトウェアのリリースをすべてサポートしていないのでしょうか。それは、高可用性が Sun Cluster の第一の目標であり、この目標は偶然に達成できるものではないためです。高可用性を実現するには、あらゆるコード変更について専門家が広範囲に検討してソフトウェアの設計および実装を慎重に行ったうえで、徹底的なテストを実施する必要があります。

私は昨年あたりにエンジニアリンググループに参加しただけですが、実際に莫大な量のテストが行われていることに驚きました。また、Oracle とのエンジニアリングの関係が密接であることがよくわかりました。最近リリースされた Oracle 10g R2 (64 bit x86 Solaris) について、私が働いていたチームでは、Oracle 設計の製品テストを数多く実施しました。こうしたテストでは、さまざまなストレージオプションそれぞれに関して、インストールプロセス、柔軟な機能 (ノードの追加や削除)、以前のリリースとの共存を確認します。このようなテストの数は何百にもなり、バグが見つかった場合に再テストが必要となることもよくあります。実施するのは Oracle が義務付けたテストだけではありません。そのほか、Sun Cluster QA では、多くの負荷および障害の投入テストを実施しました。

堅牢性について Sun Cluster がきわめて優れているのは、この後者の 2 つのテストがあるためです。保険契約を投資の価値あるものにするのは、障害発生時に「適切に対処できる」というユーザーの信頼度です。システムがうまく機能しなかったり、システムに負荷がかかっている場合、ユーザーランドプロセスは応答しないことが多く、応答しても大幅に遅れます。ほかのクラスタノードが有効か無効かを判断するのが難しいこともあります。ここで役に立つのが Sun Cluster です。カーネルベースのメンバーシップモニターにより、クラスタノードが有効であるかどうかを即座に判断し、措置を講じて (障害フェンシング)、障害の発生したノードで重要な顧客データが破壊されないようにします。

Sun Cluster の品質保証 (QA) チームは、自動テストハーネスを使用して、多種多様な障害の状況 (重要なプロセスの中止やノードの異常終了など) のシミュレーションを行うことができます。こうしたシミュレーションは、テストサイクルのいずれの時点でも繰り返し実行できます。障害は、クラスタが以前の障害から回復している間にも発生します。QA チームは、さまざまな種類の物理的な障害投入 (ネットワークケーブルやストレージ接続の切断など) を手動で実行します。このようなことにより、障害が連鎖して発生したり極端に大きい負荷がかかったりした場合にも、クラスタが停止することなくサービスを継続して提供できるようになります。

このレベルの「認定」は、単純な機能回帰テストではなく、Sun Cluster が、競合製品が必死に対抗するようなレベルのサービス可用性を実現できることを意味しています。

Tim Read

スタッフエンジニア

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha