Red Gremlin писал(а): ↑23.02.2014 20:35
В случае systemd и даже самого пьяного и тупого админа ситуацию спасёт то, что SystemKeepFree по умолчанию равна 15% от размера файловой системы.
Этого я не знал. Теперь знаю. Неясно только, как это поможет.
Смотрите сами: Давайте возьмем для простоты арифметики цифру 100Мб.
Итак, есть свободное пространство объемом 100Мб. SystemKeepFree резервирует 15Мб из этой сотни. И что?
При таком раскладе распухающий лог займет 85Мб и после этого сервис упадет, потому что больше места нет, остальное зарезервировано. Если же отдать эти зарезервированные мегабайты, то распухающий лог займет все 100Мб и дальше сервис всё равно упадёт.
Не важно, какой именно сервис - может, тот, чей лог распухает, а может соседний, не один, так другой, всё равно упадёт. Дальше должен сработать автоматический перезапуск, который ровным счетом ничего не даст, ибо сервису нет места для работы.
Red Gremlin писал(а): ↑23.02.2014 20:35
А чем ситуация "Не рестартануло, потому что не смогло" от ситуации "не рестартануо, потому что не пыталось" принципиально отличается? Чем так лучше не пытаться рестартовать?
Попытаться, конечно, можно.
Но во-первых, в большом числе случаев это бессмысленно - всё равно не поднимется, и тогда перезапуск будет бесконечным - не вижу в этом ничего хорошего.
Во-вторых, в этих самых случаях, когда всё равно не поднимется, необходимо вмешательство админа, а раз уж он вмешивается, то всё равно перезапустит руками, после разруливания проблемы.
В тех редких случаях, когда сервис действительно падает на ровном месте без видимых причин и действительно достаточно сделать перезапуск - в этих случаях да, автоматика будет полезной. Но в том-то и дело, что эти случаи редкие - мне такой демон попадался всего один за шесть лет - и то проприетарный.
Тем более, если сама ошибка в демоне проявляется редко. То есть этот автоматический перазапуск будет нужен там раз в полгода.
Запилить, конечно, можно такую штуку, просто эта фича преподносится как очень полезная вещь.
Как будто падение демонов - это прям вот проблема номер один и без автоматизации тут никак не прожить, забот других нет, только перезапускать постоянно падающие демоны. А демоны только и знают, что падают без всяких оснований.
Кстати говоря, вот эта предлагаемая автоматика и вообще идея systemd - это... как бы это сказать, подмена задачи. Придумывается автоматический перезапуск сервисов (который нужен раз в год), всякие там сервис-файлы с упрощённым синтаксисом, которые вообще нафиг не нужны, ибо и без них всё работает, И всё это вместо того, чтобы повышать уровень грамотности админов.
Лучше б учились скрипты писать нормально, тогда и демоны падать не будут, и систему инициализации переделывать не придётся. Но нет, куда там!
Если бы существующая система не работала, тогда дело другое.
Но она работает, вот ведь какая незадача! Чиним то, что не ломалось.
Так что systemd - это путь тупиковый, это всё равно, что упрощать правила русского языка, ради безграмотных, чтобы они не чувствовали себя ущемленными.