2016年3月19日土曜日

[CentOS6] NFS障害でコマンドがフリーズしたらタイムアウトさせる


NFSマウントに異常がないことを確認するために、NFSクライアント側で、定期的に ls コマンドを実行することにします。
# ls /mnt

しかし、NFS設定にもよりますが、NFSサーバがダウンすると、lsコマンドがフリーズし、NFSサーバが復旧するまでコマンドが応答しなくなり、チェックできない場合があります。

NFS設定は変更せずに、フリーズを何とかしたい場合、timeout コマンドで回避できます。

timeout コマンドを利用して ls コマンドを実行し、指定した時間内にコマンドが終了しなければ、強制終了するようにします。

以下の例では、5 秒以内に ls コマンドが終了しなければ、強制終了します。
タイムアウトした場合のコマンドの終了ステータスは、124 になります。
# timeout 5 ls /mnt

これなら、NFSサーバダウン時の5秒後には、異常を検知できます。