CIFS接続を強制的にアンマウントする方法


149

LinuxマシンにCIFS共有がマウントされています。CIFSサーバーがダウンしているか、インターネット接続がダウンしており、CIFSマウントに触れるものはすべてタイムアウトするまで数分かかり、待機中は無効にできません。CIFSマウントの内部を指すシンボリックリンクがあり、lsはそれを追跡して、色を決定するため、ホームディレクトリでlsを実行することもできません。(-flを使用しても)アンマウントしようとすると、lsと同じようにアンマウントプロセスがハングします。sudo kill -9でもそれを殺すことはできません。カーネルを強制的にアンマウントするにはどうすればよいですか?


回答:


186

私は遅延アンマウントを使用します:(umount -lそれは小文字ですL

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


42
これは最初はうまくいきませんでした。(毎回新しい仮想端末で)しばらく実験した後、これを思いつきましたsudo umount -a -t cifs -l。これでうまくいったか、最初のumountが完了するまでに少し時間がかかりました(120秒?300秒?)。120秒以上ブロックされているumountについて多くの警告が表示されました。
Peter Jaric

2
そして、再びマウントする前に、ぶら下がっているアンマウントをすべて削除する必要がありました。
Peter Jaric

13
sudo umount -a -t cifs -l それを機能させるためにも必要でした。
Joma

4
これは私には本当にうまくいきませんでした。上記のすべてを試したところ、cifsマウントが/ etc / mtabリストから消えましたが、再マウントできないため、実質的に役に立ちません。cifs共有がマウントされているときにコンピューターが一時停止すると、cifsマウントがフリーズします。
DH4 2012

私は同意します。umount-a -t cifs -lも、恐ろしい「Host is Down」thxを乗り越えるために私が必要とするものでもありました。
Pooch

70

umount -a -t cifs -l

CentOS 6.3では、私にとって魅力的なように機能しました。サーバーを再起動する必要がなくなりました。


8
スイッチとは何か-a-lそれらがどのように役立つかについて詳しく説明していただけませんか?
アイザック

10
-aおよび-t cifsは、すべてのcifsファイルシステムをマウント解除します。アンマウントするものを指定することをお勧めします
dwery

2
これは、ファイルブラウザーを介してマウントし、問題のあるマウントポイントが見つからない場合に最適です。
セージ

1
ありがとう、これは今日多くの時間を節約しました!
再び

13

RHEL 6ではこれが機能しました:

umount -f -a -t cifs -l 

これはうまくいきました、私が再マウントすることができる前に完全な30分(タイムアウト)を待たなければなりません。おそらくjniceが示すようにソフトマウントを行うのが最善です。
XMAN 2018

11

これは私にとってはうまくいきます(Ubuntu 13.10デスクトップからUbuntu 14.04サーバーへ):-

 sudo umount -f /mnt/my_share

搭載

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

ここで、serv_shareは、smb.confファイルで設定され、ポイントされているものです。


6

本当の解決策が見つかるまで、この問題が1日ありました。ハングしているsmb共有を強制的にアンマウントする代わりに、「ソフト」オプションを使用して共有をマウントします。利用できない共有にプロセスが接続しようとすると、一定の時間が経過するとプロセスは停止します。

マウントをソフトにします。数秒後にファイルシステムコールが失敗します。

mount -t smbfs -o soft //username@server/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

あなたの質問に対する本当の答えではないかもしれませんが、それは問題の解決策です


19
見てみると、man mount.cifsそれsoftが実際にデフォルトであることがわかります。
ベンジ2013年

2

umount -f / mnt / shareを試してください。NFSで問題なく動作し、cifsで試したことはありません。

また、autofsを見てください。アクセス時にのみ共有がマウントされ、後からマウントが解除されます。

www.howtoforge.netに優れたチュートリアルがあります。


5
残念ながら、-fはCIFSでは機能しません。umountはまだハングしています。
smoofra 2008

2

davfsで非常によく似た問題がありました。のマニュアルページでumount.davfs-f -l -n -r -vオプションが無視されることがわかりまし たumount.davfs。davfsマウントを強制的にマウント解除するには、を使用する必要がありましたumount -i -f -l /media/davmount


1

試すことができるumountには-fオプションがあります。

umount -f /mnt/fileshare

マウントに '-t cifs'オプションを指定していますか?また、マウントする「ハード」オプションを指定していないことを確認してください。

ファイルシステムはユーザースペースで実行されるため、他のプロセスと同じようにkillsmbを実行できるため、fusesmbを検討することもできます。


4
-fと-tは役に立ちません。umountはまだハングしています。
smoofra 2008

マウントに '-t cifs'オプションを追加してから再起動しましたか?現在、スタックマウントポイントを修正するためにできることはないと思います。唯一の望みは、将来の障害に対してより耐性のある方法でマウントポイントをマウントしてみることです。
Chris AtLee 2008

1
umount -f -t cifs -l /mnt &

に注意して&umountバックグラウンドで実行してみましょう。 umount最初にファイルシステムを切り離すので、に遭遇するものは何もありません/mntdfコマンドを実行すると、umount /mnt強制的に実行されます。


-2

RHEL 6では、これも私にとってうまくいきました:

umount -f -a -t cifs -l FOLDER_NAME


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