私は共有スペースのために小規模なサーバーを運営しています。これは主にファイルサーバーそしていくつかの追加サービス。クライアントはLinuxシステム(ほとんどUbuntuですが、他のいくつかのディストリビューションもあります)とその間にあるいくつかのMac(-Book)です(ただし、この質問では重要ではありません)。サーバーが稼働しています。Ubuntu11.10(Oneiric Ocelot)「Server Edition」、私が設定してテストしたシステムは、11.10「Desktop Edition」を実行しています。私たちはかなり長い間Samba(私たちにもっと親しみやすい)を使って共有を実行しましたが、次に行きました。ネットワークファイルシステム(LANにWindowsユーザーがいないので試してみたかったです。) これまですべてが正常です。
今、自動インストールを設定したいと思います。自動ファイルシステム作業をスムーズに進めます(今まで誰もが必要なときに手動で共有をマウントしました)。サイレントインストールも機能しているようです。問題は、私たちの「サーバー」が省エネのために24時間年中無休で実行されないことです(誰かがサーバーに何かが必要な場合は、サーバーの電源を入れてオフにするため、1日に数時間実行されます)。ただし、autofs の設定によってサーバーが実行されない場合、クライアントはしばしば中断され、シャットダウンします。
サーバーが稼働していなくても、すべてのクライアントを正常に起動できます。
/nfs
ただし、サーバーが実行されていない間に共有へのシンボリックリンクを含むディレクトリ(ターミナルまたはノーチラスで)を表示しようとすると、少なくとも2分間停止します(autofsはサーバーに接続できませんが、思考にロックされているため)。耐えられない)。- これを避ける方法はありますか?ディレクトリが変更されるまで、またはそのディレクトリの内容にアクセスするまでインストールが遅れるようにしますか?以下の共有リンクを「見る」ときはそうではありませんか
/nfs
?私の考えではそうではないようですが、たぶんそれほど長くアクセスしようとしないことは可能でしょうか?ちょうど空のディレクトリを与えたり、「このディレクトリを見つけることができません」または同様のものを提供してください。
- これを避ける方法はありますか?ディレクトリが変更されるまで、またはそのディレクトリの内容にアクセスするまでインストールが遅れるようにしますか?以下の共有リンクを「見る」ときはそうではありませんか
サーバーが稼働している場合、すべてがうまく機能します。
しかし、サーバーがダウンした場合今後共有がアンマウントされ、ツール(
df
またはll
)が中断されます(共有がまだ存在すると思うがサーバーが応答しなくなったと仮定)。- 接続が失われたときに共有を自動的にアンマウントする方法はありますか?
また、サーバーがダウンしていてクライアントに共有がまだマウントされている場合、クライアントはシャットダウンまたは再起動されません。彼らはぶら下がる(一見無限に見える)」残りのプロセスの終了「そして何も起こらないようでした。
私はすべてがインストールと削除のためのきちんとしたタイムアウト値に帰結すると思います。サーバーが切断されると、すべての共有が削除される可能性があります。
それで、私の質問はこの問題をどのように処理するのでしょうか。ボーナスとして、/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/export
/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
最初のものはほとんど読み取り専用ですが、NFS設定ではなくファイルのプロパティと所有権を介して適用されます。読み書きすべて。注:追加の項目はありません。/etc/exportしかし、個別にインストールすることは可能です。
クライアント側では、/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
~のため自動ファイルシステム設定クライアントからエントリを削除し、/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
一種の動作...またはサーバーが年中無休で実行されている場合でも動作します。そのため、サーバーの実行中にクライアントが起動したとき、または共有がまだ接続されている間にサーバーがシャットダウンしたときに停止します。
答え1
マウントオプション "bg,intr,hard" を使用してクライアントに NFS 共有をマウントします。
あなたにとって最も重要なのは、背景の「bg」です。これは、サーバーが利用できないときにシステムがブロックされないように指示します。
「intr」は割り込み可能であるため、killコマンドを使用してクライアントからマウントを終了できます。
「ハード」は「柔らかさ」の反対です。違いは、「ハード」は無限に試み続け、「ソフト」はサーバーが利用できない場合に指数関数的に再試行することです。
答え2
マニュアルページでいくつかのオプションを試してみました。すべてbg,hard
、、、bg,soft
そして戻るまで2分以上時間をくださいfg,hard
。fg,soft
retrans=1,retry=0
それにもかかわらず(上記の項目と組み合わせた)設定には約3秒かかりました。かなり良いです。各組合せが何を意味するのか分からない。もっと詳しく見てみましょう。
私もautofsオプションに触れましたMOUNT_WAIT
。UMOUNT_WAIT
まだそれらから他の結果を得ることができませんでしたが、努力し続けます。 「より安全な」(別の再試行など)NFSオプションを使用する良い方法のようですが、高速autofsの戻り時間はありますか?
答え3
どのマウントシステムを使用しても、Nautilusがマウントまたはマウントされない可能性があるマウントを含むディレクトリを一覧表示する状況を避けたいと思います。したがって、autofsの場合は/ nfsなどにマウントを作成しないでください。これにより、Nautilusを使用してファイルシステムを一覧表示するときに/ nfsに存在する必要があるマウントを作成しようとし、そのマウント試行が失敗した場合に放棄するのに数分かかります。
だから私がしたことはauto.masterを変更して/ nfs / mntにマウントを作成するだけでした。
これは私の問題を解決しました。 /nfs/mntの内容を一覧表示しようとすると、長い遅延が発生するため、簡単に回避できます。
答え4
Red Hat Linuxシステムが起動するたびに自動的にマウントされるようにNFSファイルシステムを設定するには、/ etc / fstabファイルにNFSファイルシステムのエントリを追加する必要があります。 / etc / fstabファイルには、Red Hat Linuxシステムにマウントされている(およびマウント可能な)すべての種類のファイルシステムに関する情報が含まれています。 EX::nfsファイルシステムをエクスポートしたサーバーのホスト名、IPアドレス、または完全修飾ドメイン名に対応します。エクスポートディレクトリへのパスです。エクスポートディレクトリがマウントされているローカルファイルシステムの場所を指定します。このマウントポイントは、/etc/fstab を読み取る前に存在する必要があります。それ以外の場合、マウントは失敗します。この領域は、ファイルシステムのマウントオプションを指定します。たとえば、オプション領域にrw、suidが指定されている場合、エクスポートされたファイルシステムは読み取り/書き込みとしてマウントされ、サーバーによって設定されたユーザーとグループIDを使用します。ここで括弧を使用しないように注意してください。