Как заставить соединение CIFS размонтировать

У меня есть доля CIFS, установленная на машине Linux. Сервер CIFS не работает, или интернет-соединение не работает, и все, что касается монтирования CIFS, теперь занимает несколько минут до таймаута и не может быть убито, пока вы ждете. Я даже не могу запустить ls в своем домашнем каталоге, потому что есть символическая ссылка, указывающая внутри монтирования CIFS, и ls пытается следовать за ней, чтобы решить, какой цвет она должна быть. Если я попытаюсь установить его (даже с -fl), процесс umount зависает так же, как и ls. Даже судо команда 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 

У меня была эта проблема в течение дня, пока я не нашел реальное решение. Вместо того, чтобы пытаться принудительно размонтировать подвешенный общий ресурс smb, смонтируйте его с помощью опции "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

может не быть реальным ответом на ваш вопрос, но это решение проблемы


это работает для меня (рабочий стол 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, он будет монтировать общий ресурс только при доступе и размонтирует его afterworlds.

есть хороший учебник поwww.howtoforge.net


есть опция-f для umount, которую вы можете попробовать:

umount -f /mnt/fileshare

вы указываете опцию' - t cifs ' для монтирования? Также убедитесь, что вы не указываете опцию "жесткий" для монтирования.

вы также можете рассмотреть fusesmb, поскольку файловая система будет работать в пользовательском пространстве, вы можете убить ее так же, как и любой другой процесс.


у меня была очень похожая проблема с davfs. В разделе человек umount.davfs, Я обнаружил, что -f -l -n -r -v параметры игнорируются umount.davfs. Чтобы заставить-размонтировать мой davfs mount, я должен был использовать 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 ИМЯ_ПАПКИ


ленивый unmount сделает работу за вас.

umount -l <mount path>