Restart = always이지만 Systemd는 서비스를 다시 시작하지 않습니다.


10

다음은 시스템 서비스의 단위 파일입니다.

[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

"Restart = always"가 장치 파일 위에 있지만 15 일 전에 장치가 실패했으며 systemd가 다시 시작하지 않았습니다.

이 서비스의 상태 출력은 다음과 같습니다.

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

문제가 발생했을 때 항상 다시 시작되도록 시스템 서비스를 구성하는 방법은 무엇입니까?


실패 후 수동으로 시작할 수 있습니까?
Thang Pham

답변:


4

서비스가 연속해서 여러 번 시작되지 않아 systemd는 시도를 포기했습니다. 이것이 Result: start-limit의미 하는 바입니다.

구성 Restart=되어 시작 한계에 도달 한 장치는 더 이상 다시 시작되지 않습니다. 그러나 나중에 다시 수동으로 다시 시작될 수 있으며이 시점부터 다시 시작 논리가 다시 활성화됩니다. 참고 systemctl reset-failed서비스에 대한 재시작 속도 카운터의 원인이됩니다 관리자가 수동으로 장치와 그와 함께 시작 한계를 방해을 시작하고자하는 경우 유용하다 플러시합니다.

서비스가 시작되지 못하게하는 문제를 해결해야합니다.

신속 실패한 서비스를 다시 시작하려는 시도를 systemd 얼마나 많은 시간을 어떻게 조정해야하는 경우, 참조 , 옵션 .StartLimitInterval=StartLimitBurst=StartLimitAction=

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.