सेवा प्रारंभ अनुरोध बहुत जल्दी दोहराया, सीमा शुरू करने से इनकार कर दिया


23

मेरे पास एक systemd सेवा है जो निम्नलिखित त्रुटि प्रदर्शित करती है service start request repeated too quickly, refusing to start

मैं समझता हूं कि विफलता पर सेवा को पुनरारंभ करने के लिए कॉन्फ़िगर किया गया है और यह बार-बार पुनरारंभ हो रहा है। लेकिन जब यह वास्तव में पुनरारंभ करने से इनकार करता है? क्या कोई सीमा या संख्या है जो इसे परिभाषित करती है?

इसके अलावा, too quicklyवास्तव में इसका क्या मतलब है, क्या यह किसी निश्चित समय में पुनरारंभ की संख्या की सीमा है?

जवाबों:


26

डिफ़ॉल्ट सीमा 10sec अवधि में 5 पुनरारंभ करने की अनुमति है। यदि Restart=सेवा परिभाषा में कॉन्फिगर विकल्प के कारण कोई सेवा उस सीमा से अधिक हो जाती है , तो वह आगे से पुनः आरंभ करने का प्रयास नहीं करेगा।

जब SystemD किसी सेवा को पुनरारंभ करने का प्रयास करता है, तो दरें StartLimitIntervalSec=और StartLimitBurst=विकल्प और Restart=विकल्प नियंत्रित होते हैं।

अधिक जानकारी में man systemd.unitऔर man systemd.service

फिर systemctl daemon-reloadयूनिट कॉन्फ़िगरेशन को फिर से लोड करने के लिए उपयोग करें।


3
धन्यवाद @ स्वेन। इन विन्यासों को कहाँ परिभाषित किया गया है?
विकास तिवारी

सेवा फ़ाइल में। StartLimit...विकल्प में वहाँ नहीं हो सकता है और बस डिफ़ॉल्ट (10 सेकंड में 5 पुनरारंभ) का उपयोग करें।
स्वेन

क्या डिफॉल्ट वैल्यू किसी अन्य कॉन्फिगर फाइल में लिखी गई है?
विकास तिवारी

3
चूक सकते में विन्यस्त किया है, जैसे /etc/systemd/system.confके साथ DefaultStartLimitIntervalSec(और इसी तरह) विकल्प। हालांकि, ये अक्सर सेट नहीं होते हैं और संकलित-इन डिफॉल्ट का उपयोग किया जाता है। देख लो man systemd-system
स्वेन

@ सेवा फ़ाइल कहाँ है?
यूजर

2

यह ध्यान देने योग्य है कि कुछ दोष इस त्रुटि को फेंकते हैं, जबकि कारण अलग है।

मैंने डिफ़ॉल्ट बेंटाइम पर टिप्पणी की और एक वैकल्पिक इनलाइन डाला **bantime = 7200 #3600**

मैंने एक नया खंड [sasl] भी जोड़ा , जिसमें एक फ़िल्टर नाम शामिल था जो कि मेरे द्वारा दिए गए लेख में दिए गए से बदल गया था।

इसके बजाय उन दोनों में से किसी को भी गलत करने के बजाय, असफल 2बेन ने फिर से शुरू करने से इनकार कर दिया

सेवा प्रारंभ अनुरोध बहुत जल्दी दोहराया, त्रुटि शुरू करने से इनकार करते हुए

केवल जब मैंने [sasl] अनुभाग के बारे में टिप्पणी की, तो क्या मुझे एक त्रुटि मिली, जो एक अमान्य बैंमटाइम को संदर्भित करता है, जिससे मैं इकट्ठा हुआ कि यह इनलाइन टिप्पणियों से सामना नहीं कर सकता।

जब मैंने यह तय किया और नए [एसएएसएल] अनुभाग को अनियोजित किया, तो मुझे एक त्रुटि मिली कि फ़िल्टर नहीं मिला। सही ढंग से नामित फ़िल्टर के लिए प्रतिस्थापित करने के परिणामस्वरूप, असफल होने के कारण उम्मीद के अनुसार विफल हो गया।

इसलिए यदि आप परिवर्तन करते हैं और इस त्रुटि को प्राप्त करते हैं, तो सुनिश्चित करें कि आप परिवर्तनों को हटा दें और फिर भी एक लक्षण को ठीक करने का प्रयास करने से पहले वही त्रुटि प्राप्त करें।


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, और जैसा कि मिग के उत्तर में था , त्रुटि वास्तव में मेरे असफल 2 विन्यास में थी, और सिस्टमड सेवा विन्यास से इसका कोई लेना-देना नहीं था।

विफलता 2ban के साथ, समाधान के साथ इसे शुरू करना है

fail2ban-client -x start

जो एक विस्तृत त्रुटि संदेश प्रदर्शित करेगा। किसी कारण से, जब systemctl start fail2banवास्तविक त्रुटि का उपयोग करना खो जाता है और किसी भी लॉग में नहीं पाया जा सकता है।

एक बार कॉन्फ़िगरेशन त्रुटि ठीक हो जाने के बाद, सेवा को फिर से बंद किया जा सकता है या सिस्टम के साथ शुरू (फिर से) किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.