Systemd ไม่ได้เริ่มบริการใหม่แม้ว่าจะเริ่มใหม่ = เสมอ


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 ไม่รีสตาร์ทแม้ว่า "เริ่มใหม่ = เสมอ" อยู่ในไฟล์หน่วยด้านบน

นี่คือสถานะเอาท์พุทของบริการนี้:

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 ให้รีสตาร์ทเสมอหากมีบางอย่างล้มเหลว


คุณสามารถเริ่มด้วยตนเองได้หลังจากเกิดข้อผิดพลาดหรือไม่?
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.