Systemd không khởi động lại dịch vụ, mặc dù Khởi động lại = luôn


10

Đây là tập tin đơn vị của tôi về một dịch vụ 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

Đơn vị đã thất bại 15 ngày trước và systemd đã không khởi động lại nó, mặc dù "Khởi động lại = luôn luôn" nằm trong tệp đơn vị ở trên.

Ở đây đầu ra trạng thái của dịch vụ này:

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

Liên quan: /server//a/563401/90324

Làm cách nào để định cấu hình dịch vụ systemd để luôn khởi động lại nếu có lỗi?


Bạn có thể tự khởi động nó sau khi thất bại?
Thắng Phạm

Câu trả lời:


4

Dịch vụ không thể bắt đầu quá nhiều lần liên tiếp và vì vậy systemd đã từ bỏ việc thử. Đây là những gì Result: start-limitcó nghĩa.

Lưu ý rằng các đơn vị được cấu hình cho Restart=và đạt đến giới hạn bắt đầu không được cố gắng khởi động lại nữa; tuy nhiên, chúng vẫn có thể được khởi động lại thủ công vào thời điểm sau, từ thời điểm đó, logic khởi động lại được kích hoạt lại. Lưu ý rằng systemctl reset-failedsẽ khiến bộ đếm tốc độ khởi động lại cho một dịch vụ bị xóa, rất hữu ích nếu quản trị viên muốn tự khởi động một đơn vị và giới hạn bắt đầu can thiệp vào điều đó.

Bạn nên giải quyết vấn đề khiến dịch vụ không khởi động được.

Nếu bạn cần phải điều chỉnh bao nhiêu lần và làm thế nào một cách nhanh chóng systemd nỗ lực để khởi động lại một dịch vụ thất bại, xem các StartLimitInterval=, StartLimitBurst=StartLimitAction=tùy chọn .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.