Sun Cluster HA for NFS の障害モニターは、2 つの部分から成ります。1 つは、NFS システム障害モニターです。NFS デーモン (nfsd、mountd、statd、mountd) の監視と、問題が発生した場合の適切な処理を行います。もう 1 つは、各 NFS リソースに特有の機能です。各リソースの障害モニターは、リソースによってエクスポートされるファイルシステムを、各共有パスの状態を調べることで監視します。
NFS システム障害モニターは、NFS リソースの起動メソッドによって起動されます。この起動メソッドは、最初に NFS システム障害モニター (nfs_daemons_probe) がプロセスモニター pmfadm 下ですでに実行されているかどうかを調べます。実行されていない場合は、起動メソッドは、プロセスモニターの制御下で nfs_daemons_probe プロセスを起動します。その後、同様に、プロセスモニターの制御下でリソース障害モニター (nfs_probe) を起動します。
NFS リソースの Monitor_stop メソッドは、リソース障害モニターを停止します。また、ローカルノード上で他に NFS リソース障害モニターが実行されていない場合は、NFS システム障害モニターも停止します。
システム障害モニターは、プロセスの存在および NULL rpc 呼び出しへの応答を調べることで、rpcbind、statd、lockd、nfsd、mountd を検証します。このモニターは、次の NFS 拡張プロパティを使用します。
Rpcbind_nullrpc_timeout | Lockd_nullrpc_timeout |
Nfsd_nullrpc_timeout | Rpcbind_nullrpc_reboot |
Mountd_nullrpc_timeout | Nfsd_nullrpc_restart |
Statd_nullrpc_timeout |
Mountd_nullrpc_restart |
これらのプロパティについては、第 7 章「Sun Cluster HA for Network File System (NFS) のインストールと構成」を参照してください。
各システム障害モニターの検証サイクルにおいて、次のことを行います。
Cheap_probe_interval の間、休止します。
rpcbind を検証します。
プロセスが停止しており、Failover_mode=HARD の場合は、システムを再起動します。
NULL rpc 呼び出しに失敗し、Rpcbind_nullrpc_reboot=True および Failover_mode=HARD の場合は、システムを再起動します。
statd と lockd を検証します。
いずれかのデーモンが停止している場合は、両方のデーモンを再起動します。
NULL rpc 呼び出しに失敗した場合は、メッセージが syslog に記録されますが、再起動はしません。
mountd と mountd を検証します。
プロセスが停止している場合は、そのプロセスを再起動します。
NULL rpc 呼び出しに失敗し、PXFS デバイスが利用可能で拡張プロパティ Mountd_nullrpc_restart=True の場合は、mountd を再起動します。
NFS デーモンのうち、いずれかのデーモンの再起動に失敗すると、すべてのオンライン NFS リソースの状態が FAULTED に設定されます。すべての NFS デーモンが再起動され、状態が正常の場合には、リソースの状態は再び ONLINE に設定されます。
リソースモニター検証を開始する前に、すべての共有パスが dfstab ファイルから読み取られ、メモリーに格納されます。各検証サイクルでは、パスの stat() を実行することで、各繰り返しですべての共有パスが検証されます。
各リソースモニターの障害検証において、次のことを行います。
Thorough_probe_interval の間、休止します。
最後の読み取り以降に dfstab が変更されている場合は、メモリーをリフレッシュします。
パスの stat() を実行することで、すべての共有パスを各繰り返しで検証します。
問題のあるパスが見つかると、リソースの状態は FAULTED に設定されます。すべてのパスが正常に動作すると、リソースの状態は再び ONLINE になります。