キオスクコンピューターをいくつか展開し、ブートディスクとして小さなペンドライブを残して、残りをバックアップしやすいサーバーala LTSPのままにしておきたいと考えています。
今、私は2つの選択肢を考えています。NFSed / home /、またはログイン時にコピーされる〜/のローカルコピー、ログアウト時にrsynced。
私の恐れは、ファイルの操作が遅くなりすぎたり、ネットワークが詰まったりすることです。
キオスクコンピューターをいくつか展開し、ブートディスクとして小さなペンドライブを残して、残りをバックアップしやすいサーバーala LTSPのままにしておきたいと考えています。
今、私は2つの選択肢を考えています。NFSed / home /、またはログイン時にコピーされる〜/のローカルコピー、ログアウト時にrsynced。
私の恐れは、ファイルの操作が遅くなりすぎたり、ネットワークが詰まったりすることです。
回答:
実稼働環境では、ホームディレクトリにNFSを使用しています。いくつかのトリックがあります。
NFSマウントしない-NFS /home
サーバーがダウンした場合に許可するローカルユーザーを持つことができます。にマウントする/mnt/nfs/home
ソフトマウントと非常に短いタイムアウトを使用します-これにより、プロセスが永久にブロックされなくなります。
オートマウンターを使用します。これにより、リソースの使用量が抑えられます。また、何らかの理由で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
シングルサインオンシステムを使用して、権限に関連する問題が発生しないようにします。OpenLDAPサーバーを持っています。
/mnt/nfs/home
があり、それを設定することを示していますが/home
、停止中にローカルをどのように利用しますか?具体的には、unix.stackexchange.com / questions
http://www.howtoforge.comは最近、GlusterFSをNFSの代替/代替として使用することについての記事を投稿しましたので、チェックしてみてください。
GlusterFSプロジェクトページhttp://www.gluster.org/から、NFSの優れた「実行可能な」代替物である理由を簡単に説明します。
「GlusterFSはオンザフライで自己修復します。fsckはありません。ストレージバックエンドは通常のファイルおよびフォルダー(NFSスタイル)として直接アクセスできます。レプリケーションを有効にすると、GlusterFSはハードウェア障害に耐えることができます。」
詳細については、プロジェクトのドキュメントをご覧ください。
また、GlusterFSを使用するもう1つの良い点は、SANにより多くのスペースが必要な場合、別のストレージブリック(サーバーノード)を追加するだけで、必要に応じてパラレルでストレージをスケーリング/拡張できることです。
これがあなたを正しい方向に導く助けになるか、少なくとも助けてくれることを願っています!
ソフトマウントに注意してください!NFSファイルシステムをソフトマウントすると、タイムアウトが発生した後にIOが失敗します。それがユーザーのホームディレクトリに必要なものであることを必ず確認してください!私はそうではないと思います。ここでは、ホームディレクトリでハードマウントをintrオプションと組み合わせて使用する方が安全です。
ハードはタイムアウトしません:IO操作は無期限に再試行されます。intrオプションを使用すると、マウントプロセスを中断できます。したがって、エクスポートをマウントして障害が発生した場合、ハードマウントはセッションをロックします。intrオプションを使用するとマウントを中断できるため、この組み合わせは非常に安全であり、ユーザーのデータを簡単に失うことはありません。
とにかく、autofsはこれをすべて簡単にします。
intr
カーネル2.6.2以降のLinuxでは、マウントオプションが廃止されていることに注意してください。たとえば、access.redhat.com
注意すべきことは、NFSサーバーが停止するとマウントがフリーズすることです。ソフトマウントを実行してもブロックされないため、「フリーズ」自体を回避できます。ディレクトリ、ユーザーはとにかくめちゃくちゃです。
NFSサーバーが復旧した場合でも、何もしない限り、フリーズの問題は残ります。マウントマシンのプロセスを強制終了して、再マウントする必要があります。これは、NFSサーバーが復旧したときに別の割り当てfsid
が行われるためです。したがって、少なくともfsid
NFSサーバーで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
。たとえば、これがたとえばデバイスなどで違いを生じた理由はまだわかりません。
私は今、私の議論が主に逸話的であることを指摘する必要があります-問題を解決した理由は実際には意味がありませんが、それを修正したように見えます-どういうわけか-私が持っている他の変数がおそらくここにありますまだ発見されていません。=)
採用するネットワークファイルシステムに関係なく適用されるいくつかの一般的なアドバイス:多くのプログラムは、ユーザーのホームディレクトリにデータをキャッシュします。
最近では、多くのプログラムにキャッシュを別の場所(ローカルディスクなど)に保存するように指示できます。 XDG_CACHE_HOME
は、ログインスクリプトで環境変数をできます。ただし、多くのプログラム(Firefoxなど)では依然として手動で構成する必要があります。そのため、すべてのユーザーに対して統一された方法でそれらを特定して構成するには、おそらく追加の作業が必要になります。
XDG_RUNTIME_DIR
Dconfデータベースの場所については、developer.gnome.org
実際には、100メガビット以上のスイッチドネットワークがある場合、NFSはホームディレクトリに対して適切に機能します。10〜20台以上のキオスクの場合、サーバーにはギガビット接続が必要です。パフォーマンスコンテストで優勝することはできませんが、FirefoxやOpen Officeなどは問題なく機能します。
ホームディレクトリへのコピーは、ログイン時の遅延という点で大きな苦痛になります(最大12MB / sの100mbitネットワーク上。100MBのホームディレクトリは10秒に近いです)。分と500ファイルが痛い。
見ていのcachefilesdを。私はそれを自分で使用していませんが、有望に見えます。
cachefilesdデーモンは、AFSやNFSなどのネットワークファイルシステムがローカルディスクへの永続的なキャッシュを行うために使用するキャッシュファイルとディレクトリを管理します。
また、rsizeおよびwsizeパラメーターを調整し、可能であればジャンボフレームを使用することを忘れないでください。