On Fri, Sep 15, 2023 at 10:11:34AM +0300, Andrey Jr. Melnikov wrote:
> Eugene Berdnikov <b...@protva.ru> wrote:
> >  и в итоге сделал для себя вывод, что проще поставить на хост systemd
> >  чем 100 раз отжиматься... Под systemd оно сразу и shutdown/reboot нормально
> >  отрабатывало, и вложенные контейнеры запускало, и ещё чего-то там делало,
> >  что под SysV лечилось лишь напильником.
> Хахаха... Ты нашёл замшелую граблю обильно присыпанную пылью веков. Всё дело
> в том, что lxc использует SIGPWR для останова контенйнеров, а в inittab'e от
> SysV-init прописано обработчик "pf::powerwait:/etc/init.d/powerfail start"

 Если такая грабля существовала, это не то, с чем сталкивался я...
 Насчёт SIGPWR не знаю, скорее всего он используется, но конечный результат
 зависит и от процесса, управляющего контейнером, и от поведения init'а
 внутри контейнера. Вот у меня контейнеры с дебианами примерно от 2008 года
 (с апдейтами, да), с такими строчками в inittab'e:

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

 причём никаких /etc/init.d/power* нет, а системы нормально гасятся и
 поднимаются. Под systemd. Когда я игрался с подобными контейнерами
 под SysV, там было примерно такое: по lxc-stop контейнер шустро
 сворачивается, а потом lxc-stop висит 2-3 минуты, ожидая какого-то
 ответа из сокета, и выдаёт невразумительное сообщение об ошибке.
 При этом в контейнере ничего не ломается.

 И много подобных неудобств и граблей было, всех уже не вспомнить...
 
 Если сегодня под SysV инфраструктура lxc нормально живёт, это замечательно,
 но мне надо было вчера, и для этих задач я для себя выбрал systemd.
 -- 
 Eugene Berdnikov

Ответить