web-dev-qa-db-ja.com

NFSサーバーが消えたNFSマウントをアンマウントする

サーバーAは、以前はNFSサーバーでした。サーバーBはそのエクスポートをマウントしていました。すべてが大丈夫でした。その後、Aが死亡しました。電源を切るだけです。なくなった。消えた。

ただし、そのフォルダーはまだBにマウントされています。私は明らかにそのフォルダーにcdすることはできません。しかしながら umount /mnt/myfolderハングアップしてアンマウントされません。 Bを再起動せずにアンマウントする方法はありますか?

クライアントとサーバーはどちらもLinuxマシンです。

32
Rory

Linuxを想定:

umount -f -l /mnt/myfolder

問題をある程度修正します:

-fアンマウントを強制します(到達できないNFSシステムの場合)。 (カーネル2.1.116以降が必要です。)

-l遅延アンマウント。ここでファイルシステムをファイルシステム階層から切り離し、ファイルシステムがビジーでなくなったらすぐに、ファイルシステムへのすべての参照をクリーンアップします。 (カーネル2.4.11以降が必要です。)

-fは、SolarisおよびAIXにも存在します。

46
Douglas Leeder

ヒントの詳細 David Pashleyから提供

「umount -l」で問題が解決しない限り、なくなったアドレスと同じアドレスで偽のサーバーを設定できます-しかし実際には設定する必要はありません新しいサーバーか何かをアップ。ブロッキング/ハングしたマウント解除状態から抜け出す最も簡単な方法は、次のようにローカルエイリアスIPインターフェースを設定することです。

ifconfig eth0:nfstmp 11.22.33.44 netmask 255.255.255.255
umount -l /mnt/deadnfsmount    # -l or -f or whichever that gets the job done
ifconfig eth0:nfstmp down

(明らかに、11.22.33.44は(現在は死んでいる)NFSサーバーの(以前の)IPアドレスです)

18
conny

intrオプションを/etc/fstabエントリに追加すると、ハングまたはクラッシュする可能性があります。 softまたはintrオプションを使用しない場合、NFSファイルをホストしているサーバーがダウンすると、ファイルがマウントされているサーバー(クライアント)が起動時にハングすることがあります。 。

man 5 nfsによると:

ソフト/ハード
NFS要求がタイムアウトした後のNFSクライアントの回復動作を決定します。どちらのオプションも指定されていない場合(またはhardオプションが指定されている場合)、NFS要求は無期限に再試行されます。ソフトオプションが指定されている場合、NFSクライアントは、再送信の再送信が送信された後にNFS要求に失敗し、NFSクライアントが呼び出し元のアプリケーションにエラーを返します。

...そしてintrsoftよりも優先されると言い続けますが、ハングを防止するという同様の効果があります。

6
s g

umount -f /mnt/myfolderはこれを解決する必要があります。 umountのマンページを参照してください。

3
pauska

Solarisの場合、NFSクライアントを再起動すると、「ハードマウントの死のスパイラル」が解決されます。 Solaris 10のコマンドは、「svcadm restart network/nfs/client」です。最近、Linuxボックスでこれを試していません(「intr」フラグでマウントされているため、この問題が発生することはほとんどないため)。問題。

1
John Grant

なんとかumount -f動作します。便利なトリックは、同じエクスポートをマウントする別のサーバーをセットアップして、古いサーバーと同じIPアドレスを与えることです。 NFSクライアントは、すべてが正常に戻ったと考えるべきであり、プロセスはブロックを解除します。その後、マウントポイントを通常どおりにマウント解除し、一時的なNFSサーバーからIPアドレスを削除できます。

1
David Pashley

余談ですが、 automount を使用すると、NFS共有が使用可能になったときにマウント解除が処理されるため、将来この状況でスタックするのを回避できます。

1
Coops

私はこれと同じ問題に遭遇しました。 NFSサーバーが削除されたため、クライアントからnfsをアンマウントできません。私は次のトリックを試しました、それが役立つかどうかを確認してください。元のNFSサーバーがなくなったので、同じIPとエクスポートで新しいサーバーを作成します。次に、umount -f/mnt/nfs_partを試します。ようやくnfsをアンマウントできるようになりました。

0
Lan

マウントコマンドはほとんど* nixに依存しないため、OS X固有のフォローアップのみです。ただし、-l(レイジー)フラグはOS Xには存在しませんが、-f(強制)フラグは存在し、十分であることが証明されています。また、システム生成のマウントポイントは/ Volumes(/ Volumes/myserversexport)にあります

0
niels

カーネル3.2.0を強制的にアンマウントすると、NFSv4マウントでハングすることに気づきました。 NFSv3のアンマウントは正常に機能します。

$ mount [...] -o nfsvers=3
0
Kuu Tirronen