[sisyphus] Что делать с systemd?

Михаил Новоселов mikhailnov на dumalogiya.ru
Вс Янв 17 15:51:01 MSK 2021


15.01.2021 20:57, Michael Shigorin пишет:
> On Wed, Jan 13, 2021 at 03:32:15PM +0300, Михаил Новоселов wrote:
>>>> systemd так и задуман, чтоб КАЖДАЯ перезагрузка проходила с
>>>> новым порядком запуска юнитов с непредсказуемым результатом?
>>> Ну не умеют эти "архитехтуры" головой думать.  Умели бы -- хоть
>>> проверку ацикличности графа делали бы при изменении вводных,
>>> чтоб проблемы вылезали по возможности не при запуске/останове,
>>> а тогда, когда с ними получается что-то сделать разумным 
>> Затыки возникают из-за ошибок уже после запуска сервиса или их
>> слишком долгой работы, разве проверка на ацикличность поможет
>> это избежать?
> Затыки возникают из-за головотяпства.  Яркая иллюстрация --
> искуственно созданные проблемы при отсутствующих блочных
> устройствах (свопе, например).  Казалось бы, какое твоё дело,
> пиналки сервисов -- когда свалится (если свалится), вот там
> и надо смотреть; но нет, надо заблокировать процесс на минуты
> без возможности сказать "проехали".

Есть такое, особенно когда ждет завершения графической сессии, а вернуться в нее уже нельзя.

В целом на мой взгляд такое поведение имеет смысл, ведь, например, гипервизор может получить сигнал и начать выключать виртуалки, что не моментально происходит, вполне разумно его подождать, а потом прибить SIGKILL'ом, если сам не завершится.

sd_notify полезная штука, сервис может сообщить systemd, что он действительно начал выключаться, к примеру.

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

В общем для таких недостатков надо придумывать решения и обсуждать с апстримом, который вполне адекватный (да-да), конкретно здесь у меня не получается придумать что-то принципиально лучшее, чем имеющееся. А не просто так кричать, что systemd плох. Он хорош, чем-то плох, но по совокупности -- хорош.

>
> PS: я *много* лет собирал регулярки/стартеркиты и с sysvinit,
> и с systemd -- насмотрелся предостаточно "новых и улучшенных"
> режимов отказа.
Параллелизация работы требует больше работы по продумыванию системы.
>
-- 
------
С уважением,
Михаил Новоселов | mikhailnov на dumalogiya.ru | https://nixtux.ru



Подробная информация о списке рассылки Sisyphus