एक सर्वर, अनावश्यक बिजली की आपूर्ति पर दो एपीसी यूपीएस: शटडाउन को कैसे ट्रिगर किया जाए?


10

मेरे पास एक सर्वर है और इसकी अनावश्यक बिजली की आपूर्ति दो APC स्मार्ट-यूपीएस 3000 XLM में प्लग की गई है। प्रत्येक यूपीएस दो अलग-अलग मुख्य बिजली स्रोतों से जुड़ा हुआ है।

Apcupsd के दो उदाहरण चल रहे हैं, प्रत्येक अपने स्वयं के यूपीएस से जुड़ा हुआ है। वे दोनों का पता लगा सकते हैं जब एक यूपीएस बैटरी पर है, और प्रत्येक यूपीएस सर्वर पर एक बंद ट्रिगर कर सकता है।

प्रश्न है: यदि केवल एक यूपीएस बैटरी से बाहर चला जाए तो शटडाउन कैसे नहीं?

नोट: स्मार्ट-यूपीएस 3000 एक्सएलएम में एक "पावर सिंक" फ़ंक्शन है जो अपने सहकर्मी से कनेक्ट करने और उसकी स्थिति का पता लगाने में सक्षम है। लेकिन जब मैंने उनमें से एक से प्लग निकाला, तो शटडाउन ऑर्डर वैसे भी भेज दिया गया था। मैं शट डाउन स्क्रिप्ट को संशोधित करने के बारे में सोच रहा हूं यदि अन्य अप डाउन हो तो "एपेकस" के साथ जांच करें। इस पर किसी भी अनुभव की सराहना की जाएगी!

जवाबों:


13

वर्तमान में जब दो UPS में से किसी एक की मृत्यु हो जाती है, तो doshutdown घटना शुरू हो जाती है, और apccontrol के माध्यम से डिफ़ॉल्ट स्क्रिप्ट निष्पादित करता है । Doshutdown स्क्रिप्ट दूसरा यूपीएस पर ध्यान नहीं देता, जैसा कि वे घटना से जुड़े नहीं हैं, और बंद के साथ सामान्य रूप से आगे बढ़ें।

आदेश रखने के लिए doshutdown घटनाओं कुछ हद तक जुड़ा हुआ है, apcupsd जरूरत एक विशेष रूप से अनुकूलित विन्यास फाइल के दो उदाहरणों। अंतर उस निर्देशिका में रहेगा, जहां से घटनाओं की स्क्रिप्ट को निष्पादित किया जाना है।

पहले अप के मुख्य गुण, में /etc/apcupsd/apcupsd.ups0.conf

SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events

और ups1 के लिए, में /etc/apcupsd/apcupsd.ups1.conf

SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events

प्रत्येक स्क्रिप्टधारी को डिफ़ॉल्ट स्क्रिप्ट की एक प्रति मिलनी चाहिए।
हम doshutdown स्क्रिप्ट को अनुकूलित करना चाहते हैं , जो मशीन को सीधे बंद नहीं करेगा, लेकिन यह जांचना होगा कि क्या अन्य यूपीएस अभी भी चालू है, या बंद मोड में है।

Doshutdown स्क्रिप्ट के शीर्ष पर , हम कुछ ऐसा जोड़ सकते हैं

ups0 के लिए

if [ ! -f /tmp/ups1.is.down ]
then
  touch /tmp/ups0.is.down
  exit 99
fi

ups1 के लिए

if [ ! -f /tmp/ups0.is.down ]
then
  touch /tmp/ups1.is.down
  exit 99
fi

स्टेटस 99 का एक विशेष अर्थ है, जो एपकंट्रोल को प्रगति में कार्रवाई को रोकने के लिए कहता है। पांच लाइनें जाँचती हैं कि क्या अन्य यूपीएस-डाउन-फ़ाइल बनाई गई है; यदि नहीं , तो डाउन-डाउन अप होने के लिए फ़ाइल बनाई जाती है, और बाहर निकल जाती है। यदि हाँ , तो इसका अर्थ है कि अन्य यूपीएस नीचे है, यह एक नीचे भी हो रहा है, इस प्रकार स्क्रिप्ट को जारी रखना चाहिए और मशीन को बंद करना चाहिए।

फ़ाइलें /tmp/usp[01].is.downइंगित करती हैं कि क्या अप [01] वर्तमान में नीचे है।

महत्वपूर्ण: init.d प्रारंभ स्क्रिप्ट की apcupsd को इन फ़ाइलों को हटा देना चाहिए, यदि वे पिछले सत्र में बनाए गए हैं:

rm -f /tmp/usp[01].is.down

अंत में, ऊपर बनाई गई निर्देशिकाओं, / etc / apcupsd / ups [01] को apcupsd उपयोगकर्ता (या प्रासंगिक उपयोगकर्ता जो भी इंस्टेंसेस चला रहा है) तक पहुँच दी जानी चाहिए ।

chown -R apcupsd /etc/apcupsd/ups[01]

कृपया विस्तृत दस्तावेज पर एक नज़र डालें ।

तय /tmp/ups[01].is.downनामों को संपादित करें , .isगायब था।


1
और नियमित उपयोगकर्ता आपके सर्वर को टच /tmp/ups1.is.down के साथ रोक सकते हैं; स्पर्श /tmp/ups0.is.down: D इसलिए उदाहरण के लिए / var / run का उपयोग करना बेहतर होगा। Btw। अगर कोई व्यक्ति समाधान को काटता है और चिपकाता है, तो rm -f /tmp/usp.b03d.is.down टाइपो है। और वैसे भी, आपको जब बिजली वापस आती है, तो आपको apccontrol के आक्रामक मामले से /tmp/ups को।
हरका ग्याजो

1
मैं सुझाव दूंगा कि आप अपनी खुद की.डाउन फाइल को एक दूसरे की जाँच करें - जिस तरह से यह अब है, मुझे लगता है कि एक छोटी दौड़ की स्थिति खिड़की है अगर दोनों अप एक ही समय में बाहर जाते हैं।
माइकल कोहेन

4

NUT को देखो। इसे वह बखूबी संभालती है। प्रत्येक यूपीएस से बिजली की आपूर्ति की संख्या निर्धारित करें और आवश्यक बिजली आपूर्ति की संख्या। जब तक यूपीएस पर पर्याप्त बिजली की आपूर्ति नहीं होगी तब तक शटडाउन चालू नहीं होगा।

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