Created attachment 7492 [details] reboot_log.jpg Добрый день! Наблюдается следующая странность: при выключении или ребуте машины сперва останавливается rpcbind, затем сеть, а только затем идёт попытка отмонтировать NFS раздел, которая висит до бесконечности, т.к. сети уже нет. По логам это показать не получается, т.к. они уже не пишутся на момент возникновения проблемы, поэтому см. скриншот. Проблеме уже несколько месяцев, но окончательно достала сейчас. Используется сегодняшний сизиф на x86_64, sysvinit-2.88-alt5.x86_64, startup-0.9.9.5-alt1.2.noarch. fstab: 10.4.0.3:/space /mnt/alt nfs ro,nolock,bg,_netdev 0 0 Порядок запуска и останова init скриптов выглядит нормальным: bircoph@orihime ~ $ ls -1 /etc/rc*/*netfs* /etc/rc0.d/K75netfs /etc/rc1.d/K75netfs /etc/rc2.d/S25netfs /etc/rc3.d/S25netfs /etc/rc4.d/S25netfs /etc/rc5.d/S25netfs /etc/rc6.d/K75netfs bircoph@orihime ~ $ ls -1 /etc/rc*/*network* /etc/rc0.d/K90network /etc/rc1.d/K90network /etc/rc2.d/S10network /etc/rc3.d/S10network /etc/rc4.d/S10network /etc/rc5.d/S10network /etc/rc6.d/K90network bircoph@orihime ~ $ ls -1 /etc/rc*/*rpc* /etc/rc0.d/K87rpcbind /etc/rc1.d/K87rpcbind /etc/rc2.d/S13rpcbind /etc/rc3.d/S13rpcbind /etc/rc4.d/S13rpcbind /etc/rc5.d/S13rpcbind /etc/rc6.d/K87rpcbind Если вручную сделать /etc/init.d/netfs stop | start, то ресурс успешно отмонтируется и монтируется снова. Мне не понятно, что за ерунда происходит.
А что показывает /etc/init.d/netfs status до начала выключения/ребута?
$ /etc/init.d/netfs status Configured NFS mountpoints: /mnt/alt Active NFS mountpoints: /mnt/alt
Исправления не было: startup 0.9.9.17-alt1, файл rc.d/init.d/netfs не менялся с 17.01.2014 (последний коммит 7683507, про glusterfs), порядок K-скриптов прежний — заголовок "# chkconfig: 345 25 75" даёт K75netfs раньше K87rpcbind и K90network. При разборе кода видно место, которое может объяснять симптом при формально правильном порядке: rc.d/rc:65 запускает K-скрипт только при наличии /var/lock/subsys/netfs, а netfs start() выходит с кодом 0 на строках 36-39 (NETWORKING не yes либо пустой вывод "ip route list") ещё до touch "$LOCKFILE" на строке 52. Если на момент старта сети не было, lock-файл не создаётся, K75netfs пропускается — и NFS размонтируется только в init.d/halt:162-165 ("Unmount all the rest"), уже после остановки сети, что и даёт зависший umount. Сам UnmountFilesystems (service/rc.d/init.d/functions:818) делает umount -f -l с тремя попытками по 5 секунд. Проверить это на стенде я не могу. Если sysvinit ещё используется, пожалуйста, посмотрите перед перезагрузкой, существует ли /var/lock/subsys/netfs при примонтированном NFS: его отсутствие подтвердит описанный механизм, наличие — укажет на другую причину.