2019年10月15日火曜日

NFS vers=3で障害

トラブル対応のメモです。
某システムで、データセットにパスワード掛かって開けないという問合せありました。現地入りして調べると、%includeすらエラーを起こしていることが分かりました。strace
エラーを起こしている箇所を探すと、システムコールのfcntl(2) で、リードロックで失敗しています。

リードロックでということは、ファイル、ファイルの属性がらみということで、マウントしているファイルシステムを調べると、NFSのバージョンがそこだけ3になっていました。他のNFSマウントは4なのに。

手動でサービス止めて、umount, mountを行うとバージョンは4に変わり、無事にデータセットが読めるようになりました。ちなみに環境はAWSで、fstab(5)に書かれている情報では、特にバージョン指定もありませんでした。気まぐれ??

こういった謎の障害のときに、strace(8)が使えると便利です。DNSサーバーの応答が遅いとか分かったりします。