ホームフォルダーをNFSでホストすることは可能ですか?


30

キオスクコンピューターをいくつか展開し、ブートディスクとして小さなペンドライブを残して、残りをバックアップしやすいサーバーala LTSPのままにしておきたいと考えています。

今、私は2つの選択肢を考えています。NFSed / home /、またはログイン時にコピーされる〜/のローカルコピー、ログアウト時にrsynced。

私の恐れは、ファイルの操作が遅くなりすぎたり、ネットワークが詰まったりすることです。


「安全」を、セキュリティにあまり関係のない別の単語に置き換えてください。たぶん実現可能merriam-webster.com/dictionary/feasible
クリスチャン・シウピトゥ2009年

1
デジャヴのわずかな感覚。まったく同じものではありませんが、彼らがそこに持っている興味深いスレッドです。hardware.slashdot.org/story/09/06/23/1823201/…–
voyager

回答:


30

実稼働環境では、ホームディレクトリにNFSを使用しています。いくつかのトリックがあります。

  1. NFSマウントしない-NFS /homeサーバーがダウンした場合に許可するローカルユーザーを持つことができます。にマウントする/mnt/nfs/home

  2. ソフトマウントと非常に短いタイムアウトを使用します-これにより、プロセスが永久にブロックされなくなります。

  3. オートマウンターを使用します。これにより、リソースの使用量が抑えられます。また、何らかの理由でNFSサーバーがダウンした場合、NFSサーバーが起動したときにサービスの再起動を心配する必要がなくなります。

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. シングルサインオンシステムを使用して、権限に関連する問題が発生しないようにします。OpenLDAPサーバーを持っています。


オートマウンタはひどく信頼性が低く、特にNFSサーバーがダウンした場合にロックアップする傾向があります。/ mnt / nfs / homeにマウントする場合、/ etc / passwdでユーザーのホームを設定した場所ですか?
pjc50

2
まあ、/ etc / passwdを使用してホームディレクトリをNFSマウントするのは悪い考えです。UIDとGIDを同期させる必要があるためです-OpenLDAPのようなものを使用しますが、はい、ユーザーのホームディレクトリは/ mnt / nfs / homeに設定されます/ユーザー名。
アーロンブラウン

@AaronBrown $ HOMEをネットワークに配置する場合は、ユーザーIDと認証もネットワークに配置する必要があることに同意します。その方法に関係なく、$ HOMEはどこかで定義する必要/mnt/nfs/homeがあり、それを設定することを示していますが/home、停止中にローカルをどのように利用しますか?具体的には、unix.stackexchange.com / questions
189404 /

8

http://www.howtoforge.comは最近、GlusterFSをNFSの代替/代替として使用することについての記事を投稿しましたので、チェックしてみてください。

http://www.howtoforge.com/creating-an-nfs-like-standalone-storage-server-with-glusterfs-on-debian-lenny

GlusterFSプロジェクトページhttp://www.gluster.org/から、NFSの優れた「実行可能な」代替物である理由を簡単に説明します

「GlusterFSはオンザフライで自己修復します。fsckはありません。ストレージバックエンドは通常のファイルおよびフォルダー(NFSスタイル)として直接アクセスできます。レプリケーションを有効にすると、GlusterFSはハードウェア障害に耐えることができます。」

詳細については、プロジェクトのドキュメントをご覧ください。

また、GlusterFSを使用するもう1つの良い点は、SANにより多くのスペースが必要な場合、別のストレージブリック(サーバーノード)を追加するだけで、必要に応じてパラレルでストレージをスケーリング/拡張できることです。

これがあなたを正しい方向に導く助けになるか、少なくとも助けてくれることを願っています!


7

ソフトマウントに注意してください!NFSファイルシステムをソフトマウントすると、タイムアウトが発生した後にIOが失敗します。それがユーザーのホームディレクトリに必要なものであることを必ず確認してください!私はそうではないと思います。ここでは、ホームディレクトリでハードマウントをintrオプションと組み合わせて使用​​する方が安全です。

ハードはタイムアウトしません:IO操作は無期限に再試行されます。intrオプションを使用すると、マウントプロセスを中断できます。したがって、エクスポートをマウントして障害が発生した場合、ハードマウントはセッションをロックします。intrオプションを使用するとマウントを中断できるため、この組み合わせは非常に安全であり、ユーザーのデータを簡単に失うことはありません。

とにかく、autofsはこれをすべて簡単にします。


1
intrカーネル2.6.2以降のLinuxでは、マウントオプションが廃止されていることに注意してください。たとえば、access.redhat.com
solutions /

4

注意すべきことは、NFSサーバーが停止するとマウントがフリーズすることです。ソフトマウントを実行してもブロックされないため、「フリーズ」自体を回避できます。ディレクトリ、ユーザーはとにかくめちゃくちゃです。

NFSサーバーが復旧した場合でも、何もしない限り、フリーズの問題は残ります。マウントマシンのプロセスを強制終了して、再マウントする必要があります。これは、NFSサーバーが復旧したときに別の割り当てfsidが行われるためです。したがって、少なくともfsidNFSサーバーでsをハードコーディングすることで、この問題を解決できます。

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

exports(5)manページの状態...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

...メジャー/マイナー番号が変更されない限り(通常は変更されますが、SAN /マルチパスボリュームをエクスポートする場合を除き、変更される可能性があります)、 'つまり、NFSサーバーが復旧した場合、接続がすぐに復元されたため、問題が完全に取り除かれました/dev/sdaX。たとえば、これがたとえばデバイスなどで違いを生じた理由はまだわかりません。

私は今、私の議論が主に逸話的であることを指摘する必要があります-問題を解決した理由は実際には意味がありませんが、それを修正したように見えます-どういうわけか-私が持っている他の変数がおそらくここにありますまだ発見されていません。=)


サーバーで使用されるこの「ランダムな」fsidについて確かですか?
クリスティアン・Ciupitu 2009年

こんにちはクリスティアン-私は上で説明しようとしました-しかし、私はフラグのマニュアルページの説明に関する動作を完全に説明することはできません。それを試してみましたか?
クセルクセス

4

採用するネットワークファイルシステムに関係なく適用されるいくつかの一般的なアドバイス:多くのプログラムは、ユーザーのホームディレクトリにデータをキャッシュします。

最近では、多くのプログラムにキャッシュを別の場所(ローカルディスクなど)に保存するように指示できます。 XDG_CACHE_HOMEは、ログインスクリプトで環境変数をできます。ただし、多くのプログラム(Firefoxなど)では依然として手動で構成する必要があります。そのため、すべてのユーザーに対して統一された方法でそれらを特定して構成するには、おそらく追加の作業が必要になります。


+1 Google ChromeとNFSホームディレクトリでパフォーマンスの問題が発生しました。Chromeの作業ディレクトリをローカルシステムに移動し、NFSホームディレクトリ(Chromeがディレクトリを見つけることを期待している場所)からシンボリックリンクをローカルディレクトリに戻すことで修正しました。私がやったことをするより良い方法があるかもしれませんが、それは私のために問題を解決しました。
ブライアン

ブライアン(3月9日)は良い部分的な回答を残しましたが、この問題について詳しく説明したいと思います。お願いします...ありがとう。作業ディレクトリをローカルマシンに移動し、シンボリックリンクを配置した方法。
ジェイソン

XDG_RUNTIME_DIRDconfデータベースの場所については、developer.gnome.org
dconf / unstable / dconf

3

私が仕事をした多くの場所では、NFSマウントされたホームディレクトリを使用しています。通常、パフォーマンスに大きな違いはありません(キオスクユーザーは、おそらく地元のIT担当者を把握する方法を知っている開発者よりも要求が少し少ないでしょう)。私が見た問題の1つは、Gnomeデスクトップにログインして、NFSサーバーが何らかの理由でなくなるとどうなるかということです。物事は本当に無反応になります。


2

NFSedホームを使用していますが、正常に機能します。ただし、ネットワークが十分に高速であり、ダウンしないことを確認する必要があります。


2

実際には、100メガビット以上のスイッチドネットワークがある場合、NFSはホームディレクトリに対して適切に機能します。10〜20台以上のキオスクの場合、サーバーにはギガビット接続が必要です。パフォーマンスコンテストで優勝することはできませんが、FirefoxやOpen Officeなどは問題なく機能します。

ホームディレクトリへのコピーは、ログイン時の遅延という点で大きな苦痛になります(最大12MB / sの100mbitネットワーク上。100MBのホームディレクトリは10秒に近いです)。分と500ファイルが痛い。


1

見ていのcachefilesdを。私はそれを自分で使用していませんが、有望に見えます。

cachefilesdデーモンは、AFSやNFSなどのネットワークファイルシステムがローカルディスクへの永続的なキャッシュを行うために使用するキャッシュファイルとディレクトリを管理します。

また、rsizeおよびwsizeパラメーターを調整し、可能であればジャンボフレームを使用することを忘れないでください。


私はcachefilesdを数年間試しましたが、それがもたらしたすべての不安定性のためにgaveめました。YMMV
JFlo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.