Правильные «костыли» с сервисами
Здрасти
Есть оч важный продакшн сервер без бекапа, на котором пришлось поставить весьма неприятный костыль в виде mergefs, чтобы примонтировать в одну папку два рейда. Не спрашивайте зачем, так получилось, а исправить без долгого даунтайма не получится. Честно говоря, жаловаться на mergefs не стану, он работает лучше, чем можно представить - при огромной базе данных с кучей записей, за полгода проблемы были только 2 раза, которые решались перемонтированием и перезапуском сервисов. Так вот, есть скрипт, который выполняет все нужные команды при проблеме, но он пока работает «от руки», а нужно его автоматизировать. Не хочу это делать простым скриптом «while true», ибо сам скрипт может лечь, да и пихать его в автозапуск идея ужасная. Хочецца костыль сделать правильнее, через сервисы systemd. И так, у нас есть софт, nginx и mergefs. При пиковых нагрузках, mergefs начинает жрать весь процессор, а может вообще отвалиться. Нужен сервис, который будет стартовать при запуске и будет следить за состоянием mergefs - в случае проблемы - останавливать софт, отмонтировать mergefs, монтировать все, запускать софт и перезапускать nginx (на всякий случай). Под остановку и перезапуск есть скрипт. Смог его переделать под while true ... if .. ! pidof mergefs .. выполнение перезапуска ... , но не знаю, как правильнее из этого сделать сервис, да и нету случая на высокую нагрузку mergefs. Могу подзадротиться и допилить сервис, но в целях безопасности и самообучения, решил спросить вашего совета и помощи с допиливанием костыля..