私はCentOS 7.3 NFSサーバーがなぜ/どのように中断されるのかを確認しようとしてきました。このマシンの目的は、クライアントにNFSストレージサービスを提供することです。私はNagiosを使用してサーバーを監視し、Ganglia / Graphiteを使用してメトリックを収集して表示します。 Nagiosスキャンで不明な状態が返され、実際にサーバーにSSHを接続できなかったときにこの問題が最初に見つかりました。コンソールを確認しましたが、顧客は苦情を表示し始め、最終的に放棄してシステムを再起動しました。再起動すると問題が解決するようです。
ログには実際にはいくつかの興味のあるイベントしかありません。多くの「nfsd」警告と多くの「ファイルの最大制限<>リーチ」エラーが続きます。
- nfsd: 開いている接続が多すぎます。スレッド数を増やしてみてください。
- VFS: ファイルの最大制限 6509328 に達しました。
Ganglia指標は、ファイル最大制限エラーが発生する約1時間前にNFS操作と接続が急増していることを示しています。さらに、これらの指標は、開かれたファイルの数がその期間にわたって着実に増加することを示しています(通常、開かれたファイルの数は約7K、最大値は約100Kです)。
私が経験している問題は次のとおりです。
私はNFSクライアントに精通していませんが、そのクライアントのワークロードによって問題が発生していると思われます。 NFSスレッド数(RPCNFSDCOUNT)が24に設定され、「ulimit -n」が1024を返します。これは、NFSクライアントが使用できるオープンファイルの最大数が24 x 1024であることを意味しますか?
システムがファイルの上限に達したことを報告すると、責任あるプロセスを特定できません。 lsofの出力を見ると、2つの主要なプロセスは/usr/sbin/gssproxyと/usr/sbin/tunedですが、どちらも開いているファイル(IIRCのそれぞれ数百)をあまり報告しません。ファイルの最大制限の問題を調査中にファイル記述子の漏洩を引き起こすいくつかのバグが見つかりましたが、実行中のバージョンとは関係ありません。
これは一部の積極的な顧客の結果かもしれませんが、プロセスの1つの漏れである可能性が高くなります(稼働時間は〜300日)。とにかく根本的な原因を特定する方法に関する提案はありますか?
ありがとう、