ヘッダーをスキップ
Oracle® Fail Safe概要および管理ガイド
リリース3.4.2 for Microsoft Windows
B63057-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

4 高い可用性を実現するための管理

Oracle Fail Safeには、Windowsクラスタ環境内でリソースを容易に構成できるという利点があります。この章では、次の項目について説明します。

スタンドアロン・リソースをグループに構成する手順、およびグループに属しているこれらのリソースの管理の詳細は、このマニュアルの第4章、第4章、第4章および第4章、Oracle Fail Safeのチュートリアルおよびオンライン・ヘルプを参照してください。

4.1 フェイルオーバーを構成する意味

Oracle Fail Safe Managerのウィザードを使用すると、ネットワーク管理者は、最小限の作業で簡単かつ自動的にフェイルオーバーを構成できます。Oracle Fail Safe Managerを使用すると、クラスタ内の1つのノードに障害が起きた場合でも別のクラスタ・ノードが障害ノードのグループ内のリソースを即時に引き継ぐように、リソースをグループごとに構成できます。

ウィザードにより、実装中の構成問題が発生するリスクが最小限に抑えられ、高度なレベルの専門知識がなくても、可用性が高まるようにリソースを構成できます。ウィザードで設定したポリシーの大部分は、Oracle Fail Safe Managerを使用して後から変更できます。

次のリストに、リソースにフェイルオーバーを実装するための、基本的な作業を要約します。最初の作業以外はすべて、Oracle Fail Safe Managerを使用して実行します。

  1. Oracle Fail Safeとともに構成する製品が適切にインストールされていることを確認します。(これについては、『Oracle Fail Safeインストレーション・ガイド』で説明しています。)

  2. Oracle Fail Safe Managerを起動します。

  3. クラスタを検証します。

  4. グループを作成します。

  5. グループに1つ以上の仮想アドレスを追加します。

  6. スタンドアロンのOracleデータベースを追加する場合は、「スタンドアロン・データベースの検証」ツールを使用してデータベースを検証します。

  7. グループにリソースを追加します。

  8. グループを検証します。

  9. クライアント・システムにOracle Netファイル(tnsnames.oraファイルなど)がある場合は、これらのファイルを更新します。


注意:

構成するリソースのタイプによっては、これ以外に手順や注意事項を追加する場合もあります。

Oracle Fail Safe Managerのウィザードを使用するための段階的なガイダンスは、Oracle Fail Safe Managerのチュートリアルおよびオンライン・ヘルプを参照してください。

4.2 ウィザード入力項目のOracle Fail Safeでの処理

ウィザードで必要な情報がすべて収集されると、Oracle Fail Safe ManagerがOracle Services for MSCSと対話し(次にそれがMSCSと対話して)、可用性の高い環境が実現されます。

Oracle Fail Safeでは、ユーザーがウィザードで入力した情報に基づいて、環境の構成に必要な追加情報がすべて導出されます。

同様の手順により、多くのリソースがOracle Fail Safeによって構成されます。Oracle Fail Safeでは、可用性の高いOracleデータベースを構成するために、次の特定の手順を実行します。

  1. 仮想アドレスを使用したデータベースへのアクセスを構成します。

    1. Oracle Netを、データベースの「可能所有者ノード」リストにあるすべてのノードで仮想アドレスまたは関連付けられたアドレスを使用できるように構成します。(2つのノードからなるクラスタでは、両方のクラスタ・ノードが可能所有者ノードになります。3つ以上のノードから成るクラスタでは、「リソースをグループに追加」ウィザードのステップとして、リソースの可能所有者ノードを指定するように求められます。)

    2. ネットワーク構成情報を、「可能所有者ノード」リストのすべてのノードにレプリケートします。

  2. 次のようにデータベースを構成します。

    1. データベース・リソースが使用するすべてのデータファイルがクラスタ・ディスクに置かれ、他のグループのアプリケーションによって現在使用されていないことを確認します。クラスタ・ディスクが別のグループ内に存在していても、そのグループ内のアプリケーションによって使用されていない場合、Oracle Fail Safeがそのディスクをデータベース・リソースと同じグループに移動します。

    2. ウィザードで選択した内容に基づいて、データベース・リソースのフェイルバック・ポリシーを作成します。

    3. 次のリソースをグループに移入します。

      • クラスタ・グループに使用される各ディスク・リソース

      • Oracleデータベース

      • Oracle Netリスナー

  3. データベースを追加するグループの可能所有者ノードのそれぞれについて次の処理を、1回に1つずつ行います。

    1. 同じ名前のOracleインスタンスをノード上に作成します。

    2. データベースをノードにフェイルオーバーして、ノードがデータベースをオンライン化またはオフライン化できることを検証し、フェイルオーバー・ポリシーが機能することを確認します。

  4. 「可能所有者ノード」リストのすべてのノードについてフェイルオーバーをテストした後、Oracleデータベースを停止します。「優先所有者ノード」リストでノードが選択されていない場合、グループは構成プロセスの過程で最後に指定したフェイルオーバー先のノードに残ります。

これらの手順を実行することで、Oracle Fail Safeでは、リソースが正しく構成され、またリソース追加先のグループのすべての可能所有者ノードにフェイルオーバーおよびフェイルバックできるようになります。

図4-1に、各ノードがデータベースを伴うグループのホストになる、2ノードのアクティブ/アクティブ・クラスタ構成を示します。

図4-1 Oracle Fail Safe環境内の仮想サーバーとアドレッシング

図4-1の説明が続きます。
「図4-1 Oracle Fail Safe環境内の仮想サーバーとアドレッシング」の説明

仮想サーバー(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にアクセスを続けます。クライアントは、グループを処理している物理ノードを考慮せずに、同じ仮想サーバー名およびアドレスを使用してそのグループ内のリソースに対してアクセスを続けます。

4.3 クラスタ・セキュリティの管理

Oracle Fail Safeに関連した管理作業を実行するには、Oracleリソースおよびアプリケーションを管理し、Oracle Fail Safe Managerによる操作を実行する特別な権限が必要です。

表4-1に、Oracle Fail Safe環境で使用するサービスに必要な権限の一覧を示します。詳細は、右端の列に示した項を参照してください。

表4-1 許可と権限

サービス 必要な権限 参照

Oracle Services for MSCS

すべてのクラスタ・ノードで管理者権限を持つドメイン・ユーザー・アカウント

4.3.1項


Oracle Fail Safe Manager

すべてのクラスタ・ノードで管理者権限を持つドメイン・ユーザー・アカウント

4.3.2項


Oracleデータベース

SYSDBA権限を伴うデータベース管理者アカウント

7.5項


汎用サービス

デフォルトでは、汎用サービスはローカル・システム・アカウントで実行されます。汎用サービスがユーザー・アカウントで実行されるように指定する場合、そのアカウントには「サービスとしてログオン」権限が必要です。

8.4項



4.3.1 Oracle Services for MSCS

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_PASSWORDFILENONEに設定されている場合)、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項「データベース認証」を参照してください。

4.3.1.1 Oracle Fail Safeのセキュリティ設定ツールを使用したアカウント更新

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ユーザー・アカウント設定

図4-2の説明が続きます。
「図4-2 Oracle Services for MSCSのWindowsユーザー・アカウント設定」の説明

4.3.2 Oracle Fail Safe Manager

Oracle Fail Safe Managerへのログインに使用するアカウントは、(ローカル・アカウントではなく)すべてのクラスタ・ノードに対する管理者権限を持ったドメイン・ユーザー・アカウントである必要があります。

4.4 スタンドアロン・リソースの検出

Oracle Fail Safe Managerのツリー・ビューから「スタンドアロン・リソース」フォルダを選択すると、Oracle Services for MSCSによってスタンドアロン・リソースが自動的に検出(特定)され、ツリー・ビューに表示されます。第7章第9章および第10章に、Oracle Fail Safeで可用性を高めるように構成することが可能な各タイプのコンポーネントの検出方法に関する情報が記載されています。

4.5 リソース名の変更

リソースがグループに追加された後は、リソース名を変更しないでください。リソース名を変更する必要がある場合は、Oracle Fail Safe Managerを使用してリソースをグループから削除してから、新しい名前でそのリソースをグループに再度追加します。

4.6 複数Oracleホーム環境でのOracle Fail Safeの使用方法

Oracle Fail Safeでは、複数のOracleホームの機能がサポートされています。次のリストに、複数Oracleホーム環境でOracle Fail Safeを使用するための要件を示します。

4.7 複数仮想アドレスを使用する構成

Oracle Fail Safe Managerを使用してグループにリソース(汎用サービス以外)を追加するには、あらかじめそのグループに1つ以上の仮想アドレスを追加しておく必要があります。クライアント・アプリケーションは、グループの仮想アドレスの1つによって、そのグループ内のリソースに接続します。

「リソースをグループに追加」ウィザードを起動して、リソースを追加する前に、グループには最大で32個までの仮想アドレスを追加できます。Oracle Fail Safe Managerで、「リソース」メニューから「グループに追加」を選択します。

次の制限事項に注意してください。

グループに仮想アドレスを追加すると、どのクラスタ・ノードがそのクラスタのホストになっているかにかかわらず、同じネットワーク・アドレスを持つクライアントはそのグループにアクセスできます。

グループ内の複数仮想アドレスによって、柔軟な構成オプションが得られます。たとえば、プライベート・ネットワークを介してデータベースのバックアップ処理を実行している間に、ユーザーがパブリック・ネットワークを介してデータベースにアクセスすることが可能になります。あるいは、異なるネットワーク・セグメント上の異なる仮想アドレスをセキュリティ管理に割り当て、管理者があるセグメント上のデータベースにアクセスする一方で、ユーザーが別のセグメント上のデータベースにアクセスすることも可能です。

グループに複数の仮想アドレスを追加する場合、Oracle Fail Safe Managerにより、そのグループのリソースにアクセスするためにクライアントが使用するアドレスを指定するように要求されます。グループに複数のリソース(たとえば、データベースとOracle Application Serverなど)を追加すると、ユーザーからデータベースに直接アクセスする場合はデータベースへのアクセス専用の仮想アドレスを使用し、ユーザーからOracle Application Serverにアクセスする場合は別の仮想アドレスを使用することができます。また、データベース・ユーザーが多数の場合、一部のユーザーにはある仮想アドレスを使用してデータベースにアクセスさせ、その他のユーザーにはもう1つ別の仮想アドレスを使用させることで、ネットワークのトラフィックを均衡化することが可能になります。

グループへの仮想アドレスの追加の詳細は、Oracle Fail Safe Managerオンライン・ヘルプを参照してください。

4.8 既存クラスタへのノードの追加

既存のクラスタに新規のノードを追加するためのソフトウェアをインストールする手順は、『Oracle Fail Safeインストレーション・ガイド』で説明しています。その作業の完了後に、最終的な手順があります。新規ノードが可能所有者となるクラスタの各グループに対して、「グループの検証」コマンドを実行する必要があります。

クラスタに新規ノードを追加し、Oracle Fail Safeと、そのノードで実行を予定しているリソースのDLLを、そのノードにインストールするとします。新規のノードは、これらのリソースの可能所有者になります。これらのリソースが新規ノード上で実行するように構成されていない場合、そのリソースを含むグループが新規のノードにフェイルオーバーしても、そのノードではこれらのリソースは再起動しません。

しかし「グループの検証」コマンドを実行すると、検証されたグループ内のリソースが、そのグループの可能所有者となっている各ノードで実行するよう構成されているかどうかが、Oracle Fail Safeによってチェックされます。グループ内のリソースが実行するように構成されていない可能所有者ノードが検出されると、Oracle Fail Safeがそれを構成します。

このため、新規のノードが可能所有者としてリストされた各グループについては、「グループの検証」操作を実行することを強くお薦めします。「グループの検証」操作については、6.1.2項で説明します。グループの検証には、第5章で説明しているように、FSCMDコマンドも使用できます。