हाँ, यह मुमकिन है। यहां मेरे समान सेटअप का विवरण दिया गया है।
हार्डवेयर विन्यास:
APC स्मार्ट-यूपीएस 1500 USB के माध्यम से ESXi 5.1 होस्ट से जुड़ा है। इस ESXi होस्ट पर चलने वाली एक लिनक्स वर्चुअल मशीन। विकल्प के माध्यम से ईएसएक्सआई यूएसबी पास का उपयोग करके यूपीएस इस वीएम से जुड़ा हुआ है।
सॉफ्टवेयर विन्यास:
NUT (नेटवर्क यूपीएस टूल्स) VM में चल रहा है, और ESXi होस्ट पर देशी ESXi NUT गुलाम चल रहा है।
शटडाउन लॉजिक:
VM UPS ड्राइवर को usbhid-ups चला रहा है जो USB के माध्यम से UPS के साथ संचार के लिए जिम्मेदार है। Upsd usbhid-अप चालक और मॉनिटर यूपीएस राज्य के माध्यम से यूपीएस के लिए प्रक्रिया को जोड़ता है। एक ही मशीन पर चलने वाला अपसून मास्टर प्रक्रिया अपडाउन से जुड़ता है और शटडाउन शुरू करता है। ईएसएक्सआई होस्ट अपस्मॉन का दूसरा उदाहरण चल रहा है जो आंतरिक नेटवर्क के माध्यम से उसी वीएम अपड्स से जुड़ता है ।
बिजली की विफलता पर निम्न अनुक्रम होता है:
- Usbhid-ups के माध्यम से यूपीएस बिजली की विफलता के बारे में रिपोर्ट करता है।
- (वैकल्पिक, उपयोगी है अगर आप कम बैटरी के बजाय कुछ मिनटों में बंद करना चाहते हैं) वीएम पर अपटाउन 5 मिनट के टाइमर को शुरू करता है । यदि बिजली बहाल की जाती है, तो टाइमर को समाप्त कर दिया जाता है।
- जब टाइमर में आग लग जाती है या जब यूपीएस लो बैटरी की सूचना देता है, तो upsmon एफएसडी (जबरन बंद) झंडे को उठाता है।
- एक अकेले खड़े NUT विन्यास में FSD ध्वज मशीन को बंद कर देता है। लेकिन यहाँ शटडाउन कमांड को सरल लॉगिंग द्वारा प्रतिस्थापित किया जाता है जैसे "मुझे अब शटडाउन करना चाहिए लेकिन मैं इसके बजाय मेजबान की प्रतीक्षा कर रहा हूं"। और कुछ नहीं करता।
- ESD ध्वज को ESXi अपसॉन द्वारा भी पढ़ा जाता है, जो ESXi होस्ट को बंद करता है।
- ईएसएक्सआई होस्ट एक-एक करके सभी वर्चुअल मशीनों को बंद कर देता है। महत्वपूर्ण बात यह है कि वीएम जो अप्सड को चलाता है, उसे अंतिम (ईएसएक्सआई स्टार्टअप / शटडाउन अनुक्रम कॉन्फ़िगरेशन का उपयोग करके) बंद किया जाना चाहिए।
- महत्वपूर्ण: इस VM में vmware उपकरण स्थापित होना चाहिए। जब यह होस्ट से अतिथि शटडाउन कमांड प्राप्त करता है, तो vmware-tools शटडाउन स्क्रिप्ट शुरू की जा रही है। यह स्क्रिप्ट / etc / मारक क्षमता वाले ध्वज की जांच करती है। यदि कोई झंडा नहीं है, तो यह कुछ भी नहीं करता है (इसका मतलब है कि उपयोगकर्ता सक्रिय लिनक्स बंद है, न कि यूपीएस घटना)। लेकिन अगर ध्वज मौजूद है (FSD सक्रिय), तो यह स्क्रिप्ट यूपीएस को विलंबित पॉवरडाउन कमांड (3 मिनट में) कहता है।
- Vmware- उपकरण स्क्रिप्ट चलाने के बाद अतिथि VM शट डाउन हो जाता है।
- ESXi अंतिम VM पॉवरऑफ़ स्थिति को देखता है और अपने आप नीचे चला जाता है (इसमें लगभग 1 मिनट लगता है क्योंकि अब कोई अन्य मशीन नहीं चल रही है)।
- 2 मिनट में यूपीएस बिजली बंद कर देता है।
- जब बिजली बहाल हो जाती है, तो ईएसएक्सआई शुरू होता है और सभी वीएम पर शक्तियां होती हैं। UPS मॉनिटरिंग मशीन को सबसे पहले शुरू किया जाना चाहिए (शटडाउन ऑर्डर के लिए समान कॉन्फ़िगरेशन)।
डाउनलोड:
लिनक्स के लिए NUT को पैकेज से स्थापित किया जा सकता है।
ESXi सर्वर के लिए मूल NUT क्लाइंट को इस पृष्ठ पर अंतिम लिंक का उपयोग करके डाउनलोड किया जा सकता है: http://www.networkupstools.org/download.html
मेरी कुछ स्क्रिप्ट और गोपनीय फाइलें यहां हैं (केवल परिवर्तित लाइनें दिखाई गई हैं): http://pastebin.com/KkEeanK1
टिप्पणियाँ:
निश्चित रूप से अधिक विवरण हैं, और मुझे इस काम को करने में कुछ समय लगा, जैसा कि यह चाहिए। लेकिन अब यह बहुत अच्छा प्रदर्शन करता है। यह प्रणाली उन मामलों के लिए है जब आप सिर्फ मॉनिटरिंग वीएम को अंदर से बंद कर देते हैं (vmware-tools script नहीं चलती है), या अगर यह ESXi होस्ट VM शटडाउन (कोई / आदि / मारक झंडे की शुरुआत करता है, तो कोई UPS लोड बंद नहीं करता है), या यदि यह ईएसएक्सआई शटडाउन (वही) है। केवल महत्वपूर्ण यह है कि इस वीएम को होस्ट बूट के बाद एएसएपी चल रहा है, और इसे अंतिम रूप से बंद कर दें (इसलिए होस्ट डाउन टाइम का अनुमान लगाने योग्य है - जैसा कि ऊपर कहा गया है, यह मेरे लिए लगभग 1 मिनट है और मैं मामले में सिर्फ 2 मिनट और आरक्षित करता हूं)।
मेरा यूपीएस मॉनिटरिंग लिनक्स वीएम बैकअप स्टोरेज के लिए सांबा / एनएफएस शेयरिंग सर्वर, वीएम के लिए एनएटी / डीएचसीपी सर्वर और कुछ अन्य हल्के वजन वाली सेवाएं भी है। यह लगभग 22 मेगाहर्ट्ज का ईएसएक्सआई सीपीयू शेयर और लगभग 10 एमबी एक्टिव रैम लेता है। NUT का उपयोग करने के कारण आप आवश्यकता पड़ने पर उसी UPS से अधिक उपकरणों को पावर कर सकते हैं, और वे सभी शान से बंद हो सकते हैं। कोई PowerChute और / या महंगे नेटवर्क मॉनिटर कार्ड की आवश्यकता नहीं है।