フラットシェア用に小さなサーバーを実行しています。ほとんどがファイルサーバーです いくつかの追加サービスがあります。クライアントはLinuxマシン(ほとんどがUbuntuですが、他のディストリビューションもあります)とその間にあるMac(-Book)です(ただし、質問には重要ではありません)。サーバーはUbuntu11.10を実行しています (Oneiric Ocelot)「ServerEdition」、セットアップとテストを行うシステムは、11.10「DesktopEdition」を実行します。私たちは、かなり長い間Samba(私たちがよく知っている)と共有を実行していますが、その後 NFSに移行します (LANにWindowsユーザーがいないため、試してみたいため)これまでのところすべて正常に機能しています 。
次に、 autofsを使用して自動マウントを設定します スムーズにするため(これまでは、必要に応じて全員が手動で共有をマウントしていました)。自動マウントも機能しているようです。問題は、エネルギーを節約するために「サーバー」が24時間年中無休で稼働していないことです(サーバーから何かが必要な場合は、サーバーの電源を入れてからシャットダウンするため、毎日数時間しか稼働しません)。ただし、autofsが設定されているため、サーバーが実行されていないときにクライアントがハングアップすることがよくあります。
-
サーバーが稼働していないときでも、すべてのクライアントを正常に起動できます。
-
しかし、ディレクトリ(ターミナルまたはノーチラス)を表示したい場合、
/nfs
の下の共有へのシンボリックリンクが含まれています サーバーが実行されていない間、サーバーは少なくとも2分間ハングします(autofsはサーバーに接続できませんが、試行を続けるためです)。- それを回避する方法はありますか?ディレクトリに変更が加えられるまで、またはそのディレクトリのコンテンツにアクセスするまで、マウントが遅延するようにするには?
/nfs
の下にある共有へのリンクを「見る」ときではありません ?そうではないと思いますが、そんなに長くアクセスしようとしないことは可能でしょうか?空のディレクトリまたは「そのディレクトリが見つからない/接続できない」などを教えてください。
- それを回避する方法はありますか?ディレクトリに変更が加えられるまで、またはそのディレクトリのコンテンツにアクセスするまで、マウントが遅延するようにするには?
-
サーバーが稼働しているときは、すべてが正常に機能します。
-
ただし、サーバーがシャットダウンすると、前に 共有がマウント解除されたツール(
df
など) またはll
)ハングします(共有はまだオンになっていると考えているが、サーバーが応答しなくなったと想定します)。- 接続が失われたときに共有を自動的にアンマウントする方法はありますか?
-
また、サーバーがダウンしていて、共有がまだマウントされている場合、クライアントはシャットダウンまたは再起動しません。彼らは「残りのプロセスを殺す」に(見た目は無限に)ぶら下がっています 」と何も起こらないようです。
すべては、マウントとアンマウントのタイムアウト値が適切であることに帰着すると思います。また、サーバーへの接続が失われたときにすべての共有を削除する可能性があります。
関連:`$XAUTHORITY`はsu+tmuxの「どこからともなく」表示されますか?
だから私の質問は:これをどのように処理するのですか?そしてボーナスとして:/nfs
内にリンクする良い方法はありますか 実際の共有をマウントする必要はありません(autofsオプション、または/nfs
に疑似FSを使用する場合があります マウントが発生したときに置き換えられるのはどれですか?
マイセットアップ
NFS設定 かなり基本的ですが、これまでのところうまく機能しています( NFSv4 を使用) ):
/ etc / default / nfs-common
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
/etc/idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
/ etc / exports
/srv/ 192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)
エクスポートルート/srv
の下 bind
で2つのディレクトリを取得しました :
/ etc / fstab (サーバー)
...
/shared/shared/ /srv/shared/ none bind 0 0
/home/Upload/ /srv/upload/ none bind 0 0
1つ目はほとんど読み取り専用で(ただし、NFS設定ではなく、ファイル属性と所有権を使用して強制します)、2つ目は rw すべてのために。注: / etc / exportsには追加のエントリはありません。 、別々に取り付けることもできます。
クライアント側では、/etc/fstab
でセットアップを取得します 必要に応じて手動でマウントします(morton
はサーバーの名前であり、正常に解決されます。
/ etc / fstab (クライアント)
morton:/shared /nfs/shared nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
morton:/upload /nfs/upload nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
autofsセットアップの場合 /etc/fstab
からエントリを削除しました クライアントで、残りを次のように設定します:
/etc/auto.master
/nfs /etc/auto.nfs
まず、提供された実行可能ファイル/etc/auto.net
を結びました (ここで確認できます)が、自動的に何もマウントされません。次に、/etc/auto.nfs
を記述します。 オンラインで見つけたハウツーに基づく:
/etc/auto.nfs
shared -fstype=nfs4 morton:/shared
upload -fstype=nfs4 morton:/upload
そして、それはちょっと機能します…またはサーバーが24時間年中無休で実行される場合は機能します。そのため、サーバーを実行せずにクライアントを起動した場合、またはサーバーが接続されたまま共有しているときにサーバーがダウンした場合に、ハングアップが発生します。
承認された回答:
マウントシステムを使用して、Nautilusがマウントされているかどうかに関係なくマウントを含むディレクトリを一覧表示する状況を回避する必要があります。したがって、autofsでは、たとえば/nfsにマウントを作成しないでください。その場合、Nautilusを使用して「ファイルシステム」を一覧表示すると、/ nfsに存在する必要のあるマウントが作成され、それらのマウントの試行が失敗した場合、あきらめるのに数分かかります。
だから私がしたのは、auto.masterを変更して/ nfs/mntにマウントを作成することでした。
これで問題は解決しました。 / nfs / mntの内容を一覧表示しようとすると、長い遅延が発生するだけです。これは簡単に回避できます。