フラット共有のために小さなサーバーを実行しています。ほとんどの場合、いくつかの追加サービスを備えたファイルサーバーです。クライアントはLinuxマシン(ほとんどがUbuntuですが、他のディストリビューションもあります)とその間にあるMac(-Book)です(ただし、これらは質問にとって重要ではありません)。サーバーはUbuntu 11.10(Oneiric Ocelot) 'Server Edition'を実行しています。セットアップとテストを行うシステムは11.10 'Desktop Edition'を実行しています。私たちは、どこかなりの時間のために(私たちはより精通している)のSambaとの当社株式を実行しているが、その後に移行NFS(私たちはLAN内の任意のWindowsユーザーを持って、それを試してみたくないので)、これまですべてが正常に動作します。
次に、autofsを使用して自動マウントをセットアップし、状況をスムーズにします(これまでは、必要に応じて全員が手動で共有をマウントします)。自動マウントも機能しているようです。問題は、「サーバー」がエネルギーを節約するために24時間365日稼働しないことです(誰かがサーバーから何かを必要として、電源を入れ、その後シャットダウンするので、毎日数時間しか動作しません)。ただし、autofsのセットアップにより、サーバーが実行されていないときにクライアントが頻繁にハングアップします。
サーバーが実行されていなくても、すべてのクライアントを正常に起動できます。
ただし
/nfs
、サーバーが実行されていないときに共有へのシンボリックリンクを含むディレクトリを(ターミナルまたはnautilusで)表示したい場合、少なくとも2分間ハングします(autofsはサーバーに接続できないが、しようと、私は仮定します)。- それを回避する方法はありますか?そのため、ディレクトリへの変更まで、またはそのディレクトリのコンテンツにアクセスするまで、マウントが遅延しますか?下の共有へのリンクを「見る」ときではありません
/nfs
か?私はそうは思いませんが、多分それに長い間アクセスしようとしない可能性がありますか?空のディレクトリまたは「そのディレクトリが見つからない/接続できない」またはそのようなものを教えてください。
- それを回避する方法はありますか?そのため、ディレクトリへの変更まで、またはそのディレクトリのコンテンツにアクセスするまで、マウントが遅延しますか?下の共有へのリンクを「見る」ときではありません
サーバーが稼働しているときは、すべて正常に機能します。
ただし、共有がアンマウントされる前にサーバーがシャットダウンされると、ツール(
df
またはなどll
)がハングします(共有はまだ存在しているが、サーバーが応答しなくなったため)。- 接続が失われたときに共有を自動的にアンマウントする方法はありますか?
また、クライアントは、サーバーが停止しても共有がマウントされている場合、シャットダウンまたは再起動しません。それらは(見かけ上は無限に)「残りのプロセスを殺す」ことにハングし、何も起こらないようです。
私はそれがすべてマウントとアンマウントのきちんとしたタイムアウト値に帰着すると思います。サーバーへの接続が失われたときにすべての共有を削除することもできます。
だから私の質問は次のとおりです。また、ボーナスとして、/nfs
実際の共有をマウントせずに内部にリンクする良い方法はありますか/nfs
?
私のセットアップ
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
2つのディレクトリがありbind
ます。
/ 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
オンラインで見つけたHowToに基づいてを作成します。
/etc/auto.nfs
shared -fstype=nfs4 morton:/shared
upload -fstype=nfs4 morton:/upload
そして、それはちょっと動作します...または、サーバーが24時間365日実行される場合は動作します。そのため、サーバーを実行せずにクライアントを起動したとき、または共有がまだ接続されているときにサーバーがダウンしたときにハングアップします。
hard
し、bg
音が最初に私には直感的に対抗します。マウントが再試行せず、ベイルが発生した場合にすぐに戻るようにしたいですか?intr
細かいようだが、またもう仕事にはないようだ: " INTR / nointrマウントオプションのみSIGKILLは、これらのカーネル上で保留NFS操作を中断することができ、カーネル2.6.25の後に廃止されて、指定した場合、このマウントオプションは後方互換性を提供するために、無視されます。古いカーネルで。」