Oracle RAC のサポート データサービスの障害モニタリングは、次のリソースの障害モニターによって行われます。
スケーラブルなデバイスグループリソース
スケーラブルなファイルシステムのマウントポイントリソース
それぞれの障害モニターは、次の表に示すリソースタイプを持つリソースに含まれています。
|
これらのリソースの標準プロパティーおよび拡張プロパティーが、障害モニターの動作を制御します。これらのプロパティーのデフォルト値が、事前設定された障害モニターの動作を決定します。事前設定された動作は、ほとんどの Oracle Solaris Cluster のインストールに適しているはずです。したがって、Oracle RAC のサポート 障害モニターの調整は、事前に設定されたこの動作を変更する必要がある場合のみにとどめるべきです。
Oracle RAC のサポート 障害モニターを調整するには、次のタスクを実行します。
障害モニターの検証間隔を設定する
障害モニターの検証タイムアウトを設定する
継続的な障害とみなす基準を定義する
リソースのフェイルオーバー動作を指定する
詳細は、Oracle Solaris Cluster 4.3 データサービス計画および管理ガイド の Oracle Solaris Cluster データサービスの障害モニターの調整を参照してください。これらのタスクが必要な Oracle RAC のサポート 障害モニターに関する情報について、次の各サブセクションで説明します。
デフォルトでは、障害モニターは、リソースが表すデバイスグループ内のすべての論理ボリュームをモニターします。デバイスグループ内の論理ボリュームのサブセットのみをモニターする必要がある場合は、LogicalDeviceList 拡張プロパティーを設定します。
デバイスグループのステータスは、モニターされる個々の論理ボリュームのステータスから導出されます。モニター対象のすべての論理ボリュームが健全であれば、そのデバイスグループは健全です。いずれかのモニター対象の論理ボリュームに障害がある場合、そのデバイスグループには障害があります。デバイスグループに障害があることが見つかると、そのグループを表すリソースのモニタリングが停止され、そのリソースは無効状態に変更されます。
個々の論理ボリュームのステータスを取得するには、そのボリュームのボリュームマネージャーにクエリーします。クエリーを行なっても Solaris Volume Manager for Sun Cluster ボリュームのステータスを判別できない場合、障害モニターは、ファイルへの入出力 (I/O) 操作を実行してステータスを確認します。
ユーザーランドクラスタメンバーシップの再構成によって I/O エラーが発生する場合、ユーザーランドクラスタメンバーシップモニター (UCMM) の再構成が行われている間、障害モニターによるデバイスグループリソースのモニタリングが中断されます。
マウントされたファイルシステムが使用可能かどうかを判定するために、障害モニターは、そのファイルシステム上のテストファイルに対して、オープン、読み取り、書き込みなどの I/O 操作を実行します。I/O 操作がタイムアウト時間内に完了しない場合、障害モニターはエラーレポートを作成します。I/O 操作のタイムアウトを指定するには、IOTimeout 拡張プロパティーを設定します。
エラーに対する応答は、次に示すとおり、ファイルシステムの種類によって異なります。
認定済み NAS デバイス上の NFS ファイルシステムの場合、応答は次のようになります。
現クラスタノードでリソースのモニタリングが停止されます。
リソースの状態が現クラスタノード上で無効に変更され、そのノードからファイルシステムがアンマウントされます。
ファイルシステムが StorageTek QFS 共有ファイルシステムである場合、応答は次のようになります。
エラーが発生したクラスタノードがメタデータサーバーリソースをホストしている場合、メタデータサーバーリソースは別のノードにフェイルオーバーされます。
ファイルシステムがアンマウントされます。
フェイルオーバーの試行が失敗した場合、ファイルシステムはアンマウントされたままになり、警告が表示されます。
不明な DBMS タイムアウトのトラブルシューティングを容易にするために、障害モニターを有効にして、検証タイムアウトが発生したときにコアファイルを作成できます。コアファイルの内容は、障害モニターのプロセスに関するものです。障害モニターは、ルート (/) ディレクトリにコアファイルを作成します。コアファイルを作成するために障害モニターを有効にするには、coreadm コマンドを使用して set-id コアダンプを有効にします。
# coreadm -g /var/cores/%f.%n.%p.core -e global -e process \ -e global-setid -e proc-setid -e log
詳細は、coreadm(1M) のマニュアルページを参照してください。