web-dev-qa-db-ja.com

小規模なLinuxNFS4クライアント/サーバーシステムでのレイテンシ

私たちは小さな大学のコンピューターサイエンス部門であり、NFS4およびFedora 24クライアント(最大40クライアントマシン、最大150ユーザー-まれに同時実行)を使用してRHEL7サーバーを実行しています。レイテンシーの問題が発生しており、トラブルシューティング/問題の特定に問題があります。症状の例:

  • Emacsは起動/使用可能になるまで約2分かかります。 GUIはすぐにポップアップしますが、起動時にファイルを開こうとすると、アプリケーションがハングします。 emacsを開こうとしただけでその後ファイルを開こうとすると、アプリケーションが2分間ハングします。約2分後、ファイルの作成やファイルの読み取りなどを問題なく行うことができます。編集:ローカルファイル(例:/tmp/test.out)でemacsを実行しても、遅延の問題はありません。また、idle3またはgeditを使用してネットワークファイルを開くことにも問題はありません。
  • コマンドラインでsvn + sshを使用してプロジェクトをチェックアウトするのは、Linuxクライアント/デスクトップマシンの1つから非常に遅く、約3分です。別のマシンからsvn + sshを使用してプロジェクトをチェックアウトする場合、チェックアウトには3 かかります。
  • アイドルを設定することはできません。構成メニューをクリックすると、アプリケーションがハングします。更新:これは、Fedora 24で修正されなかったidle3のバグのようですが、修正を適用することができました。
  • アプリケーション(emacs、Eclipseなど)で[開く/参照]をクリックするか、ファイルマネージャーを開くと、アプリケーションはファイルを取得している間、しばらくハングします。コマンドラインからlsとcdを使用すると高速です。

長い遅延の後、問題なくファイルを読み取り/編集/作成できます。

これらのアプリケーションで私が見つけた唯一の共通点は、非表示の構成ファイル(.emacs.d.idle.Eclipse、...)を使用していることです。隠しファイルの処理方法が異なるというドキュメントが見つからないようです。

どんなアドバイスも大歓迎です!

5
Sprenkliest

これをトラブルシューティングする方法:

  1. 〜/ .emacs.d /がNFSマウントによって提供されている場合、および
  2. ターゲットファイルは、2番目のNFSサーバーによって提供されるNFSマウントであり、
  3. そのローカルのすべてをクライアントにコピーすると、遅延がなくなります。

次に、それらの1つを一度にNFSに戻し、問題を再現しようとします。

元の投稿を読み直すと、2つ以上のNFSサーバーがあると思いました。これは、以前の雇用主で見たものだからです。 1つのNFSサーバーはホームディレクトリを提供し、2つ目はバイナリを提供しました。クライアントでバイナリをローカルで実行すると、パフォーマンスが向上することがわかりました。 :-)

NFSサーバーが1つある場合、トラブルシューティング用に2つ目のサーバーをセットアップできますか?おそらく、単一のNFSサーバーが特定の時間に圧倒されます。 2番目のNFSサーバーを使用すると、このケースを切り分けるのに役立つ場合があります。

問題が1つまたは2つのクライアントでのみ発生する場合は、それらのクライアントが一意である理由を見つけようとします。すべてのクライアントで問題が発生した場合は、NFSサーバーを調べます。

いずれの場合も、RHEL7NFSサーバーのログを確認すると役立ちます。

「NFSトラブルシューティング」をGoogleで検索すると、 tldp を含む多くの役立つページが提供されました。 Red Hatの nfs server config もあります。あなたはおそらくそれらの両方をすでに見たことがあるでしょう。

NFSサーバーはRedHat EL 7だとおっしゃいましたが、RHELのコピーとサポート契約を結んでいる場合は、Red Hatでチケットを開き、トラブルシューティングの支援も依頼します。

これがお役に立てば幸いです。幸運を。


4
StandardEyre

Nfsにはどのマウントオプションを使用しますか? lookupcache=noneなどのオプションを削除すると(代わりにデフォルトを許可する)、クライアントはより積極的にキャッシュできるようになります。これにより、ホームディレクトリにファイルが追加されたときにユーザーが混乱し、表示されるまでに1時間かかることがわかりました。リモートマシン上で、しかしバイナリの場合は問題ないことが判明しました。

また、アプリケーションマウントにactimeo=60noactimeを設定します。

ホームフォルダ:rw,noatime,nfsvers=4,minorversion=1,soft,tcp,sec=sys,lookupcache=none,sloppy

アプリケーション/バイナリ:rw,noatime,nfsvers=4,minorversion=1,soft,tcp,sec=sys,actimeo=60,sloppy

manページのDATAAND METADATA COHERENCEセクションも参照してください https://linux.die.net/man/5/nfs

0
Jens Timmerman