NFSマウントされたディレクトリを強制的にマウント解除します[終了]


163

ハングしたLinuxマシンにNFSマウントされたディレクトリがあります。アンマウントを強制しようとしましたが、うまくいかないようです:

$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy

mount」と入力すると、ディレクトリがマウントされなくなったように見えますが、「ls /mnt/data」を実行するとハングします。マウントポイントを削除しようとすると、次のようになります。

$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy

マシンを再起動する以外にできることはありますか?


3
私は、これを深刻に混乱させたものを閉じるために投票した人は誰でも同意します。この問題は何年もの間私を悩ませてきました。以下の答え、Linuxのumount -lは、私が見つけた最初の解決策です。
Lizardx 2015年

1
わかりましたが、スーパーユーザーで見つけることができます。質問が閉じられたのではなく移動されなかった理由はわかりませんが。
deeenes

umountの--force場合、アンマウントをより困難にしようとし-v-vvvさらにはマウントの問題をさらに明らかにします。だから、試してください:umount -vvv --force /badmount
gaoithe

5
@deeenesこの質問は2008年9月に行われ、スーパーユーザーは2009年7月まで開始されなかったため、;-)
Martin Tournoij

@Carpetsmokerですが、2013年にトピック外としてマークされました
ヒント:

回答:


254

あなたは怠惰なアンマウントを試すかもしれません:

umount -l

3
これはどこでも実装されているわけではありません。たとえば、FreeBSDにはありません。
ダニエルパパシアン09年

28
@Daniel:確かに、それ Linuxの質問(タグ付けされている)であり、Linuxにはあります。
ユルゲン・A.エアハルト

5
私はこのコマンドをUbuntuで試しましたが、うまくいきませんでした。
キーランアンドリュース

1
これでうまくいきました(Slackware 14.0)。NFSではなくCIFSマウントがあり、すべてがハングアップしていました(を含むlsof)。私が書いているバックアップスクリプトから抜け出すことで問題を引き起こしました。スクリプトはディレクトリをマウントおよびアンマウントしますが、壊れることから何かがrsync台無しになりました。怠惰なアンマウントについては知りませんでした。NASデバイスが原因で問題が発生した可能性があります。アンマウントに成功した後、再度マウントする前にデバイスを再起動する必要があることがわかりました。
水田14年

10
@KieranAndrewsおよびUbuntuの他の人は、を試してくださいfusermount -uz /path/to/file。私にとって魅力的でした!:)
マットフレッチャー

78

NFSサーバーが消えてオンラインに戻せない場合、私が使用する1つのトリックは、NFSサーバーのIP(この例では192.0.2.55)を使用してインターフェイスにエイリアスを追加することです。

Linux

そのためのコマンドは、おおよそ次のようなものです。

ifconfig eth0:fakenfs 192.0.2.55 netmask 255.255.255.255

192.0.2.55は、廃止されたNFSサーバーのIPです。その後、アドレスにpingを実行できるはずです。また、ファイルシステムをアンマウントできるはずです(unmount -fを使用)。次に、エイリアスインターフェイスを破棄して、トラフィックを古いNFSサーバーにルーティングしないようにする必要があります。

ifconfig eth0:fakenfs down

FreeBSDおよび類似のオペレーティングシステム

コマンドは次のようになります。

ifconfig em0 alias 192.0.2.55 netmask 255.255.255.255

そしてそれを削除するには:

ifconfig em0 delete 192.0.2.55

詳細については、ifconfig(8)を参照してください。


5
ifconfig eth0:fakenfs ...' and umount -f -l / my / mount / dir ' の組み合わせで問題が解決しました。
PTS

1
私も、マウント解除の問題により、ラップトップを一時停止できません。このため、このソリューションは非常に便利です。自動化するためのスクリプトも作成しました。
albfan

Linuxからエイリアスを削除する場合、それはifconfig eth0:fakenfs deleteでしょうか?それとも別のものを探していますか?好きifconfig eth0 delete 192.0.2.55
Ehtesh Choudhury 2013

2
@Shurane Linuxでは、エイリアスを削除するとifconfig eth0:fakenfs downうまくいくはずです。
2013年

1
ありがとう、素晴らしい仕事です!私の場合には、NFSサーバがオンラインに戻っていた、まだそれをumountことができませんでした、これはトリック、歓声でした
nmirceac

20

実行してみてください

lsof | grep /mnt/data

/ mnt / dataにアクセスしているプロセスがアンマウントされるのを妨げるはずです。


1
間違いなく役に立ちましたが、私を完全に救ったわけではありません。しかし、役に立ちました。
James T Snell

2
lsofが永久にハングする場合は、「lsof -b」を試してください(NFSにlsofバグが発生しています。たとえば、bugzilla.redhat.com / show_bug.cgi?id = 962755を参照してください )。
dr0i

11

私は同じ問題を抱えていて、どちらも umount /path -f、どちらも umount.nfs /path -f、どちらもfuser -km /path動作しません

最終的に私は簡単な解決策を見つけました>。<

sudo /etc/init.d/nfs-common restart、それから簡単にやってみましょうumount;-)


5
私と一緒に働いたumount -f -l ...
mivk 2013年

Ubuntuサーバー14.04では私はしなければsudo service nfs-kernel-server restartなりませんでしたが、あなたの答えは間違いなく私を正しい軌道に導きました、ありがとう!
Murmel 2016年

4

NFSサーバーが消えました。

理想的には、NFSサーバーが戻ってきた場合に最善の策です。

そうでない場合は、「umount -f」でうまくいくはずです。常に機能するわけではありませんが、多くの場合は機能します。

NFSファイルシステムを使用しているプロセスをたまたま知っている場合は、それらのプロセスを強制終了してみると、アンマウントが機能する可能性があります。

最後に、再起動する必要があると思います。

また、NFSドライブをソフトマウントしないでください。ハードマウントを使用して、それらが機能することを保証します。これは、書き込みを行う場合に必要です。


ソフトマウントとハードマウントは、ユースケースの問題のようです。はい、ソフトマウントは、NFSサーバーが何らかの理由でダウンした場合、現在書き込まれているファイルを破壊するため、適切なシステムクリティカルディレクトリではない可能性がありますが、音楽や映画などの重要ではないファイルを含むドライブでは機能します大丈夫。
zrajm 2014年

4

ここで有効な答えが見つかりませんでした。しかし、Linuxでは、「umount.nfs4 / volume -f」を実行すると、確実にアンマウントされます。


4
umount.nfs4はumountのサブコマンドではありませんか?つまり、umount -f /some/mountpointと同じumount.nfs4 /some/mountpoint -fです。
Ville

1
面白い。私の側では(NFSサーバーが消滅した後):をumount呼び出しumount.nfs、永久に(オプションに関係なく)ハングします。 umount.nfs4 /mnt -fかなり時間がかかりますが、完了します。 umount.nfs4 /mnt -l(おそらくプロセスを待機しないため)すぐに完了します。
Tino
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.