この章では、Oracle Cluster Ready Servicesの概要と構成手順について説明します。この章の項は次のとおりです。
Oracle Clusterwareにより、クラスタ環境のユーザー・アプリケーションとOracleデータベースの可用性を管理します。Oracle Real Application Clusters(RAC)環境において、Oracle ClusterwareはすべてのOracle Databaseプロセスを自動的に管理します。Oracle Clusterwareの管理対象はクラスタ・リソースと呼ばれます。これは、データベース、インスタンス、サービス、リスナー、仮想IP(VIP)アドレスまたはアプリケーション・プロセスになる場合があります。
当初、Oracle ClusterwareはOracle RACのサポート用に作成されました。しかし、Oracle Clusterwareの利点はOracle RACのサポートに限定されず、アドオン・モジュールやスクリプトにより、他のアプリケーションの管理にもOracle Clusterwareを使用できます。この柔軟性と拡張性から、Oracle ClusterwareはOracle Fusion Middlewareの高可用性ソリューションの基盤となっています。
Oracle Clusterwareの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。このガイドはOracle Technology Networkにあります。
Oracle Clusterwareには高可用性フレームワークが含まれています。このフレームワークにより、あらゆるリソースを保護するインフラストラクチャが実現されます。Oracle Clusterwareの用語では、リソースとは、アプリケーション、仮想IP、共有ディスクなどの管理対象エンティティを識別するためにOracle Clusterwareによって作成されたオブジェクトのことです。Oracle Clusterwareにより、システムの起動時に管理対象リソースが確実に起動されます。また、Oracle Clusterwareではリソースを監視して、常時リソースが使用できるように確認します。
この高可用性フレームワークによって、Oracle Clusterwareは、リソースの作成時にユーザーが提供したアクション・プログラムでリソースを管理します。たとえば、単一プロセスで実行されるアプリケーションを表すリソースが作成され、アクション・スクリプトには、このプロセスを起動したり停止する方法と状態をチェックする方法が指定されます。アプリケーションに障害が発生すると、Oracle Clusterwareではこのスクリプトを使用してプロセスの再起動を試みます。アプリケーションが現在実行されているノードで障害が発生したときに、アプリケーションが正しく構成されている場合、Oracle Clusterwareでは別のノードでアプリケーションの再起動を試みます。アプリケーションの監視間隔、起動と停止、およびアプリケーションの依存性を構成できます。
Oracle Fusion Middlewareは重要なアプリケーション環境であり、この環境ではOracle Clusterwareの高可用性機能の利点を享受します。Oracle Clusterwareには、ミドルウェア・リソースの管理を容易にするアドオン・コンポーネントのApplication Server Cluster Ready Service(ASCRS)が含まれています。
ASCRSはフロントエンドとバックエンドで構成されます。フロントエンドはコマンドライン・インタフェースであるascrsctlです。このインタフェースにより、リソースの作成、削除、更新、起動、停止、クラスタ・ノード間のスイッチオーバーなどの管理作業を実行できます。バックエンドは、様々なサポート対象リソースに必要なアクション・ロジックです。フロントエンドとバックエンドにはそれぞれ固有のログ・ファイルがあります。
ASCRSは、仮想IP、共有ディスク、データベース・リスナー、データベース・インスタンスおよびWebLogic管理サーバーをサポートします。これらのミドルウェア・コンポーネントからOracle Clusterwareリソースを作成し、Oracle ClusterwareとASCRSでクラスタ内の高可用性を維持できます。
Oracle ClusterwareとASCRSには、ホスティング環境が破損したり消失した場合に様々なリソースの残存性を向上する手段が用意されています。ディスクの破損や、ディスクの破損によるアプリケーションの誤作動に対して保護するわけではありません。また、ASCRSでは、Oracle SIDなどのユーザー入力を確実に検証する処理は行われないため、不注意によるユーザー入力エラーが原因で、リソースが適切に管理されないことがあります。
ASCRSでは、Oracle Clusterware 10.2.0.4または11.1.0.7以上をサポートしています。
ASCRSのオンライン・ヘルプは、次のコマンドを使用して起動できます。
ascrsctl help -c command -t resource_type
たとえば、仮想IPリソースの作成に関するオンライン・ヘルプを参照するには、次のコマンドを使用します。
ascrsctl help -c create -t vip
ascrsctlオンライン・ヘルプの内容を表示するには、付録H「ascrsctlのオンライン・ヘルプ」を参照してください。
ASCRSを使用するには、クラスタの各ノードにある各CRSホーム内で、CRSの拡張機能としてASCRSをインストールし、個別に構成する必要があります。
ASCRSコマンドライン・ツールのascrsctlにより、ASCRSで様々なミドルウェア・コンポーネントを制御できます。CRSの制御対象であるコンポーネントは、実行時の状態が詳細に監視され、障害発生時にCRSによって適切なアクションが実行されます。ascrsctlによりCRSリソースを作成し、そのリソースに対して、起動、停止、更新、スイッチオーバー、ステータス監視および削除操作を実行できます。
クラスタの各ノードにASCRSをインストールします。個別ノードにASCRSを適切にインストールするには、次のことを確認してください。
オペレーティング・システム: ASCRSはUnixプラットフォームでのみサポートされています。システム・バージョンとパッチ・レベルは、そのプラットフォームでサポートされているCRSのリリースと互換性がある必要があります。
CRSとリリース番号: 対象システムにCRSがインストールされ、適切に起動して機能している必要があります。CRSのリリース番号は10.2.0.4以上である必要があります。Oracle ClusterwareおよびCRSのインストールの詳細は、Oracle Clusterwareのインストレーション・ガイドを参照してください。
ユーザー・アカウント: ASCRSインストール・ユーザーは、CRSホームの所有者と同一ユーザーである必要があります。
注意: CRS 10.2.0.4に対してASCRSをインストールするには、ローカル・システムにSun JDK(またはJRE)1.5以上がインストールされている必要があります。これはコマンドライン・ツールのascrsctlで必要になります。 |
ASCRSをインストールする手順は次のとおりです。
CRSの所有者としてログインします。
Oracle Fusion Middleware Companion CDを挿入し、次のコマンドを実行してascrs.zipファイルを解凍およびインストールします。
cd CRS_HOME
unzip Disk1/ascrs/ascrs.zip
cd ascrs/bin
setup
CRSのリリースが10.2.0.4で、JDK(JRE)1.5+以上がインストールされている場合、次のコマンドを実行します。
setup -j JDK/JRE_HOME
インストールが完了すると、次のASCRSディレクトリ構造が表示されます。
CRS_HOME/ascrs/bin CRS_HOME/ascrs/config CRS_HOME/ascrs/lib CRS_HOME/ascrs/log CRS_HOME/ascrs/public CRS_HOME/ascrs/perl CRS_HOME/ascrs/sql CRS_HOME/ascrs/wlst
ASCRSがインストールされると、デフォルト構成で使用できます。ロギングの場所、ロギング・レベルまたはデフォルトのCRSプロパティをカスタマイズするには、CRS_HOME/ascrs/configディレクトリにある構成ファイルのconfig.xml
とascrs.properties
を編集します。
config.xmlファイルには、ascrsctl ASCRSエージェント・ロギングの構成が格納されます。いずれかの場所を変更するには、既存のパス名を指定するか、ORACLE_HOME接頭辞を使用してこのCRSホーム内のパス名を指定します。利用可能なロギング・レベルは、冗長性の高い順に、ALL、FINEST、FINER、FINE、INFO、WARNINGおよびSEVEREです。
ASCRS付属のデフォルトconfig.xml
ファイルを次に示します。
<?xml version="1.0" ?> <config> <ascrsctl> <display level="normal"/> <log path="${ORACLE_HOME}/ascrs/log/ascrsctl.log" level="FINER"/> </ascrsctl> <agent> <log path="${ORACLE_HOME}/ascrs/log" level="FINER"/> </agent> </config>
ascrs.properties
ファイルには、リソースの作成に使用する属性が格納されます。
デフォルトのascrs.properties
ファイルを次に示します。
normal.vip.AUTO_START=1 normal.vip.CHECK_INTERVAL=7 normal.vip.FAILOVER_DELAY=5 normal.vip.FAILOVER_INTERVAL=50 normal.vip.FAILOVER_THRESHOLD=5 normal.vip.RESTART_ATTEMPTS=2 normal.vip.SCRIPT_TIMEOUT=30 normal.vip.START_TIMEOUT=30 normal.vip.STOP_TIMEOUT=30 # vip resource policies fast.vip.AUTO_START=1 fast.vip.CHECK_INTERVAL=5 fast.vip.FAILOVER_DELAY=4 fast.vip.FAILOVER_INTERVAL=30 fast.vip.FAILOVER_THRESHOLD=5 fast.vip.RESTART_ATTEMPTS=2 fast.vip.SCRIPT_TIMEOUT=30 fast.vip.START_TIMEOUT=30 fast.vip.STOP_TIMEOUT=30 # disk resource policies normal.disk.AUTO_START=1 normal.disk.CHECK_INTERVAL=7 normal.disk.FAILOVER_DELAY=5 normal.disk.FAILOVER_INTERVAL=50 normal.disk.FAILOVER_THRESHOLD=5 normal.disk.RESTART_ATTEMPTS=2 normal.disk.SCRIPT_TIMEOUT=30 normal.disk.START_TIMEOUT=30 normal.disk.STOP_TIMEOUT=30 fast.disk.AUTO_START=1 fast.disk.CHECK_INTERVAL=5 fast.disk.FAILOVER_DELAY=4 fast.disk.FAILOVER_INTERVAL=30 fast.disk.FAILOVER_THRESHOLD=5 fast.disk.RESTART_ATTEMPTS=2 fast.disk.SCRIPT_TIMEOUT=30 fast.disk.START_TIMEOUT=30 fast.disk.STOP_TIMEOUT=30 # Oracle database listener resource policies normal.dblsnr.AUTO_START=1 normal.dblsnr.CHECK_INTERVAL=50 normal.dblsnr.FAILOVER_DELAY=20 normal.dblsnr.FAILOVER_INTERVAL=300 normal.dblsnr.FAILOVER_THRESHOLD=5 normal.dblsnr.RESTART_ATTEMPTS=4 normal.dblsnr.SCRIPT_TIMEOUT=60 normal.dblsnr.START_TIMEOUT=60 normal.dblsnr.STOP_TIMEOUT=60 fast.dblsnr.AUTO_START=1 fast.dblsnr.CHECK_INTERVAL=40 fast.dblsnr.FAILOVER_DELAY=20 fast.dblsnr.FAILOVER_INTERVAL=250 fast.dblsnr.FAILOVER_THRESHOLD=5 fast.dblsnr.RESTART_ATTEMPTS=4 fast.dblsnr.SCRIPT_TIMEOUT=60 fast.dblsnr.START_TIMEOUT=60 fast.dblsnr.STOP_TIMEOUT=60 # Oracle database resource policies normal.db.AUTO_START=1 normal.db.CHECK_INTERVAL=120 normal.db.FAILOVER_DELAY=30 normal.db.FAILOVER_INTERVAL=700 normal.db.FAILOVER_THRESHOLD=5 normal.db.RESTART_ATTEMPTS=4 normal.db.SCRIPT_TIMEOUT=300 normal.db.START_TIMEOUT=300 normal.db.STOP_TIMEOUT=300 fast.db.AUTO_START=1 fast.db.CHECK_INTERVAL=60 fast.db.FAILOVER_DELAY=20 fast.db.FAILOVER_INTERVAL=400 fast.db.FAILOVER_THRESHOLD=5 fast.db.RESTART_ATTEMPTS=4 fast.db.SCRIPT_TIMEOUT=300 fast.db.START_TIMEOUT=300 fast.db.STOP_TIMEOUT=300 # Oracle WebLogic server resource policies normal.as.AUTO_START=1 normal.as.CHECK_INTERVAL=50 normal.as.FAILOVER_DELAY=20 normal.as.FAILOVER_INTERVAL=350 normal.as.FAILOVER_THRESHOLD=5 normal.as.RESTART_ATTEMPTS=4 normal.as.SCRIPT_TIMEOUT=600 normal.as.START_TIMEOUT=600 normal.as.STOP_TIMEOUT=600 fast.as.AUTO_START=1 fast.as.CHECK_INTERVAL=40 fast.as.FAILOVER_DELAY=10 fast.as.FAILOVER_INTERVAL=300 fast.as.FAILOVER_THRESHOLD=5 fast.as.RESTART_ATTEMPTS=4 fast.as.SCRIPT_TIMEOUT=600 fast.as.START_TIMEOUT=600 fast.as.STOP_TIMEOUT=600
これらのプロパティの値を編集する場合は、事前にOracle Clusterwareのドキュメントで各プロパティの定義を確認してください。
コンピューティング環境によって処理速度が異なるため、スクリプト、起動および停止のタイムアウト値を設定する前に、アプリケーションの起動と停止における待機時間を測定することをお薦めします。これらの値を、測定された待機時間の約2倍に設定します。
ascrsctlコマンドラインにより、Fusion Middlewareコンポーネント用に作成したCRSリソースを管理します。このツールにより、リソースの作成、更新、起動、停止、スイッチおよび削除ができます。
ASCRSは、WebLogic管理サーバー、Oracleデータベース、Oracleデータベース・リスナー、仮想IPおよび共有ディスクをサポートします。これらの個別コンポーネントに対応するCRS管理対象リソースを作成し、そのリソースをCRSで制御できます。
ascrsctlコマンドラインでCRSリソースを作成する際、ネーミング規則が適用されます。コンポーネントを適切に機能させるためには、このネーミング規則に従ってください。CRSインストールはOracle Fusion Middleware専用にすることをお薦めします。それによって、すべての管理可能CRSリソースがascrsctlで作成され、ネーミングの不整合によるエラーを防止できます。
このネーミング規則では、リソース名を次の形式にします。
ora.name.cfctype
nameはリソースの短縮名(sharediskやmyvipなど)を表します。typeはいずれかのリソース・タイプ(vip、disk、db、dblsnr、asなど)を表します。
たとえば、ネットマスクが255.255.255.0であるeth0ネットワーク・インタフェース上で仮想IPの192.168.1.10から仮想IPリソースを作成するには、次のコマンドを使用します。
ascrsctl create -name myvip -type vip -ipAddr 192.168.1.10 -netmask 255.255.255.0 -interface eth0
Oracle Cluster Ready Servicesには、あらゆるリソースを保護するインフラストラクチャを実現する高可用性フレームワークが含まれています。Oracle Clusterwareの用語では、リソースとは、アプリケーション、仮想IP、共有ディスクなどの管理対象エンティティを識別するためにOracle Clusterwareによって作成されたオブジェクトのことです。各リソースの自動開始値を1に設定すると、CRSの起動時にOcale Clusterwareで管理対象リソースが確実に起動されます。また、Oracle Clusterwareではリソースを監視して、常時リソースが使用できるように確認します。
仮想IPリソースはシステム・リソースです。createコマンドやupdateコマンドでは、rootユーザーとして実行するスクリプトが生成され、操作を実行します。
仮想IPリソースに関連する構文の詳細とすべてのコマンドライン・オプションの詳細は、第11.4.1項「CRS管理対象リソースの作成」を参照してください。
Fusion Middleware環境において、共有ディスクは、Oracleデータベース・ソフトウェア、データベース・データファイルおよびWebLogic Serverの保持に使用されるディスク・ストレージです。共有ディスクにより、クラスタ内にある複数のノード間においてデータベースやWebLogicインスタンスがスイッチオーバーされると、同じデータを使用できます。
共有ディスク・リソースを作成するには、有効なマウント・ポイント、マウント・コマンドおよびアンマウント・コマンドを含む次のascrsctlコマンドを実行します。
ascrsctl create -n sharedisk -type disk -path /asdisk -mc "/bin/mount /dev/sda /asdisk" -umc "/bin/umount /asdisk"
共有ディスク・リソースを作成する際、次の考慮事項について入念に確認してください。
共有ディスク・リソースの作成前に、共有ディスクのルートに、.ascrssf
という名前で空のシグネチャ・ファイルを作成します。このファイルは、リソースの作成後、CRSによって使用されます。
マウント・コマンドとアンマウント・コマンドのどちらにも、操作なしを表す特別なコマンドのnop
を指定できます。共有ディスクが常時オンラインの場合は、マウント・コマンドでこれを使用できます。なんらかの理由でディスクがオフラインになると、CRSによって検出され、停止としてマーキングされます。CRSによってディスクをアンマウントする必要がない場合は、アンマウント・コマンドにnop
コマンドを使用できます。この場合、ディスクがアンマウント不要であることを確認してください。共有ディスクが保護されずに2つのノードでマウントされると、ディスクが破損する場合があります。この場合も、共有ディスクには常にシグネチャ・ファイルが必要です。
共有ディスクを使用しているアクティブ・プロセスが存在する場合、マウント・コマンドが失敗することがあります。このコマンドの失敗を防止するには、このディスク・リソースがオンライン状態の間、他のアプリケーションでこのディスクにアクセスしないようにします。
マウント・コマンドやアンマウント・コマンドが複雑な場合は、実行可能スクリプトにロジックをカプセル化し、マウント・コマンドやアンマウント・コマンドとして、スクリプトのフルパスを指定します。適切なアンマウント・スクリプトでは、このディスクを使用している他のプロセスを強制終了して、クリーンで正常なディスク・アンマウントを実行できます。アンマウント・コマンドをスクリプトに記述している場合、fsckコマンドを実行するなどして、基本的なファイル・システム・チェックを実行します。
共有ディスク・リソースはシステム・リソースです。create、updateまたはdeleteのコマンドでは、rootとして実行する必要があるスクリプトが生成され、作成操作を実行します。画面出力の指示に従ってください。
シグネチャ・ファイルが共有ディスクのマウント・ポイントに存在すると、起動や停止の操作が失敗することがあります。シグネチャ・ファイルがマウント・ポイントに存在すると、実際にディスクがマウントされていなくても、マウントされているとASCRSでは認識されます。
mc
やumc
のパラメータまたはスクリプト・ファイルでマウント・コマンドやアンマウント・コマンドを使用する前に、コマンドを検証してください。ASCRSではコマンドの検証は行われません。
Oracleデータベース・リスナー・リソースを作成するには、次のものが必要です。
有効なOracleデータベース・ホーム
リスナー名
リスナー・アドレスの仮想IPリソース名
Oracleホームのディスク・リソース名
Oracleデータベース・リスナー・リソースを作成するには、次のascrsctlコマンドを使用します。
ascrsctl create -n mydblsnr -type dblsnr -loh /cfcdb -ln LISTENER -disk ohdisk -vip myvip
データベース・リスナー・リソースを作成する前に、次の考慮事項について入念に確認してください。
データベース・リスナー・ホームが共有ディスクにインストールされていること。ascrsctlコマンドで共有ディスクのCRSリソースが作成され、リソースが起動されていること。
ascrsctlコマンドで仮想IPのCRSリソースが作成され、リソースが起動されていること。
リスナーがコールド・フェイルオーバー・クラスタ(CFC)対応になっていること。詳細は、第10.2.4項「Oracleデータベースの変換」を参照してください。
リスナー名およびOracleホームが有効なデータベースSIDおよびデータベース・ホームであることを確認します。このタイプの情報を完全に検証する処理は、ASCRSでは実行されません。
Oracleデータベース・リソースを作成するには、次のものが必要です。
有効なOracleデータベース・ホーム
データベースSID名
Oracleホームのディスク・リソース名
データファイル
リスナー・リソース名
Oracleデータベース・リソースを作成するには、次のascrsctlコマンドを実行します。
ascrsctl create -name string -type db -oraHome string -oraSID string -disk string [string...] -lsnr string [-pfile string] [options]
Oracleデータベース・リソース作成に関するオンライン・ヘルプ情報を表示するには、次のコマンドを使用します。
ascrsctl help -c create -t db
Oracleデータベース・リソースを作成する前に、次の考慮事項について入念に確認してください。
データベースが共有ディスクにインストールされていること。同じ共有ディスクまたは異なる共有ディスクに、このデータベースのデータファイルが配置されていること。ascrsctlでこれらすべての共有ディスクのCRSリソースが作成され、起動されていること。
ascrsctlコマンドでデータベース・リスナーのCRSリソースが作成され、リソースが起動されていること。
データベースがCFC対応になっている必要があります。詳細は、第10.2.4項「Oracleデータベースの変換」を参照してください。
データベースSIDとOracleホームが有効であることを確認します。この情報を包括的に検証する処理は、ASCRSでは実行されません。
ascrsctlで作成したリソースは、updateコマンドを使用して更新できます。リソースのタイプに応じて、updateコマンドラインで適切なパラメータを指定することでリソース・プロファイルを更新できます。一部の更新は、リソースがオフラインのときにのみ実行可能です。
たとえば、前述の項で作成した仮想IPリソースを新しいIPアドレスと別のインタフェースで更新するには、次のコマンドを使用します。
ascrsctl update -n myvip -type vip -ip 192.168.1.20 -if eth1
リソースが起動されると、CRSに制御され、実行時の状態がCRSによって継続的に監視されます。リソースが他のリソースに依存する場合、そのリソースを起動すると、依存先のリソースが自動的に起動されます。リソース起動時のリソース配置ポリシーの役割の詳細は、Oracle Clusterwareのドキュメントを参照してください。ascrsctlのstartコマンドはCRSコマンドのcrs_start
にマッピングされます。
たとえば、仮想IPリソースを起動するには、次のコマンドを使用します。
ascrsctl start -n ora.myvip.cfcvip
注意: リソースが複数のリソースに依存する場合は、そのリソースの起動時に、それらのリソースがオンラインになった場合、同じノードにターゲット指定されることを確認します。たとえば、 |
リソースを停止すると、そのリソースはオフライン状態になり、CRSはその実行状態の監視を停止します。オンライン状態の他のリソースがそのリソースに依存している場合、-fオプションを指定しないと依存リソースは停止しません。このオプションにより、対象のリソースとそのすべての依存リソースが強制的に停止されます。リソース停止時におけるリソース依存性の影響の詳細は、Oracle Clusterwareのドキュメントを参照してください。ascrsctlのstopコマンドは、CRSコマンドのcrs_stop
にマッピングされます。
たとえば、仮想IPリソースを停止するには、次のコマンドを実行します。
ascrsctl stop -n ora.myvip.cfcvip
リソースのスイッチオーバーは、ノード上で実行しているリソースを停止してから別のノード上で再起動するプロセスです。新しいノードが指定されていない場合、配置ポリシーに基づいてCRSによって決定されます。スイッチ対象リソースが他のリソースに依存している場合や、オンライン状態のリソースがありそれらのリソースがスイッチ対象リソースに依存している場合、-fフラグでこのリソースのスイッチ操作を実行する必要があります。
クラスタ内で利用可能な別のノードにリソースをスイッチオーバーするには、次のコマンドを実行します。
ascrsctl switch -n ora.myvip.cfcvip
リソースをCRSの制御から削除できます。この対応付けを解除すると、対応するアプリケーションやコンポーネントの機能はCRSの影響を受けなくなります。CRSではそのリソースの状態は監視されなくなります。依存リソースを持つリソースは削除できません。
CRSの制御からリソースを削除するには、次のコマンドを実行します。
ascrsctl delete -n ora.myvip.cfcvip
ascrsctlのstatusコマンドを使用して、リソースのステータスをチェックできます。このコマンドにより、すべてのリソースとその依存リソースの状態を表示できます。特定のリソースを指定してstatusコマンドを実行すると、そのCRSプロファイル、直接的な依存関係や間接的な依存関係、および現在の状態に関する情報が表示されます。
たとえば、リソースのステータスをチェックするには、次のコマンドを実行します。
ascrsctl status -n ora.myvip.cfcvip
この仮想IPリソースがデータベース・リスナー・リソースによって使用されているときに、このリスナー・リソースがデータベース・リソースによって必要とされている場合、次のようなステータス出力に、他のステータス情報とともにすべての依存性情報がツリー構造で表示されます。
Basic information ------------------------+------------------------ Name | ora.myvip.cfcvip Target state | OFFLINE Resource state | OFFLINE Hosting members | stajz11, stajz12 ------------------------+------------------------ Common CRS parameters ------------------------+------------------------ Auto start | No Check interval | 60 sec Failover delay | 10 sec Script timeout | 50 sec Start timeout | 100 sec Stop timeout | 100 sec ------------------------+------------------------ Resource specific parameters ------------------------+------------------------ Interface(s) | eth2 Netmask | 255.255.252.0 Virtual IP address | 140.87.27.48 ------------------------+------------------------ Resource dependency tree(s) ------------------------------------------------- ora.mydb.cfcdb | +->ora.mydblsnr.cfcdblsnr | | | +->ora.mydisk.cfcvip | | | +->ora.myvip.cfcvip | +->ora.mydisk.cfcdisk
管理サーバーのCRSリソースを作成する場合、他のタイプのリソースを作成する場合よりも多くの準備が必要です。WebLogic管理サーバーのCRSリソースを作成する手順は複雑なため、手順は次のセクションに分かれています。
基本設定
ノード・マネージャの設定
管理サーバーの設定
リソースの作成
基本設定
基本設定の開始前に、WebLogic Serverが共有ディスクにインストールされていることを確認してください。WebLogic Serverソフトウェアと管理サーバー・ドメイン・インスタンスは、同じ共有ディスクにでも別々の共有ディスクにでもインストールできます。
また、WebLogic ServerがCFC有効になっていることを確認してください。WebLogic ServerをCFC有効にする手順の詳細は、第10.2.2.1項「管理サーバーのトポロジ1」を参照してください。CFCが有効にされていると、管理サーバー、元のノードおよびフェイルオーバー・ノードを、顕著な相違なしに手動で起動や停止ができます。
WebLogic ServerのCSRリソースを作成する手順における基本設定セクションの手順は次のとおりです。
各共有ディスクのCRSリソースを作成し、作成場所のノードでリソースを起動します。
ascrsctlコマンドで仮想IPのCRSリソースを作成し、同じクラスタ・ノードでリソースを起動します。
ノード・マネージャの設定
ノード・マネージャを設定する手順は次のとおりです。
ノード・マネージャのユーザー名とパスワードが変更されていない場合は、それらを変更します。初期パスワードはランダムに生成されます。ノード・マネージャのパスワードを変更するには、WebLogic Server管理コンソールで「ドメイン」、「セキュリティ」、「一般」、「詳細」の順に選択します。新しいパスワードを入力して「保存」をクリックします。
手順1や手順2で変更を行った場合は、WLS_HOME/server/binディレクトリから次のコマンドを使用してノード・マネージャを再起動します。
startNodemanager.sh
WLS_HOME/common/bin/wlst.shディレクトリにあるWebLogic Scripting Toolを起動します。ascrscf.dat
ファイルとascrskf.dat
ファイルにノード・マネージャのユーザー・ログイン情報を永続保持するため、次のコマンドを使用します。
nmConnect('nmUser','nmPasswd','hostname','nmPort','domainName','domainDir') storeUserConfig(WLS_HOME/common/nodemanager/ascrscf.dat, WLS_HOME/common/nodemanager/ascrskf.dat,'true') nmDisconnect() exit()
CRS_HOME/ascrs/public/cfcStartNodeManager.shをWLS_HOME/server/binディレクトリにコピーして、スクリプトを実行可能にします。
注意: 設定を常に同期するため、ノード・マネージャのパスワードやユーザー名を変更するたびに手順3の操作を実行する必要があります。 |
ノード・マネージャを初めて起動した後で、nodemanager.properties
ファイルを編集してStartScriptEnabled
プロパティを定義できます。nodemanager.properties
ファイルは、ノード・マネージャを初めて起動するまでは存在していません。
WLS_HOME/common/nodemanagerディレクトリで、nodemanager.properties
ファイルのStartScriptEnabled
プロパティをtrue
に設定します。
StartScriptEnabled=true
nodemanager.properties
ファイルをチェックして、ListenAddressに値が割り当てられていないことと、ListenPortに有効なポート番号が割り当てられていることを確認します。
このプロパティがnodemanager.properties
ファイルで設定されている場合には、同じプロパティをJAVA_OPTIONS環境変数で定義する必要はなくなります。
管理サーバーの設定
管理サーバーは仮想IP上でリスニングします。これが正しく構成されていることを確認するには、WebLogic Server管理コンソールにログインして、管理サーバーのリスニング・アドレス・ページに移動します。仮想IPとポート番号がどちらも正しいことを確認してから「保存」をクリックします。
管理サーバーはローカル・ホスト上でもリスニングする必要があります。これが正しく構成されていることを確認するには、WebLogic Server管理コンソールにログインして次の操作を行います。
ドメイン・ツリーで、「環境」、「サーバー」、「AdminServer」、「プロトコル」、「チャネル」の順に選択します。
「ロックして編集」ボタンをクリックします。
「新規」をクリックしてチャネル名とt3プロトコルを選択し、次の画面に進みます。
「リスニング・アドレス」と「外部リスニング・アドレス」の両方のローカル・ホストを入力します。
「リスニング・ポート」と「外部リスニング・ポート」にポート番号を入力します。このポート番号は仮想IPで使用したポート番号と正確に同じにする必要があります。
次の画面に進んで、「有効」が選択されていることを確認します。
「終了」をクリックします。
「変更のアクティブ化」をクリックします。
DOMAIN_HOME/servers/AdminServer/securityディレクトリが存在することを確認します。このディレクトリにはboot.properties
ファイルが格納されている必要があります。このファイルが存在しない場合は作成して、次のプロパティを含めます。
username=<admin server user name> password=<admin server user password>
DOMAIN_HOME/servers/AdminServer/data/nodemanager/startup.propertiesが存在する場合は、このファイルで定義されているAutoRestart
プロパティがfalse
に設定されていることを確認します。
管理サーバーを再起動します。
すべてのWebLogicプロセスを停止して、ノード・マネージャを強制終了します。
注意: 設定を常に同期するため、管理サーバーのパスワードを変更するたびに手順3の操作を実行する必要があります。 |
リソースの作成
基本設定、ノード・マネージャの設定および管理サーバーの設定を実行したら、次のコマンドを使用してCRSリソースを作成します。
ascrsctl create -n adminserver -type as -ch /cfcas -disk sharedisk -vip myvip
注意: WebLogicコンポーネントのホーム引数(-ch)は有効である必要があります。この情報を包括的に検証する処理は、ASCRSでは実行されません。 |
注意: Oracle Portal、Forms、ReportsおよびDiscovererでは、管理サーバーを管理対象サーバーから分離できません。このリリースにおいてASCRSでは、管理サーバーの管理のみサポートしています。そのため、ASCRSによって管理されるデプロイメントでは、管理サーバーと同じMWOHおよびドメイン・ディレクトリで実行されている管理対象サーバーは停止する必要があります。 |
次の2つの例では、ASCRSを使用してFusion Middlewareリソースを管理する方法を示します。
図11-1は、CRSトポロジの例1を示しています。このトポロジ例では、2ノードのクラスタにOracle WebLogic Serverがインストールされています。同じドメインにあるすべてのWebLogicサーバーのうち、WebLogic管理サーバーのみがこのクラスタで実行されます。ここでの目的は、Java EEコンテナで実行されるWebLogic管理サーバーのフェイルオーバー・ソリューションと、Oracle Enterprise Managerのフェイルオーバー・ソリューションを実現することです。WebLogicソフトウェアとドメイン・ホームはどちらも同じ共有ディスクに配置されます。
前提事項:
動作環境: これは2ノードのLinuxクラスタで、そのメンバーはnode1.company.comとnode2.company.comです。ノード1は1次ノードとして指定され、ノード2はフェイルオーバー・ノードです。両方のノードの/crshomeディレクトリにCRSがインストールされ、起動されています。両方のノードでASCRSがインストールおよび構成されています。
管理サーバーのドメイン・ホームとWebLogicソフトウェア用に1台の共有ディスクが割り当てられています。これは/dev/sda1で識別されるSCSIドライブであり、ext2ファイル・システムが格納されています。これは/sharedisk1にマウントされます。
WebLogic Serverは、パブリック・リスニング・アドレスに仮想IPの192.168.1.10を使用し、リスニング・ポートに7001を使用しています。各ノードで、仮想IPのバインドでは2つのネットワーク・インタフェース・コントローラのeth0とeth1が利用可能です。ネットマスクは255.255.255.0です。
WebLogic Serverは共有ディスクの/sharedisk1/fmwディレクトリにインストールされています。ドメイン・ディレクトリは/sharedisk1/fmw/user_projects/domains/asdomainです。
第11.4.1.2項「共有ディスク・リソースの作成」で説明しているように共有ディスク用にリソースを作成し、第11.4.8項「Oracle WebLogic管理サーバーの構成」で説明しているようにWebLogic管理サーバー用にリソースを構成したら、次の手順を実行してすべてのリソースを作成します。
WebLogic Serverとそのノード・マネージャを完全に停止します。
/bin/unmount
コマンドで共有ディスクをアンマウントします。
/sbin/ifconfig
コマンドで仮想IPをアンバインドします。
CDコマンドで、/CRS_HOME/ascrs/binディレクトリに移動します。
次のコマンドを使用して、仮想IPリソースを作成します。
ascrsctl create -n asvip -t vip -if "eth0|eth1" -ip 192.168.1.10 -nm 255.255.255.0
次のコマンドを使用して、共有ディスク・リソースを作成します。
ascrsctl create -n asdisk -t disk -path /sharedisk1 -mc "/bin/mount /dev/sda1 /sharedisk1" -umc "/bin/umount /sharedisk1"
次のコマンドを使用して、管理サーバー・リソースを作成します。
ascrsctl create -n wlas -t as -vip asvip -disk asdisk -ch /sharedisk1/fmw/user_projects/domains/asdomain
次のコマンドを使用して、すべてのデータベース関連リソースを起動します。
ascrsctl start -n ora.wlas.cfcas
図11-2は、CRSトポロジの例2を示しています。このトポロジ例では、次の特性を持つ2ノード構成クラスタに、WebLogic ServerとOracleデータベースがインストールされています。
このクラスタで実行されるサーバーは、WebLogic管理サーバーのみです。WebLogicソフトウェアとドメイン・ホームは同じ共有ディスク上に配置されています。
管理サーバーおよびOracle Enterprise Managerは、最初のノードを1次ノードとして、WebLogic Java EEコンテナで実行されます。
データベース・ソフトウェアとそのデータファイルは、2番目のノードを1次ノードとして、他の2台の共有ディスクに配置されています。
このトポロジの目的は、WebLogic管理サーバーとデータベース・インスタンスの両方のフェイルオーバー・ソリューションを実現することです。
前提事項:
動作環境: これは2ノードのLinuxクラスタで、そのメンバーはnode1.company.comとnode2.company.comです。ノード1はWebLogic Serverの1次ノードとして指定され、ノード2はこのフェイルオーバー・ノードとなっています。ノード2はOracleデータベースの1次ノードとして指定され、ノード1はこのフェイルオーバー・ノードとなっています。両方のノードの/crshomeディレクトリに、CRSがインストールされ、起動されています。両方のノードでASCRSがインストールおよび構成されています。
3台の共有ディスクが割り当てられています。いずれもSCSIドライブで、それぞれ/dev/sda1、/dev/sda2、/dev/sda3として識別され、ext2ファイル・システムが格納されています。これらはWebLogicソフトウェアとドメイン・ホーム、Oracleデータベース・ソフトウェアおよびデータファイル用に使用されます。それらはそれぞれ/sharedisk1、/sharedisk2、/sharedisk3にマウントされます。
WebLogic Serverは、パブリック・リスニング・アドレスに仮想IPの192.168.1.10を使用し、リスニング・ポートに7001を使用しています。各ノードで、この仮想IPのバインドでは2つのネットワーク・インタフェース・コントローラのeth0とeth1が利用可能です。
データベース・リスナーは、リスニング・アドレスに仮想IPの192.168.1.20を使用し、リスニング・ポートに1521を使用しています。各ノードで、この仮想IPのバインド用にネットワーク・インタフェース・コントローラのeth2が利用可能です。
両方の仮想IPのネットマスクは255.255.255.0です。
WebLogic Serverは共有ディスクの/sharedisk1/fmwディレクトリにインストールされています。ドメイン・ディレクトリは/sharedisk1/fmw/user_projects/domains/asdomainです。
データベースは共有ディスクの/sharedisk2/dbhomeディレクトリにインストールされており、データファイルは/sharedisk3/dbdataディレクトリに配置されています。ここでは、orclはOracle SID名、LISTENERはリスナー名であることが前提になります。
WebLogicリソースは例1のトポロジと同じ手順で作成されます。データベース・リソースを作成する手順は次のとおりです。
第11.4.1.2項「共有ディスク・リソースの作成」で説明しているように共有ディスク用にリソースを作成し、第11.4.8項「Oracle WebLogic管理サーバーの構成」で説明しているようにWebLogic管理サーバー用にリソースを構成したら、次の手順を実行してすべてのリソースを作成します。
データベースとそのリスナーを停止します。
/bin/unmountコマンドを使用して、共有ディスクの/sharedisk2と/sharedisk3をアンマウントします。
/sbin/ifconfigコマンドで仮想IPをアンバインドします。
次のコマンドを使用して、リスナーの仮想IPリソースを作成します。
./ascrsctl create -n dbvip -t vip -if eth2 -ip 192.168.1.20 -nm 255.255.255.0
次のコマンドを使用して、Oracleホームの共有ディスク・リソースを作成します。
./ascrsctl create -n dbdisk -t disk -path /sharedisk2 -mc "/bin/mount /dev/sda2 /sharedisk2" -umc "/bin/umount /sharedisk2"
次のコマンドを使用して、データファイルの共有ディスク・リソースを作成します。
./ascrsctl create -n dfdisk -t disk -path /sharedisk3 -mc "/bin/mount /dev/sda3 /sharedisk3" -umc "/bin/umount /sharedisk3"
次のコマンドを使用して、データベース・リスナー・リソースを作成します。
./ascrsctl create -n asdblsnr -t lsnr -vip dbvip -disk dbdisk -loh /sharedisk2/dbhome -ln LISTENER
次のコマンドを使用して、データベース・リソースを作成します。
./ascrsctl create -n asdb -t db -lsnr asdblsnr -sid orcl -oh /sharedisk2/dbhome -disk dbdisk dfdisk
次のコマンドを使用して、ノード2のすべてのデータベース関連リソースを起動します。
./ascrsctl start -n ora.asdb.cfcdb
ASCRSでは、ロギングに基づいて、予期しない問題が診断されます。より多くの診断情報を取得するには、ASCRS構成ファイルのconfig.xml
を変更してログ・レベルの冗長性を高くできます。
また、CRSの基本的な問題について、CRSデーモンのログもチェックできます。