LINUX.ORG.RU
ФорумAdmin

Systemd reboot/shutdown hangs

 , ,


0

2

Ситуация: Куча серверов на CentOS 7 в разных городах. С них нужно слить большой объём данных на один сервер Windows. Сейчас делаем это, подмонтировав шару командой mount.cifs. В некоторых случаях, при проблемах с сетью, зависает процесс, работающий с точкой монтирования. После этого не удаётся ни отмонтировать, ни убить процесс. Погуглив, вроде понял, что проблема в модуле cifs, некоторым помогает vers=3.0 (но не нам). Пока выходим из положения, просто создав другую точку монтирования и продолжая работать с ней. И всё бы ничего, но после того, как такое случилось, сервер не удаётся перезагрузить - «застревает» где-то в конце, судя по логу после после принудительной перезагрузки - не может перемонтировать корень. Это очень неудобно, т.к. «серверы» в большинстве - дешёвый самосбор, и приходится просить «руки» на месте ребутнуть.

Собственно, вопрос: Можно ли заставить systemd не сидеть на месте, если не может кого-то убить или перемонтировать корень, а ребутнуть систему принудительно?

P.S. Предупреждая возможные советы: да, мы можем переделать схему, возможно, поставим rsync на винду. Но всё-таки интересен именно вопрос поведения systemd при shutdown/reboot.


Убейся об стену. виндузятники должны страдать!

anonymous
()

systemctl –force –force reboot

anonymous
()

я тоже на федоре страдал одно время от зависаний при выключении, потому как использую шары с малины. Причем без разницы nfs, samba или прочее результат один и тотже, нажимаю выключать прихожу с работы комп еще висит. Но в 31 федоре вроде пофиксили и костыли я больше не использовал. Сам я написал скрипт который перед выключением размонтировал шары с ключем –lazy чтобы не ждать. Например

umount -l /mnt

одно что нужны права рута и нужно поэтому написать правильный сервис oneshot который это сделает после network.target. Правда сервиса который писал больше у меня нет

jtad
()
Ответ на: комментарий от jtad

Спасибо за наводку. Проверю при случае, спасает ли umount -l

VovanE
() автор топика

после принудительной перезагрузки - не может перемонтировать корень

энтерпрайзненько…

теперь и ты знаешь, что systemd - гавно

зато у тебя есть возможность поглядеть бинарный лог, да…

anonymous
()

Может, включить LazyUnmount= на юните с точкой монтирования?

# /etc/systemd/system/path-to-mount-point.mount.d/override.conf
[Mount]
LazyUnmount=true

Здесь path-to-mount-point — экранированный путь до точки монтирования. Его можно получить, например, так: systemd-escape --path /path/to/mount/point.

Можно ли заставить systemd не сидеть на месте, если не может кого-то убить или перемонтировать корень

Отвечая на вопрос дословно — да, так тоже можно. Можно задать таймаут ожидания отмонтирования через JobTimeoutSec= на том же юните:

# /etc/systemd/system/path-to-mount-point.mount.d/override.conf
[Unit]
JobTimeoutSec=30s # или любое другое значение

а ребутнуть систему принудительно?

А чтобы прямо совсем принудительно, есть JobTimeoutAction=. Если выставить в reboot-force или reboot-immediate (смысл значений документирован здесь), то при превышении таймаута systemd не просто забьёт и пойдёт дальше, а прямо сразу ребутнёт всю машину:

# /etc/systemd/system/path-to-mount-point.mount.d/override.conf
[Unit]
JobTimeoutSec=30s # или любое другое значение
JobTimeoutAction=reboot-immediate
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 6)
Ответ на: комментарий от anonymous

Было время, у меня с nfs даже это не спасало. Но для cifs такого вроде не было.

anc ★★★★★
()
Ответ на: комментарий от anonymous

теперь и ты знаешь, что systemd - гавно

До него было приблизительно так же, с зависшей nfs. Так что systemd тут скорее не причем.

anc ★★★★★
()
Ответ на: комментарий от anonymous

после принудительной перезагрузки - не может перемонтировать корень

я про этот трешак!

Возможно мы по разному поняли, пока не отмонтировали другие fs мы не перемонтируем корень. Во всяком случае я это так понял, основываясь на собственном опыте.

anc ★★★★★
()
Ответ на: комментарий от anonymous

Если кадр занимается аналитикой и хищением какой либо телеметрии с разработками то пущай страдает потому что ntfs легко сломать линуксовыми фаилами в виде битых ссылок , а попросту они не удаляемы только формат тц

anonymous
()
Ответ на: комментарий от deep-purple

Да нашел. Каст не сработал почему-то

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.