NFS ARKが提供する監視機能と起動処理、停止処理についてご説明します。
対象製品
NFS Recovery Kit (LifeKeeper for Linux)
※本処理概要は LifeKeeper for Linux v9.5.0 に付属するリカバリキットをもとに作成しています。
監視処理
LKCHECKINTERVAL(デフォルト120秒)の間隔で NFS リソースを以下の処理で監視いたします。
各処理の中のどこかで異常とみなされた場合、次回の監視時にも異常とみなされるとリソース異常とみなされ回復処理が行われます。
監視処理のタイムアウトは 15秒(固定)で、タイムアウト時は SIGALRM を返します。
監視処理は該当のリソースが起動(ISP)状態のみ実施されます。
1) ps コマンドによりプロセスの状態を確認します。
- portmap か rpcbind
- nfsd
- lockd
- rpc.rquotad
- rpc.idmapd
- rpc.svcgssd
- rpc.mountd
- rpc.statd(※)
※/etc/default/LifeKeeperに、FAILOVERNFSLOCKS パラメータが true に設定されている場合のみ、rpc.statd デーモンも監視対象になります。
2) /opt/LifeKeeper/lkadm/bin/pingnfs を実行して疎通を確認します。
# /opt/LifeKeeper/lkadm/bin/pingnfs -s 127.0.0.1 -t 5
※5秒(固定)のタイムアウトがあります。
※v8.1.2未満では pingnfs による確認処理は行っておりません。
3) /var/lib/nfs/etab より export ポイントを確認します。また、エクスポートオプションが一致しているかを確認します。
4) rpc_pipefs によりマウント済みかを確認します。
# grep -v \”^#\” /proc/mounts | awk ‘{ if ($3 ~ /^rpc_pipefs$/ ) print $2}’
5) rpcbind を利用している場合は bind マウントの状態を確認します。
1)~5)の間にて処理が正常以外であればリソース異常とみなし、回復処理へ移行します。
起動処理
1) NFSのサービス提供に必要なデーモンの起動状態を確認します。
起動状態の確認は監視処理の1)と同様の処理を実施します。
2) デーモンが停止状態であれば起動させます。
オプションのあるプロセスの起動方法は以下となります。
===================
/usr/sbin/rpc.nfsd OSで設定されている起動デーモン数
/usr/sbin/rpc.idmapd -p /var/lib/rpc_pipefs
/sbin/rpc.statd -H /etc/default/LifeKeeper-hanfs-callout
===================
3) 対象のディレクトリを export ポイントへ追加します。
# exportfs -o オプション ホスト名(IP):エクスポートポイント
この時に fsid が異なるかをチェックします。異なる場合は 106062 を出力し起動に失敗します。
停止処理
1) 対象のディレクトリを export ポイントから外します。
# exportfs -u ホスト名(IP):エクスポートポイント
※ NFSv4 で利用している場合のみ、1) の後、nfsd デーモンの停止が行われます。
2) 対象のディレクトリをバインドマウントします。
バインドマウントできなかった場合は、lockd に対して kill を行います。
回復処理
監視処理と同じ状態確認を行います。
状態確認が正常であればそのまま処理を終了します。
状態確認が正常でなければ、起動処理を実行します。
起動処理に失敗する場合は、フェイルオーバ(リソース切り替え)を行います。
パラメータ
NFSリソースでは下記の設定パラメーターがございます。
設定ファイル
/etc/default/LifeKeeper
FAILOVERNFSLOCKS
エクスポートのファイルロックのフェイルオーバを有効にします。
デフォルト:無効(false)
※NFS v2/v3 のみ指定可能。
※SuSE Enterprise Linux 上では利用不可。
RESTARTMOUNTD
NFSリストア時にrpc.mountの停止と再起動を行うかどうか。
デフォルト:有効(true)
NFS_RPC_PROTOCOL
pingnfs の実行時のプロトコルを TCP か UDP のどちらかに指定することが出来ます。
デフォルト:udp
※設定はリソース再起動をせず即時に反映され、次回の監視動作より有効となります。
以下ドキュメントにも記載がございます。
■NFSパラメータ一覧
http://docs.us.sios.com/spslinux/9.5.0/ja/topic/nfs-parameters-list
改訂履歴
[公開日:2016年06月14日]
[改訂日:2019年05月21日] 設定可能なパラメータを追加しました
[改訂日:2020年05月20日] v9.5.0で追加された fsid のチェックについて追記しました。