CIFS 接続を強制的にアンマウントするにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/74626

  •  09-06-2019
  •  | 
  •  

質問

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

役に立ちましたか?

解決

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

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

他のヒント

umount -a -t cifs -l

CentOS 6.3 では私にとって魅力的に機能しました。サーバーを再起動する手間が省けました。

RHEL 6 では、これは機能しました。

umount -f -a -t cifs -l 

本当の解決策が見つかるまで、この問題を一日抱えていました。ハングした 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

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

これは私にとってはうまくいきます(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 ファイル内で設定およびポイントされているものです。

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

また、autofs を見てください。autofs はアクセスされたときのみ共有をマウントし、その後はアンマウントします。

良いチュートリアルがあります www.howtoforge.net

davfs に関しても同様の問題がありました。のマニュアルページでは、 umount.davfs, 、私が発見したのは、 -f -l -n -r -v オプションは無視されます umount.davfs. 。davfs マウントを強制的にアンマウントするには、次のようにする必要がありました。 umount -i -f -l /media/davmount.

アンマウントには -f オプションがあり、試してみることができます。

umount -f /mnt/fileshare

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

こちらも検討してみてはいかがでしょうか ヒューズMB, 、ファイルシステムはユーザー空間で実行されるため、他のプロセスと同じように強制終了できます。

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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top