Systemd не перезапускает службу, хотя Restart = всегда


10

Вот мой файл модуля службы systemd:

[Unit]
Description=Tunnel For %i
After=network.target

[Service]
User=autossh
ExecStart=/usr/bin/autossh -M 0 -N -o "ExitOnForwardFailure yes" -o "ConnectTimeout=1" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 40443:installserver:40443 -R 8080:installserver:8080 tunnel@%i
Restart=always

[Install]
WantedBy=multi-user.target

Сбой устройства 15 дней назад, и systemd не перезапустил его, хотя «Restart = всегда» находится в файле модуля выше.

Вот вывод статуса этого сервиса:

salt:/srv # systemctl status autossh@eins-work
autossh@eins-work.service - Tunnel For eins-work
      Loaded: loaded (/etc/systemd/system/autossh@.service; enabled)
      Active: failed (Result: start-limit) since Wed, 2016-02-10 14:33:34 CET; 2 weeks and 1 days ago
    Main PID: 17980 (code=exited, status=0/SUCCESS)
      CGroup: name=systemd:/system/autossh@.service/eins-work

Feb 10 14:33:34 salt systemd[1]: Stopping Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Starting Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Failed to start Tunnel For eins-work.
Feb 10 14:33:34 salt systemd[1]: Unit autossh@eins-work.service entered failed state

Связанный: https://serverfault.com/a/563401/90324

Как настроить службу systemd, чтобы она всегда перезапускалась при сбое?


Не могли бы вы вручную запустить его после сбоя?
Тханг Фам

Ответы:


4

Служба не запускалась слишком много раз подряд, и поэтому systemd прекратил попытки. Вот что Result: start-limitзначит.

Обратите внимание, что блоки, для которых настроено Restart=и которые достигают предела запуска, больше не пытаются перезапускаться; тем не менее, они все равно могут быть перезапущены вручную позже, после чего логика перезапуска снова активируется. Обратите внимание, что systemctl reset-failedэто приведет к сбросу счетчика скорости перезапуска для службы, что полезно, если администратор хочет вручную запустить модуль, и ограничение запуска мешает этому.

Вы должны решить проблему, из-за которой служба не запускается.

Если вам нужно настроить , сколько раз и как быстро Systemd попытки перезапустить службу неисправного см на StartLimitInterval=, StartLimitBurst=и StartLimitAction=варианты .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.