ビジネスにおいて、24時間365日利用できる製品やサービスがますます求められるようになっています。100%の可用性を保証できるソリューションはありませんが、Oracle Fail Safeを使用すると、Microsoftクラスタ上で稼働してMicrosoft Cluster Server(MSCS)で構成されているOracleデータベースやその他のアプリケーションの停止時間を、最小限に抑えることが可能になります。
この章では、次の項目について説明します。
Oracle Fail Safeはユーザーフレンドリなソフトウェアで、Microsoft Cluster Server(MSCS)とともに、Microsoftクラスタ上で高い可用性を実現するビジネス・ソリューションです。クラスタは、ネットワーク・ユーザーからは可用性の高い単一システムのように見える2つ以上のMicrosoft Windowsシステムで構成されます。クラスタ内の各システムをクラスタ・ノードと呼びます。
Oracle Fail SafeはMSCSクラスタ・ソフトウェアとともに、クラスタ上で実行されるアプリケーションおよびシングルインスタンス・データベースの高い可用性を実現します。あるクラスタ・ノードに障害が発生した場合、Oracle Fail Safeを使用して構成したパラメータに基づき、クラスタ・ソフトウェアがその作業負荷を正常に機能しているノードに移します。この操作をフェイルオーバーと呼びます。
Oracle Fail Safeによって、シングルインスタンスOracleデータベース、およびMicrosoft Windowsサービスとして構成可能なほとんどすべてのアプリケーションの停止時間を短縮できます。
Oracle Fail SafeはOracle Services for MSCSとOracle Fail Safe Managerから構成されます。
Oracle Services for MSCSはMSCSソフトウェアとともに、可用性を高めるように構成されたリソースが計画的に、また予想外に停止したときの高速自動フェイルオーバーを構成します。これらのリソースには、Oracleデータベースまたはその他のMicrosoft Windowsサービス(これらが依存するソフトウェアおよびハードウェアを含む)があります。また、Oracle Services for MSCSは障害が発生したソフトウェア・リソースの再起動を試行できるため、あるクラスタ・ノードから別のノードへのフェイルオーバーが不要になることもあります。
注意: 以前のリリースでは、Oracle Services for MSCSはOracle Fail Safe Serverと呼ばれていました。 |
Oracle Fail Safe Managerには、クラスタ・リソースを構成し管理するためのユーザーフレンドリなインタフェースとウィザード、さらに問題を診断するためのトラブルシューティング・ツールが用意されています。
これらのコンポーネントをともに使用することで、高い可用性を備えたデータベース、アプリケーションおよびインターネット・ビジネス・ソリューションを速やかにデプロイできます。
Oracle Fail Safeには、次の項で説明する主な利点があります。
Oracle Fail SafeはMSCSとともに、ハードウェア・リソースとソフトウェア・リソースを両方の可用性が高くなるように構成します。構成後、エンド・ユーザーおよびクライアントからは、クラスタ内の複数のノードが単一の仮想サーバーのように見えます。エンド・ユーザーとクライアント・アプリケーションは単一の固定ネットワーク・アドレス(仮想アドレスと呼ばれる)に接続し、その基礎となるクラスタに関する知識は必要ありません。クラスタ内のあるノードが使用不可になった場合、MSCSは障害が発生したノードの作業負荷(およびクライアントの要求)を他のノードに移します。
例として、図1-1の左側に、2つのノードからなるクラスタ構成を示します。ここでは両方のノードが使用可能であり、トランザクションが能動的に処理されています。表面的には、この構成は2つの独立したサーバーの設定と同じように見えますが、共有ストレージ・インターコネクトによってディスクが両方のノードに物理的に接続されるようにストレージ・サブシステムが構成されている点が異なります。同じディスクに物理的に2つのノードが接続されますが、MSCSにより、各ディスクをある時点で所有しアクセスできるノードは必ずどちらか1つのノードとなります。
図1-1の右側に、あるノードのハードウェアまたはソフトウェアが使用不可になった場合に、管理者が介在することなく、正常に機能しているノードへ自動的に作業負荷を移して(フェイルオーバー)再起動する方法を示します。フェイルオーバー中、クラスタ・ディスクの所有権は障害が発生したサーバー(ノードA)から解放され、正常に機能しているサーバー(ノードB)がこの所有権を獲得します。シングルインスタンスOracleデータベースがノードAで稼働していた場合、Oracle Fail SafeによってノードBのデータベース・インスタンスが再起動されます。クライアントは、ノードAがホスト・サーバーであったときにデータベースへのアクセスに使用したのと同じ仮想アドレスを使用し、ノードBを介してデータベースにアクセスします。
図1-1 MicrosoftクラスタでのOracle Fail Safeによるフェイルオーバー
クラスタ内で動作するソフトウェアおよびその依存コンポーネント(たとえば、ディスク、IPアドレス、ネットワーク)の構成作業には、数多くのハードウェア・コンポーネントおよびソフトウェア・コンポーネントが関係しているため、複雑なプロセスになることがあります。対照的に、Oracle Fail Safeはインストール、管理および使用が簡単にできるように設計されており、クラスタ内のソフトウェアの構成が簡素化されています。
インストール: Oracle Universal Installerを使用すると、Oracle Fail Safeを対話的にインストールすることも、サイレント・モードでインストールすることもできます。サイレント・モードでのインストールの場合、レスポンス・ファイルを使用してOracle Universal Installerへの入力を行い、ソフトウェアをインストールできます。また、オペレーティング・システムとアプリケーション・ソフトウェアの両方をローリング・アップグレードすることも可能です。1つのシステムがローリング・アップグレードによってアップグレードされている間、もう1つのクラスタ・ノードが継続してクラスタの作業負荷のホストとなることが可能になり、停止時間が最短になります。詳細は、『Oracle Fail Safeインストレーション・ガイド』を参照してください。
管理と使用: Oracle Fail Safe Managerには、クラスタ上のアプリケーションとデータベースを設定、構成および管理するためのユーザーフレンドリなインタフェースが用意されています。Oracle Fail Safe Managerには、構成手順を自動化し、その構成をクラスタ・ノード間で矛盾なくレプリケートするウィザードもあります。
Oracle Fail Safe Managerには、次のものが含まれます。
リソース構成を自動化および簡易化するウィザードと、作業負荷のバランスをとるためにノード間でリソースを移動するなど、定期的なシステム・メンテナンスを速やかに実行するためのドラッグ・アンド・ドロップ機能
HTML形式やPDF形式で使用可能なチュートリアル、ヘルプおよびマニュアルなどのオンライン・マニュアル
図1-2に、Oracle Fail Safe Managerのウィンドウを示します。左側のペインには、クラスタおよびクラスタ・リソースの複数のビュー(ならびに現在の状態)が示されたツリー・ビューが表示されます。右側のペインには、ツリー・ビューから選択されたクラスタの全グループとそれらグループの現在の状態が示された、プロパティ・ページが表示されます。右側のペインの表示内容は、ツリー・ビューで選択されたオブジェクトによって異なります。特定のクラスタ、ノード、グループまたはリソースを選択すると、そのクラスタ、ノード、グループまたはリソースのプロパティ・シートが表示されます。
図1-3に、Oracle Fail Safe Managerのメニューと各メニューの項目を示します。
Oracle Fail Safeによって構成されたデータベースまたはその他のアプリケーションにアクセスするよう既存のアプリケーションを構成する場合、変更はほとんど必要ありません。アプリケーションは常に同じ仮想アドレスにあるクラスタ・リソースにアクセスするため、フェイルオーバーを短時間のノードの再起動として扱います。
フェイルオーバーの発生後、データベース・クライアントまたはユーザーは再接続して、まだ実行されていないトランザクション(インスタンスのリカバリ中にロールバックされたデータベース・トランザクションなど)があればそれを再実行する必要があります。OCI(Oracle ODBCドライバを使用するODBCクライアントを含む)によって開発されたアプリケーションでは、フェイルオーバー後の自動再接続を利用できます。詳細は、7.8項を参照してください。
Oracle Fail Safeのソリューションは、Microsoft社によって認定されたすべてのMicrosoft Windowsクラスタにデプロイされ、MSCSを使用して構成できます。
多くのクラスタの構成はほとんど同じで、ストレージ・インターコネクトの選択(SCSI、 ファイバ・チャネルまたはSAN)と、クラスタ・ノード間のアプリケーションのデプロイ方式のみが異なります。
典型的なクラスタ構成には、次のハードウェアおよびソフトウェアが含まれます。
実行可能アプリケーション・ファイルがインストールされているローカル(プライベート)・ディスクをそれぞれ1つ以上持っているMicrosoftクラスタ・ノード。
Local Area Network(LAN)またはWide Area Network(WAN)に接続するパブリック・インターコネクト(インターネットまたはイントラネット、あるいはその両方)。
共有ストレージ・インターコネクト(SCSI、ファイバ・チャネルまたはSAN)上のNTFS形式のディスク。あるノードから別のノードにフェイルオーバーする必要があるすべてのデータファイル、ログ・ファイルおよびその他のファイルは、これらのクラスタ・ディスク上に置かれます。
その他の冗長コンポーネント(UPS、ネットワーク・カード、ディスク・コントローラなど)。
Microsoft Windows
Oracle Services for MSCS
Oracle Fail Safe Manager(1つ以上のクラスタ・ノードまたは1台以上のクライアント・ワークステーション、あるいはその両方にインストール)
次のリソースのうち、可用性を高める1つ以上のリソース
Oracleシングルインスタンス・データベース
Oracle Management Agent
Windows汎用サービスとして構成可能なOracleまたはサード・パーティ製のアプリケーション
これらのコンポーネントに関するリリース別のサポートの詳細は、『Oracle Fail Safeリリース・ノート』を参照してください。
図1-4に、2つのノードからなるクラスタをOracle Fail Safeで構成した場合のハードウェアおよびソフトウェア・コンポーネントを示します。実行可能アプリケーション・ファイルは各クラスタ・ノードのプライベート・ディスク上にインストールされ、アプリケーション・データおよびログ・ファイルは共有クラスタ・ディスクに常駐することに注意してください。
図1-4 Oracle Fail Safeによって構成されるハードウェアおよびソフトウェア・コンポーネント
Oracle Fail SafeはMSCSとともに、クラスタ上で稼働するリソースを構成し、高速フェイルオーバーを実現して、計画的な停止(システム・アップグレード)および計画外の停止(ハードウェアまたはソフトウェアの障害)による停止時間を最小限に抑えます。
クラスタは、次のものを管理することにより、高い可用性を提供します。
計画外グループ・フェイルオーバー
クラスタにより、計画外グループ・フェイルオーバー(ハードウェアまたはソフトウェア・コンポーネントの障害)がユーザーに対して透過的な方法で管理されます。クラスタ上の1つのノードが使用不可になった場合、一時的に別のノードがそれ自体の作業負荷と、障害のあったノードの作業負荷の両方を処理します。リソースに障害が発生し、現在のノード上で再起動できなくなった場合、別のノードがそのリソース(およびそれが依存しているすべてのリソース)の所有権を受け取り、その再起動を試みます。
計画的フェイルオーバー
クラスタにより、グループの計画的フェイルオーバー(クラスタ上のソフトウェアをアップグレードする場合などに意図的に発生させるフェイルオーバー)が管理されます。別のノードにリソースをフェイルオーバーし、ソフトウェアまたはハードウェアのアップグレードを実行した後、そのリソースを元のノードに戻すことができます。(これをリソースのフェイルバックと呼びます。)その後、クラスタの他のノードでも同じアップグレード手順を実行します。
また、Oracle Fail Safeでは次のものを管理することにより、クラスタ環境のリソースを効率的に使用できます。
独立した作業負荷
クラスタ・ノードは個別の作業負荷を処理できます。たとえば、1つのノードがOracleデータベースのホストとなり、残りのノードがアプリケーションのホストとなることが可能です。
ロード・バランス
クラスタ・ノード間でリソースのバランスをとることができます。たとえば、負荷の大きいノードから容量に余裕があるノードにデータベースを移すことが可能です。
Oracle Fail Safeには多様なデプロイメント・オプションがあり、幅広いフェイルオーバー要件を満たします。第3章では、アクティブ/パッシブ・ソリューションやアクティブ/アクティブ・ソリューションなど、業務要件に合せてOracle Fail Safeソリューションを構成する方法を説明します。