NFSサーバーが表示されなくなったNFSマウントをアンマウントします


32

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

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

クライアントとサーバーの両方がLinuxマシンです。


回答:


45

Linuxを想定:

umount -f -l /mnt/myfolder

問題を少し修正します:

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

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

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


1
私は同じ問題を抱えてグーグルでここに来ました。はい-レイジーフラグはここで私を本当に助けてくれました... -f自体はそれをしていませんでした
...-wawawawa

はい、「-l」「-f」オプションが同じ時間である必要があります。
-liuyang1

2
また、umountのローカルパスではなくリモートアドレスを指定することで成功することもありました。umount -f -l nfsserver:/export/thefolder
オリバー

18

デビッド・パシュリーによって与えられたヒントを詳しく説明すると

「アンマウント-l」があなたの問題を解決しない限り、あなたは離れて行ってしまったものと同じアドレスを持つ偽のサーバーを設定することができます- しかし、あなたは実際に新しいサーバか何かを設定する必要はありません。ブロッキング/ハングumount状況から抜け出す最も簡単な方法は、次のようにローカルエイリアス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アドレスです)


ローカルnfsサーバーを実行しなければならなかったことを除いて、これは私にとってはうまくいきました。
gak

6

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

によるとman 5 nfs

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

...そして、それはにintr優先されると言いsoft続けていますが、ぶら下がりを防ぐという同様の効果があります。


3
nfsの新しいバージョンでは、intrは廃止されるか、何の操作も行われないことに注意してください。この場合、softを使用する必要があります。
ポール

3

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


2
これは、NFSと死んだサーバーではうまくいきません。遅延フラグ(またはIfAliasを追加するトリック)も必要です。lsofとfuserはすべてハングし、umount -fは「デバイスがビジー」と表示します。
wawawawa

1

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


2
必ずしも。プロセスがハングする何らかの方法でディレクトリにアクセスしようとすると、automountマウントもこの状態でハングする可能性があります。
カミルKisiel

ええ、オートマウンターは解決するだけの問題を引き起こします。
pjc50 09年

1

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


2
上記のように-l(遅延)は、キーである
マットシモンズ

1

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


0

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

$ mount [...] -o nfsvers=3

0

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.