Linux マシンに CIFS 共有をマウントしています。CIFS サーバーがダウンしているか、インターネット接続がダウンしており、CIFS マウントに触れるものはすべてタイムアウトするまでに数分かかり、待機中はキルできません。CIFSマウント内を指しているシンボリックリンクがあり、lsはそれをたどってどの色にするかを決定しようとするため、ホームディレクトリでlsを実行することさえできません。(-fl を使用しても) umount しようとすると、ls と同じように umount プロセスがハングします。sudo kill -9 でも殺すことはできません。カーネルを強制的にアンマウントするにはどうすればよいですか?
11 に答える
私は怠惰なアンマウントを使用します:(umount -l
それは小文字ですL
)
怠惰なアンマウント。ここでファイルシステムをファイルシステム階層から切り離し、ファイルシステムがビジー状態でなくなったらすぐに、ファイルシステムへのすべての参照をクリーンアップします。(カーネル2.4.11以降が必要です。)
umount -a -t cifs -l
CentOS 6.3で私にとって魅力的に働きました。サーバーの再起動を節約できました。
RHEL 6 では、これは機能しました。
umount -f -a -t cifs -l
本当の解決策が見つかるまで、私はこの問題を 1 日抱えていました。ハングした smb 共有を強制的にアンマウントしようとする代わりに、「soft」オプションを使用して共有をマウントします。プロセスが利用できない共有に接続しようとすると、一定の時間が経過すると接続が停止します。
soft マウントをソフトにします。数秒後にファイル システム呼び出しを失敗させます。
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
あなたの質問に対する本当の答えではないかもしれませんが、それは問題の解決策です
umount -f / mnt/shareを試してください。NFSで問題なく動作し、cifsで試したことはありません。
また、autofsを見てください。アクセスされたときにのみ共有がマウントされ、アフターワールドでアンマウントされます。
www.howtoforge.netに良いチュートリアルがあります
あなたが試すことができる umount への -f オプションがあります:
umount -f /mnt/fileshare
マウントするために「-t cifs」オプションを指定していますか? また、マウントに「ハード」オプションを指定していないことを確認してください。
ファイルシステムはユーザー空間で実行されるため、他のプロセスと同じように強制終了できるため、fusesmbを検討することもできます。
私はdavfsで非常によく似た問題を抱えていました。のマニュアル ページで、オプションが によって無視されumount.davfs
ていることがわかりまし た。davfs マウントを強制的にアンマウントするには、.-f -l -n -r -v
umount.davfs
umount -i -f -l /media/davmount
umount -f -t cifs -l /mnt &
注意して、バックグラウンドで実行&
させてくださいumount
。
umount
最初にファイルシステムをデタッチするため、については何も見つかりません/mnt
。df
コマンドを実行すると、umount /mnt
強制的に実行されます。
RHEL 6では、これも機能しました:
umount -f -a -t cifs -l FOLDER_NAME
怠惰なアンマウントがあなたのために仕事をします。
umount -l <mount path>