Размонтирование cifs/nfs при пропадании сети
_SerEga_ 28 ноября, 2012 - 14:10
Подскажите правильный и простой путь для размонтирования cifs/nfs при пропадании сети и/или ухода "сервера" в даун.
Сейчас происходит "подвисание" всего, что юзало сетевой ресурс. Это очень не приятно (
в инете нашел только скрипты для других дистрибутивов и ссылки на autofs(но мне кажется, что он чутка для другого создан)
»
- Для комментирования войдите или зарегистрируйтесь
_SerEga_
+1
Тоже мучает. Хорошо, что редко случается.
Хотел запостить на форуме проблему, руки не доходили
umount -l /media/cifs
Приходиться так, но это
Приходиться так, но это спасает только свежезапущенные проги, а то что уже "висит" - продолжает...
к тому же хочется автоматизации.
/
Лично я этому не удивлён.
Не просто так нормальным поведением
umount
при попытке отмонтирования используемой файловой системы является ошибка "device is busy".Попробуй описать хотя бы в нулевом приближении правильное поведение приложения в ситуации, когда редактируемый файл становится недоступным (полагаю, здесь будет нелишним почитать трассу).
Если сочинится что-то приличное, можно попробовать посмотреть, что скажет апстрим (для начала на примере наиболее интересного тебе приложения).
:wq
--
Live free or die
Я понимаю, почему так
Я понимаю, почему так происходит, но мне это не нравиться.
Меня бы устроило, если бы можно было послать всем таким программам IO error, что б они прекратили ждать.
ps будет время погляжу на трейс.
.
Вопрос не в этом, а в физической реализуемости альтернативы, которая тебя устроила бы.
В таком случае возможно отдельно имеет смысл баг по части отработки соответствующей опции
umount
.Но что-то мне подсказывает, что приложение, получившее I/O error на открытый файл... чувствует себя не лучшим образом...
:wq
--
Live free or die
Но большинство нормальных
Но большинство нормальных программ это переживет.
К тому же, это будет пусть лучше прога огорчиться, но продолжит работать, чем мне придется ее убить собственноручно )
ps больше всего меня огорчает "повисание" таскбара kde
pss мне в голову пришла мысль, что большая часть проблем возникает из-за того, что папка была не размонтирована вовремя. Т.е. ресурс стал не доступен, а я или какая-нибудь прога мимоходом заглядываю в паку, куда он был смонтирован. Так, что скрипт вовремя размонтирующий ее уберет большую часть последствий
Напишите скрипт, который
Напишите скрипт, который проверяет доступность сервера и в случае, если сервер не доступен делает umont, плюс можно делать lsof, для поиска программ, которые используют смонтированный ресурс и "убивать" их.
Это запихнуть в cron с определённым интервалом.
Скрипт не проверял, на работу, просто написал, поправьте если что.
В общих чертах, выбираем из списка смонтированных файловых систем файловые CIFS, получаем ip адрес сервера, с которого смонтирована файловая системе, отправляем ICMP запрос (ping) с ожиданием в 1 секунду, если ответ не пришёл то проверяем есть ли программы, которые пишут или читают из точки монтирования файловой системы, "убиваем" их процессы и размонтируем файловую систему.
.
Почто не анализируешь exit codes?
Я в своё время решал подобную задачу так:
В данном примере имеет смысл допилить функцию с использованием (и вестимо проверкой) аргумента (hostname).
:wq
--
Live free or die
Если кого заинтересует
Если кого заинтересует использование этого скрипта пусть дописывает и тестирует.
спасибо, на выходных потестю.
спасибо, на выходных потестю.