web-dev-qa-db-ja.com

NFSでホストされているホームフォルダーを持つことは可能ですか?

いくつかのキオスクコンピューターを展開する予定で、小さなペンドライブをブートディスクとして残し、残りをバックアップしやすいサーバーに維持したい [〜#〜] ltsp [〜#〜]

現在、私は2つのオプションを考えています。 NFS処理された/ home /、またはログイン時にコピーされた〜/のローカルコピー、ログアウト時にrsynced。

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

30
voyager

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

  1. /homeにNFSマウントしないでください。これにより、NFSサーバーがダウンした場合にローカルユーザーを許可できるようになります。 /mnt/nfs/homeにマウントします

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

  3. automounter を使用します。これにより、リソースの使用量が抑えられます。また、何らかの理由で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サーバーがあります。

30
Aaron Brown

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

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

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

7
wzzrd

HowtoForgeが Debian LennyでGlusterFSを使用してNFSのようなスタンドアロンストレージサーバーを作成する というタイトルの記事を投稿しました。チェックしてみてください。

GlusterFS プロジェクトページから、これがNFSの「実行可能」な代替手段である理由を簡単に説明します。

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

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

また、GlusterFSを使用するもう1つの良い点は、SANに別のストレージブリック(サーバーノード)を追加するだけで、そこにストレージを並行してスケーリング/拡張できる場合)必要です。

7
faultyserver

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

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

4
Sam Morris

注意すべきことの1つは、NFSサーバーが停止すると、マウントがフリーズします-ソフトマウントを実行してもブロックされないため、「フリーズ」自体を回避できますが、ホームディレクトリがホームなしの場合の問題は修正されません。ディレクトリ、ユーザーはとにかくねじ込まれています。

NFSサーバーが回復しても、何か対策を講じない限り、フリーズの問題が残ります。マウントマシンのプロセスを終了して、再マウントする必要があります。これは、NFSサーバーが復旧すると、別のfsidが割り当てられるためです。NFSサーバーでfsidsをハードコーディングすることで、この問題を少なくとも修正できます。例...

_#. 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_などのデバイスに影響を与えた理由はまだわかりません。

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

4
Xerxes

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

3
kbyrd

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

ログイン時の遅延という点で、ホームディレクトリへのコピーは大きな痛みになります(100 MBのネットワークでは最大12 MB /秒です。100MBのホームディレクトリは10秒近くです)。Rsyncは、同期しているWebブラウザキャッシュをスラッシュします... 10数分と500ファイルが痛い。

私はNFSで接続された家を使用し、それは正常に動作します。ただし、ネットワークが十分に高速であること、およびネットワークが停止しないことを確認する必要があります。

2
cd1

cachefilesd をご覧ください。私自身は使用していませんが、有望に見えます。

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

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

1