web-dev-qa-db-ja.com

高可用性NFSサーバー(ハートビート/ DRBD)は、テイクオーバーが発生するとクライアントで長時間ハングします

クライアントに公開されたDRBD、ハートビート、およびnfsを使用する高可用性NFS環境があります(次の例と同様 https://help.ubuntu.com/community/HighlyAvailableNFS )。これは、HA nfsを実行するためのかなり一般的で十分にサポートされている方法のようであり、1つの期待で私たちにとって非常にうまく機能しています。

ハートビートがスイッチオーバーを実行すると、nfsクライアントはすべて約60〜120秒間ハングします。ハートビートがテイクオーバーを完了してnfsを起動するのに5〜10秒しかかからないことがわかります(手動でマウントすることもできます)。しかし、接続されたクライアントは、動作中の接続を再確立する前に、何らかのタイムアウトを待機しているようです。

私は成功せずに以下を試しました;

  • / var/lib/nfsがdrdbディスクに保存され、/ var/libにシンボリックリンクされていることを確認します
  • UDPまたはTCPクライアント接続
  • NFSサーバーのエクスポートは、エクスポートでfsidを定義します。
  • マウントでクライアントtimeo =で遊ぶ
  • ハード/ソフトマウント

セットアップは次のとおりです;

  • NFSv4
  • UbuntuLTSサーバーとクライアント
  • 現在のクライアントマウントオプション= proto = tcp、noauto、bg、intr、hard、noatime、nodiratime、nosuid、noexec

メモ

  • / var/lib/nfs/rmtabが常に空であり、その理由がわからないことに気づきました。これが理由でしょうか?
  • クライアントはGUIレスubuntu10.4LAMPスタックサーバーです。
  • クライアントがストールすると、共有にアクセスしようとするすべてのプログラムがストールします。例えば。 「df」を実行すると、nfsが戻るまで、nfsマウントラインでsshセッションがハングします。

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

5
leenix

LTSPなどのGUIユーザーログインでUbuntuを実行している場合は、クライアントに問題がある可能性があります。

Gnome-Settings-Daemonには、NFSマウント内を掘り下げて、見つかったゴミ箱フォルダの状態をチェックするという厄介な習慣があります。この問題はUbuntu9.10に存在し、おそらく10.04にも存在します。

これはUbuntuディストリビューションにハードコーディングされており、9.xリリースで誤って削除されました。これは、Ubuntuの今後のリリースで修正されると報告されており、一般的な症状は、NFSマウントに到達できないときの平均負荷が高いことです。

2
Magellan