Как заставить соединение CIFS отключать

У меня есть общий ресурс CIFS, установленный на машине Linux. Сервер CIFS отключен, или соединение с Интернетом не работает, и все, что касается монтирования CIFS, теперь занимает несколько минут до тайм-аута и остается неудобным во время ожидания. Я даже не могу запускать ls в своем домашнем каталоге, потому что есть символическая ссылка, указывающая внутри монстра CIFS, и я пытаюсь следовать ему, чтобы решить, какой именно цвет должен быть. Если я попытаюсь его убрать (даже с -fl), процесс umount зависает так же, как и ls. Даже суо убить -9 может убить его. Как заставить ядро ​​отключить?

Ответ 1

Я использую ленивый unmount: umount -l (что строчный L)

Ленивый размонтинг. Отсоединить файловую систему из иерархии файловой системы и очистить все ссылки на файловой системы, как только она не занята больше. (Требуется ядро ​​2.4.11 или позже.)

Ответ 2

umount -a -t cifs -l

работал как шарм для меня на CentOS 6.3. Это избавило меня от перезагрузки сервера.

Ответ 3

В RHEL 6 это сработало:

umount -f -a -t cifs -l 

Ответ 4

У меня была эта проблема в течение дня, пока я не нашел реальное разрешение. Вместо того, чтобы пытаться отключить часть smb, которая висит, установите share с помощью "мягкой" опции. Если процесс пытается подключиться к недоступной доле, он перестанет пытаться через определенное время.

Мягкий Мягкий крепеж. Сбой файловых систем через несколько секунд.

mount -t smbfs -o soft //[email protected]/share /users/username/smb/share

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

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

Ответ 5

Это работает для меня (Ubuntu 13.10 Desktop для сервера 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

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

umount -f /mnt/fileshare

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

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

Ответ 7

Попробуйте использовать umount -f/mnt/share. Работает нормально с NFS, никогда не пробовал с cifs.

Кроме того, посмотрите autofs, он установит общий ресурс только при доступе и отключит его afterworlds.

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

Ответ 8

У меня была очень похожая проблема с davfs. На странице man umount.davfs я обнаружил, что опции -f -l -n -r -v игнорируются umount.davfs. Чтобы принудительно отключить монтирование моего davfs, мне пришлось использовать umount -i -f -l /media/davmount.

Ответ 9

umount -f -t cifs -l /mnt &

Будьте осторожны с &, пусть umount работает в фоновом режиме. umount сначала отключит файловую систему, поэтому вы не найдете ничего /mnt. Если вы запустите команду df, то она будет umount /mnt принудительно.

Ответ 10

В RHEL 6 это сработало и для меня:

umount -f -a -t cifs -l FOLDER_NAME

Ответ 11

Lazy unmount выполнит эту работу для вас.

unmount -l