Oracle Fail Safeには、Windowsクラスタ環境内でリソースを容易に構成できるという利点があります。この章では、次の項目について説明します。
スタンドアロン・リソースをグループに構成する手順、およびグループに属しているこれらのリソースの管理の詳細は、このマニュアルの第4章、第4章、第4章および第4章、Oracle Fail Safeのチュートリアルおよびオンライン・ヘルプを参照してください。
Oracle Fail Safe Managerのウィザードを使用すると、ネットワーク管理者は、最小限の作業で簡単かつ自動的にフェイルオーバーを構成できます。Oracle Fail Safe Managerを使用すると、クラスタ内の1つのノードに障害が起きた場合でも別のクラスタ・ノードが障害ノードのグループ内のリソースを即時に引き継ぐように、リソースをグループごとに構成できます。
ウィザードにより、実装中の構成問題が発生するリスクが最小限に抑えられ、高度なレベルの専門知識がなくても、可用性が高まるようにリソースを構成できます。ウィザードで設定したポリシーの大部分は、Oracle Fail Safe Managerを使用して後から変更できます。
次のリストに、リソースにフェイルオーバーを実装するための、基本的な作業を要約します。最初の作業以外はすべて、Oracle Fail Safe Managerを使用して実行します。
Oracle Fail Safeとともに構成する製品が適切にインストールされていることを確認します。(これについては、『Oracle Fail Safeインストレーション・ガイド』で説明しています。)
Oracle Fail Safe Managerを起動します。
クラスタを検証します。
グループを作成します。
グループに1つ以上の仮想アドレスを追加します。
スタンドアロンのOracleデータベースを追加する場合は、「スタンドアロン・データベースの検証」
ツールを使用してデータベースを検証します。
グループにリソースを追加します。
グループを検証します。
クライアント・システムにOracle Netファイル(tnsnames.ora
ファイルなど)がある場合は、これらのファイルを更新します。
注意: 構成するリソースのタイプによっては、これ以外に手順や注意事項を追加する場合もあります。 |
Oracle Fail Safe Managerのウィザードを使用するための段階的なガイダンスは、Oracle Fail Safe Managerのチュートリアルおよびオンライン・ヘルプを参照してください。
ウィザードで必要な情報がすべて収集されると、Oracle Fail Safe ManagerがOracle Services for MSCSと対話し(次にそれがMSCSと対話して)、可用性の高い環境が実現されます。
Oracle Fail Safeでは、ユーザーがウィザードで入力した情報に基づいて、環境の構成に必要な追加情報がすべて導出されます。
同様の手順により、多くのリソースがOracle Fail Safeによって構成されます。Oracle Fail Safeでは、可用性の高いOracleデータベースを構成するために、次の特定の手順を実行します。
仮想アドレスを使用したデータベースへのアクセスを構成します。
Oracle Netを、データベースの「可能所有者ノード」リストにあるすべてのノードで仮想アドレスまたは関連付けられたアドレスを使用できるように構成します。(2つのノードからなるクラスタでは、両方のクラスタ・ノードが可能所有者ノードになります。3つ以上のノードから成るクラスタでは、「リソースをグループに追加」ウィザードのステップとして、リソースの可能所有者ノードを指定するように求められます。)
ネットワーク構成情報を、「可能所有者ノード」リストのすべてのノードにレプリケートします。
データベース・リソースが使用するすべてのデータファイルがクラスタ・ディスクに置かれ、他のグループのアプリケーションによって現在使用されていないことを確認します。クラスタ・ディスクが別のグループ内に存在していても、そのグループ内のアプリケーションによって使用されていない場合、Oracle Fail Safeがそのディスクをデータベース・リソースと同じグループに移動します。
ウィザードで選択した内容に基づいて、データベース・リソースのフェイルバック・ポリシーを作成します。
「可能所有者ノード」リストのすべてのノードについてフェイルオーバーをテストした後、Oracleデータベースを停止します。「優先所有者ノード」リストでノードが選択されていない場合、グループは構成プロセスの過程で最後に指定したフェイルオーバー先のノードに残ります。
これらの手順を実行することで、Oracle Fail Safeでは、リソースが正しく構成され、またリソース追加先のグループのすべての可能所有者ノードにフェイルオーバーおよびフェイルバックできるようになります。
図4-1に、各ノードがデータベースを伴うグループのホストになる、2ノードのアクティブ/アクティブ・クラスタ構成を示します。
仮想サーバー(AおよびB)とネットワーク・アドレスは、すべてのクライアントおよびクラスタ・ノードには既知のものです。各クラスタ・ノードのlistener.ora
ファイルと各クライアント・ワークステーションのtnsnames.ora
ファイルには、各仮想サーバーの名前とアドレス情報があります。
フェイルオーバーが適切に動作するためには、tnsnames.ora
ファイルおよびlistener.ora
ファイル内のホスト名(仮想アドレス)、データベース・インスタンス、SIDエントリおよびプロトコル情報が、グループ内のリソースの可能所有者となる各サーバー・ノードと、クライアント・システムとで一致する必要があります。
たとえば、通常の動作中には、ノードAで仮想サーバーAがアクティブになります。ノードBは仮想サーバーAのフェイルオーバー・ノードです。クラスタ・ディスクは両方のノードと接続しているため、リソースはクラスタのどちらのノードでも稼働しますが、各グループのリソースに対するサービスは、一度に1つのクラスタ・ノードによって提供されます。
ノードAでシステム障害が発生すると、グループ1はノードA上にあったときと同じ仮想アドレスおよびポート番号を使用してノードBでアクティブになります。ノードBはクライアントに対し透過的に、ノードAから作業負荷を引き継ぎ、クライアントは仮想サーバーAを使用してグループ1に、仮想サーバーBを使用してグループ2にアクセスを続けます。クライアントは、グループを処理している物理ノードを考慮せずに、同じ仮想サーバー名およびアドレスを使用してそのグループ内のリソースに対してアクセスを続けます。
Oracle Fail Safeに関連した管理作業を実行するには、Oracleリソースおよびアプリケーションを管理し、Oracle Fail Safe Managerによる操作を実行する特別な権限が必要です。
表4-1に、Oracle Fail Safe環境で使用するサービスに必要な権限の一覧を示します。詳細は、右端の列に示した項を参照してください。
表4-1 許可と権限
サービス | 必要な権限 | 参照 |
---|---|---|
Oracle Services for MSCS |
|
|
Oracle Fail Safe Manager |
|
|
Oracleデータベース |
SYSDBA権限を伴うデータベース管理者アカウント |
|
汎用サービス |
デフォルトでは、汎用サービスはローカル・システム・アカウントで実行されます。汎用サービスがユーザー・アカウントで実行されるように指定する場合、そのアカウントには「サービスとしてログオン」権限が必要です。 |
|
Oracle Fail Safeは、2種類のWindowsサービス(Cluster ServiceサービスおよびOracleMSCSServicesサービス)からデータベース・リソースにアクセスします。Cluster Serviceサービスは、データベース・リソースDLL関数(データベース・リソースを起動および停止する共通のリソース関数)を実装し、データベースに対して単純なデータベース問合せ(Is Aliveポーリング)を発行することにより、データベース・リソースが適切に機能しているかどうかを判別します。OracleMSCSServicesサービスは、すべてのデータベース・ファイルが共有クラスタ・ディスク上にあるかどうか、データベースが正常に起動および停止されるかどうかなど、データベース・リソースの構成に関連するデータベース問合せを発行します。
これらの各サービスは、特定のサービスに対して指定されている「ログオン」ユーザーのコンテキストで実行されます。OracleMSCSServicesサービスは、Oracle Fail Safeのインストール中にOracle Services for MSCSのセキュリティ設定ツールに指定されたアカウントで実行されます。Windows Server 2008より前は、Cluster Serviceサービスは、クラスタの構成時に指定されたクラスタ・アカウントで実行されていました。Windows Server 2008以降では、Cluster ServiceサービスはユーザーLocal Systemとして実行されます。
すべてのデータベース接続を適切に認証する必要があるため、Oracle Fail Safeは、データベースへの接続権限を持つコンテキストから実行する必要があります。データベースへのアクセスにオペレーティング・システム認証を使用する場合(データベース・パラメータREMOTE_LOGIN_PASSWORDFILE
がNONE
に設定されている場合)、Oracle Databaseは、そのサービスのアカウント名を使用してWindowsサービスからアクセスを認証します。OracleMSCSServicesサービスの場合、OracleMSCSServicesサービスに指定された「ログオン」アカウントを使用して認証が行われるということです。Cluster Serviceサービスの場合、2008より前のWindows Serverバージョンを使用するインストールでは、クラスタ・アカウントが使用されます。Windows Server 2008以降では、Oracle Fail Safeデータベース・リソースDLLによって、データベースへの接続時にOracleMSCSServicesアカウントが暗号化されます。このため、Windows Server 2008以降では、Cluster ServiceサービスがLocal Systemとして実行されている場合でも、データベース・アクセス認証はOracleMSCSServicesアカウントを使用して行われます。
Windows Server 2008より前は、Oracle Fail Safeは2種類のユーザー・アカウント(Cluster Serviceサービスに指定されたアカウントと、OracleMSCSServicesサービスに指定されたアカウント)からデータベースにアクセスすることが可能でした。Windows Server 2008以降を使用するシステムでは、オペレーティング・システム認証を使用する場合、Oracle Fail Safeは、OracleMSCSServicesサービスに指定されたアカウントを使用してデータベース・アクセスの認証を試行します。データベース認証の詳細は、7.3.3.4項「データベース認証」を参照してください。
Oracle Fail Safeにはセキュリティ設定ツールがあり、これを使用してOracle Services for MSCSが稼働するアカウントの情報を更新できます。Oracle Services for MSCSのインストール時に、Oracle Services for MSCSのセキュリティ設定ツールもインストールされます。
クラスタ・ノードで、WindowsのタスクバーからOracle Services for MSCSのセキュリティ設定ツールにアクセスできます。このためには、Windowsの「スタート」メニューから「プログラム」(または「すべてのプログラム」)→「Oracle_Home」→「Oracle Services for MSCS Security Setup」の順に選択します。
注意: すべてのクラスタ・ノードのセキュリティ情報の更新に、必ずOracle Services for MSCSのセキュリティ設定ツールを使用し、すべてのクラスタ・ノードで同じアカウントを使用してください。 |
図4-2に、ドメインEXAMPLE\Adminにユーザー・アカウントAdministratorを設定する例を示します。
図4-2 Oracle Services for MSCSのWindowsユーザー・アカウント設定
Oracle Fail Safe Managerのツリー・ビューから「スタンドアロン・リソース」フォルダを選択すると、Oracle Services for MSCSによってスタンドアロン・リソースが自動的に検出(特定)され、ツリー・ビューに表示されます。第7章、第9章および第10章に、Oracle Fail Safeで可用性を高めるように構成することが可能な各タイプのコンポーネントの検出方法に関する情報が記載されています。
リソースがグループに追加された後は、リソース名を変更しないでください。リソース名を変更する必要がある場合は、Oracle Fail Safe Managerを使用してリソースをグループから削除してから、新しい名前でそのリソースをグループに再度追加します。
Oracle Fail Safeでは、複数のOracleホームの機能がサポートされています。次のリストに、複数Oracleホーム環境でOracle Fail Safeを使用するための要件を示します。
Oracle Services for MSCSは、すべてのクラスタ・ノード上のいずれか1つのOracleホームにインストールします。ノードにインストールして実行できるのは、Oracle Services for MSCSの1つのバージョンにかぎられます。
最新リリースのOracle Fail Safe Managerを使用して、複数のクラスタを管理します。各種バージョンのOracle Fail Safe ManagerおよびOracle Fail Safeサーバー・コンポーネントの互換性の詳細は、『Oracle Fail Safeリリース・ノート』を参照してください。
注意: 複数バージョンのOracle Fail Safe Managerをシステムにインストールできますが、各バージョンは別々のOracleホームにインストールする必要があり、最新リリースのOracle Fail Safe Managerは最後にインストールしてください。 |
可用性が高まるように構成する各リソースは、可能所有者であるすべてのクラスタ・ノード上の同じOracleホームにインストールします。「クラスタの検証」
操作を行うと、この対称性が検証されます。「クラスタの検証」
操作の詳細は、6.1.1項を参照してください。
グループ内のすべてのデータベースおよびリスナーは、同じOracleホームに属している必要があります。
データベースをグループに追加すると、Oracle Netのリスナー・リソースもグループに追加されます。オプションで、Oracle Management Agentリソースをグループに追加できます。詳細は、9.2項を参照してください。
リスナーは、データベースが存在しているのと同じOracleホームに作成されます。
Oracle Fail Safe Managerを使用してグループにリソース(汎用サービス以外)を追加するには、あらかじめそのグループに1つ以上の仮想アドレスを追加しておく必要があります。クライアント・アプリケーションは、グループの仮想アドレスの1つによって、そのグループ内のリソースに接続します。
「リソースをグループに追加」ウィザードを起動して、リソースを追加する前に、グループには最大で32個までの仮想アドレスを追加できます。Oracle Fail Safe Managerで、「リソース」メニューから「グループに追加」を選択します。
次の制限事項に注意してください。
グループに少なくとも1つの仮想アドレスを追加していないと、そのグループに別のリソースは追加できません。仮想アドレスが含まれていないグループには、汎用サービス以外は追加できません。
グループに1つ以上のOracleデータベースが含まれる場合は、次のようにします。
グループにデータベースを追加する前に、そのグループの1つ以上のデータベースとともに構成するすべての仮想アドレスをグループに追加します。
グループ内のすべてのデータベースで、グループに追加する最初のデータベースに対して指定する一連の仮想アドレスを使用します。(一連の仮想アドレスには、最低1つのアドレスを含めることができます。)
Oracleデータベースに対する複数仮想アドレスの構成の詳細は、7.3.3.2項を参照してください。
グループに仮想アドレスを追加すると、どのクラスタ・ノードがそのクラスタのホストになっているかにかかわらず、同じネットワーク・アドレスを持つクライアントはそのグループにアクセスできます。
グループ内の複数仮想アドレスによって、柔軟な構成オプションが得られます。たとえば、プライベート・ネットワークを介してデータベースのバックアップ処理を実行している間に、ユーザーがパブリック・ネットワークを介してデータベースにアクセスすることが可能になります。あるいは、異なるネットワーク・セグメント上の異なる仮想アドレスをセキュリティ管理に割り当て、管理者があるセグメント上のデータベースにアクセスする一方で、ユーザーが別のセグメント上のデータベースにアクセスすることも可能です。
グループに複数の仮想アドレスを追加する場合、Oracle Fail Safe Managerにより、そのグループのリソースにアクセスするためにクライアントが使用するアドレスを指定するように要求されます。グループに複数のリソース(たとえば、データベースとOracle Application Serverなど)を追加すると、ユーザーからデータベースに直接アクセスする場合はデータベースへのアクセス専用の仮想アドレスを使用し、ユーザーからOracle Application Serverにアクセスする場合は別の仮想アドレスを使用することができます。また、データベース・ユーザーが多数の場合、一部のユーザーにはある仮想アドレスを使用してデータベースにアクセスさせ、その他のユーザーにはもう1つ別の仮想アドレスを使用させることで、ネットワークのトラフィックを均衡化することが可能になります。
グループへの仮想アドレスの追加の詳細は、Oracle Fail Safe Managerオンライン・ヘルプを参照してください。
既存のクラスタに新規のノードを追加するためのソフトウェアをインストールする手順は、『Oracle Fail Safeインストレーション・ガイド』で説明しています。その作業の完了後に、最終的な手順があります。新規ノードが可能所有者となるクラスタの各グループに対して、「グループの検証」
コマンドを実行する必要があります。
クラスタに新規ノードを追加し、Oracle Fail Safeと、そのノードで実行を予定しているリソースのDLLを、そのノードにインストールするとします。新規のノードは、これらのリソースの可能所有者になります。これらのリソースが新規ノード上で実行するように構成されていない場合、そのリソースを含むグループが新規のノードにフェイルオーバーしても、そのノードではこれらのリソースは再起動しません。
しかし「グループの検証」
コマンドを実行すると、検証されたグループ内のリソースが、そのグループの可能所有者となっている各ノードで実行するよう構成されているかどうかが、Oracle Fail Safeによってチェックされます。グループ内のリソースが実行するように構成されていない可能所有者ノードが検出されると、Oracle Fail Safeがそれを構成します。
このため、新規のノードが可能所有者としてリストされた各グループについては、「グループの検証」
操作を実行することを強くお薦めします。「グループの検証」
操作については、6.1.2項で説明します。グループの検証には、第5章で説明しているように、FSCMD
コマンドも使用できます。