Страница 1 из 1

FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-сервера

Добавлено: 2011-08-04 11:10:35
kpp
Имеем FreeBSD 8.2, на смонтировано несколько NFS-разделов другого NFS-сервера.
При падеже NFS-сервера при попытке зайти в примонтированные разделы фря задумывается, наверное навсегда.
При попытке сделать

Код: Выделить всё

umount -f
, происходит такое же "задумывание".
Как бороться?

Примонтировано так:

Код: Выделить всё

192.168.0.4:/massiv/backup01<--><------>/storag/backup01<------>nfs<--->rw,-b,intr,-3,rsize=32768,wsize=32768,noauto<-->0<----->0
Вопрос f_andrey:
Чем не устроила тематика вопроса?

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 11:33:47
bagas
если стоит фаервол то разрешить врагментированные пакеты.
выложите полностью ваши настройки.
сервер ....
клиент ...
логи...

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 11:41:52
Bayerische
Полагаю, опцию bg надо добавить.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 11:44:22
kpp
Клиентом выступает FreeBSD 8.2, NFS-клиент родной.
NFS-сервером выступает Linux Debian Lenny.
Оба находятся в одной сети, в фаере в этой сети все разрешено для этих ИП.
Сервер с линухом иногда, по непонятным пока причинам, зависает.
В логах линукса пока ничего подозрительного не обнаружил, из-за чего происходит зависание, но это отдельная тема.
А вот FreeBSD в таком случае просто, похоже ждет.
В логе одинокое сообщение:

Код: Выделить всё

Aug  1 19:56:18 kernel: nfs server 192.168.0.4:/massiv/backup: not responding
NFS-сервера нет, ну и ладно, пытаюсь отмонтировать

Код: Выделить всё

umount -f /storag/backup01
Ни ответа ни привета - уходит в ожидание и все.
Бесконечный таймаут (или конечный, но очень большой).

Опция -b указана.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 11:46:59
bagas
попробуй вовсе отключить фаерволы с обоих сторон.
дело в нем 100%

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 11:57:24
kpp
Гм.. если линукс завис, то и отключай там что-то не отключай.. ;) хотя фаера там все равно нет.
Если честно, не могу понять как фаер может так повлиять...
Были преценденты ?
Отключить его на фре пока проблематично(шлюз), изучу логи фаера пока, на всякий случай.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 12:04:49
Bayerische

Код: Выделить всё

man mount_nfs | grep soft -A1 -B1

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 12:21:04
kpp
В поисках решения проблемы набрел на это:
http://www.opennet.ru/openforum/vsluhfo ... l?n=MacroS
Опция -s , судя по сообщениям, не помогла, правда топик от 2005-го года...
Есть вариант промониторить и отстрелить процессы, кот. используют этот примонтированный зависший ресурс, а уже потом делать mount -f

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 12:52:32
Bayerische
Поигрался сейчас с bg, soft. Да, проблема имеется. При пропадании канала зависон всего, что требует шар. Даже mc в консоли не стартует, т.к. при открытии одна панель в шаре.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-04 13:51:51
bagas
у меня фря 7,4 раздает по nfs порты в сеть..так вот клиенты тоже системы фряя 7,4
сервер с такими опциями

Код: Выделить всё

rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
mountd_flags="-r -p 3333"
potmap_enable="YES"
exports

Код: Выделить всё

/usr/ports -alldirs -maproot=root -network 10.10.10 -mask 255.255.255.0
клиент

Код: Выделить всё

10.10.10.253:/usr/ports  /usr/ports      nfs     rw,-w=1024      0     0
rc.conf

Код: Выделить всё

nfs_client_enable="YES"
пришлось разрешить фрагментирваонные патоки
ipfw
на сервере

Код: Выделить всё

$cmd add pass tcp from ${net} to ${ip} nfsd in setup
$cmd add pass udp from ${net} to ${ip} nfsd in keep-state
$cmd add pass tcp from ${net} to ${ip} sunrpc in setup
$cmd add pass udp from ${net} to ${ip} sunrpc in keep-state
$cmd add pass tcp from ${net} to ${ip} 3333 in setup
$cmd add pass udp from ${net} to ${ip} 3333 in keep-state
клиент

Код: Выделить всё

$cmd 00735 allow udp from me to any dst-port 111 keep-state
$cmd 00736 allow udp from any to me src-port 111 keep-state
$cmd 00737 allow udp from me to any dst-port 1022 keep-state
$cmd 00738 allow udp from any to me src-port 1022 keep-state
$cmd 00739 allow ip from ${ipnfs} to me frag
только так заработало. но не совсем еще разобрался, если на клиенте при включенном фаерволе запустить установку порта, то зависает на глухо, приходить отключить фаервол у клиента.
Вот такой вот инцидент.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-06 11:32:26
LMik
А может кто-то объяснить причем тут фрагментированные пакеты?

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2011-08-08 9:57:47
kpp
Вроде как удалось отмонтировать разделы "пропавшего" NFS сервера, если предварительно отстрелить все процессы, которые использую эти разделы.
Вот только вопрос теперь как отобрать процессы, которые используют определенные разделы?
Утиль fuser тоже подвисает, если ее натравить на раздел "пропавшего" NFS сервера...

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2013-01-10 8:35:39
arkan
Друзья, день добрый
Столкнулся с полностью такой же ситуацией
Имею сервер FreeBSD 9.1 на который монтирую шару NFS
Шара NFS расположена на сервере под линухом

При остановке NFS сервера (Linux) по непонятной причине начинается зависоны FreeBSD клиента
Может сделать как нибудь на автомате что бы шара размонтировалась ?

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2013-01-10 8:39:19
Bayerische
Я через amd всё монтирую, избавило от многих проблем.

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2013-01-10 8:44:00
arkan
Bayerische писал(а):Я через amd всё монтирую, избавило от многих проблем.
приведи пожалуйста пример команды монтирования через amd
и как это в прописать /etc/amd.map ?

Re: FreeBSD 8.2 NFS-клиент зависание при пропадании NFS-серв

Добавлено: 2013-01-10 9:33:31
Bayerische
Конкретизируй, какой именно момент непонятен. Там одной командой не отделаешься.
Вообще достаточно набрать

Код: Выделить всё

cd /net/192.168.1.1/
amd.map у меня в дефолте.