Запит на запуск послуги повторюється занадто швидко, відмовляючись від ліміту запуску


23

У мене системна служба, яка відображає наступну помилку service start request repeated too quickly, refusing to start

Я розумію, що служба налаштована на перезапуск при відмові, і вона перезапускається знову і знову. Але коли саме відмовляється від перезавантаження? Чи є обмеження або число, яке визначає його?

Більше того, що too quicklyсаме означає, чи це обмеження кількості перезавантажень за певний період часу?

Відповіді:


26

Ліміт за замовчуванням полягає в тому, щоб дозволити 5 перезавантажень протягом 10 сек. Якщо служба переходить цей поріг через параметр Restart=config у визначенні служби, вона більше не буде намагатися перезапустити.

Ціни налаштовуються за допомогою параметрів StartLimitIntervalSec=та StartLimitBurst=параметрів та Restart=параметрів управління, коли SystemD намагається перезапустити послугу.

Більше інформації в man systemd.unitта man systemd.service.

Потім використовуйте systemctl daemon-reloadдля перезавантаження конфігурації блоку.


3
Дякую @Sven. Де визначені ці конфігурації?
Вікас Тіварі

У службовому файлі. Ці StartLimit...параметри можуть бути там і просто використовувати за замовчуванням (5 перезавантажується в 10 сек).
Свен

Чи вказане значення за замовчуванням у якомусь іншому файлі конфігурації?
Вікас Тіварі

3
За замовчуванням можна налаштувати, наприклад, /etc/systemd/system.confпараметри DefaultStartLimitIntervalSec(та подібні). Однак вони часто не встановлюються, і використовуються компільовані стандартні параметри. Див man systemd-system.
Свен

@Sven Де файл файлу служби?
Користувач

2

Варто зазначити, що деякі помилки, здається, кидають цю помилку, тоді як причина інша.

Я прокоментував bantime за замовчуванням і вставив альтернативну лінію **bantime = 7200 #3600**

Я також додав новий розділ [sasl] , який включав назву фільтра, яка була змінена від тієї, яку наведено у статті, яку я слідкував.

Замість того, щоб помилитися в будь-якому з них, fail2ban відмовився від перезавантаження, надавши

Запит на запуск послуги повторюється занадто швидко, відмовляючись від запуску помилки

Тільки коли я прокоментував розділ [sasl], я отримав помилку, що згадував про недійсний bantime, з якого я зрозумів, що він не може впоратися з вбудованими коментарями.

Коли я виправив це і прокоментував новий розділ [sasl], у мене з’явилася помилка, що фільтр не знайдено. Заміна правильно названого фільтра призвела до перезавантаження 2 балів, як очікувалося.

Тож якщо ви внесете зміни та отримаєте цю помилку, переконайтесь, що ви видалите зміни та все ж отримаєте ту саму помилку, перш ніж намагатися виправити симптом.


0

Один із швидких і брудних способів, який я щойно використав для цієї самої проблеми, - це створити скрипт, який працює в режимі "башмак", який не працює так, що служба не запускається так швидко. Працює для мене, оскільки мені не потрібні негайні перезавантаження ..

/root/sleep_and_start_autossh.sh

    /bin/bash -e
    sleep 200
    /usr/bin/autossh args...

/etc/systemd/system/autossh.service

    StartLimitIntervalSec=120 # this didn't seem to do much for me.
    #ExecStart=/usr/bin/autossh args ...
    ExecStart=/root/sleep_and_start_autossh.sh

Щоб уникнути дроселювання, потрібно опустити StartLimitIntervalSec його або встановити його на 0 для відключення. Прочитайте системну документацію.
Володимир Пантелеев

0

Ви не вказуєте, яка служба не починається з цієї помилки.

У мене була ця проблема fail2ban, і, як і у відповіді MickG , помилка була насправді в моїй конфігурації fail2ban і не мала нічого спільного з конфігурацією системної служби.

З програмою fail2ban рішення - це почати з неї

fail2ban-client -x start

яке відобразить детальне повідомлення про помилку. Чомусь при використанні systemctl start fail2banреальна помилка втрачається і її не можна знайти в жодних журналах.

Після виправлення помилки конфігурації послугу можна знову зупинити або (повторно) запустити з системою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.