[Linux] NFS Recovery Kit の処理概要

NFS ARKが提供する監視機能と起動処理、停止処理についてご説明します。

対象製品
NFS Recovery Kit (LifeKeeper for Linux)
※本処理概要は LifeKeeper for Linux v9.0.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):エクスポートポイント

停止処理

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パラメータ一覧
http://jpdocs.us.sios.com/Linux/9.0/LK4L/Parameters/index.htm#Parameters/NFS_Parameters.htm
 
 


改訂履歴

[公開日:2016年06月14日] [改訂日:2016年12月12日] 起動処理を一部修正

return top