Xenix- फीनिक्स (बैश) के साथ मुफ्त में Citrix-Xen VMs कैसे पुनर्स्थापित करें
क्या आपको कभी आपदा रिकवरी (DR) समाधान के लिए अपने Citrix-Xen VMs को पुनर्स्थापित करने की आवश्यकता है, या केवल यह परीक्षण करने के लिए कि आपके बैकअप काम कर रहे हैं? एचटीजी बताते हैं कि वीएम बहाल करने के लिए एक मुफ्त बैश स्क्रिप्ट एक्स-फीनिक्स का उपयोग कैसे करें.
फोटो साभार: रयान मैककॉर्डी कॉमफ़िट cc के माध्यम से
जैसे हमने उल्लेख किया है कि "कैसे एक्सपी-सोकलेस के साथ सिट्रिक्स एक्सएमएन वीएम को फ्री में बैकअप करें", सिट्रिक्स एक्सएन में एक अच्छी बात यह है कि इसकी कई विशेषताएं हैं मुक्त प्रभार संबंधी। इसके साथ ही, यदि आप "स्वचालित VM सुरक्षा और पुनर्प्राप्ति" सुविधा चाहते हैं, तो आपको "अग्रिम" लाइसेंस के लिए भुगतान करना शुरू करना होगा। फिर, ऐसा नहीं है कि हम HTG में एक सच्चे बैकअप समाधान के मूल्य को खारिज कर रहे हैं, लेकिन यदि आप एक तंग बजट पर हैं, तो पहले ही VM छवियों को हाइपरविजर से बाहर निकाल चुके हैं और अपने "" को स्वचालित करने के तरीके की आवश्यकता है। परीक्षण पुनर्स्थापना "/" DR ताज़ा करें "" प्रक्रियाओं, आप बजट प्रतिबद्धता बनाने से पहले Xen-फीनिक्स एक पूरी तरह से उचित समाधान हो सकता है.
अवलोकन
"उपयोग मामला": आपके पास VM की एक जोड़ी है जिसे पुनर्स्थापना की आवश्यकता है। सही क्लिक का उपयोग करके "एक्सईएन केंद्र" में आयात ठीक काम करता है, लेकिन आप चाहते हैं कि यह प्रक्रिया स्वचालित रूप से और एक शेड्यूल पर हो। यह बैश स्क्रिप्ट अपने कर्तव्यों को निभाने के लिए "XE" कमांड का उपयोग करता है। एक्सई एक्सईएन कमांड लाइन इंटरफेस (सीएलआई) है, जो "एक्सईएन सेंटर" में "राइट क्लिक" जारी करने के लिए स्वचालित बराबर है। हम क्रोन से स्क्रिप्ट बुला रहे हैं जो "शेड्यूलिंग" भाग की आपूर्ति करेगी। इसके सरलतम रूप में, पुनर्स्थापना प्रवाह है:
- हटाना सभी * पहले से मौजूद वीएम सर्वर पर
- बैकअप स्थान में फ़ाइलों से VMs आयात करें.
- सत्यापित करें कि सभी VMs उन्हें एक-एक करके सक्रिय कर रहे हैं और अतिथि टूल की खोज कर रहे हैं.
- जब दिल की धड़कन का पता चला है तब वीएम को बंद कर दें, या समय समाप्त हो गया है.
* सभी वी एम एस व्यवहार को पूरी तरह से अक्षम किया जा सकता है और अपवादों का समर्थन करता है (नीचे देखें).
चलें शुरू करें :)
स्क्रिप्ट प्राप्त करें
एक्सटी-फोनिक्स को नियमित रूप से गिट तरीकों का उपयोग करके स्वतंत्र रूप से जीथब से प्राप्त किया जा सकता है। इसके साथ ही कहा, यदि आप अभी तक जीआईटी में पारंगत नहीं हैं, तो आप इस लिंक से जिप फाइल को पकड़ सकते हैं। जैसा कि स्क्रिप्ट को आपके एक एक्सएन सर्वर पर चलाने की आवश्यकता होती है, आपको इसे वहां निकालना चाहिए ताकि निष्पादन अनुमति संरक्षित हो.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip
अनजिप गुरु
जबकि ऊपर काम करेगा, आपको सलाह दी जाती है कि आप जीआईटी पद्धति का उपयोग करें ताकि आप भविष्य के अपडेट से लाभान्वित हो सकें.
निर्यात स्थान
हमें वीएम निर्यात को कहां से लेना है, यह कॉन्फ़िगर करने की आवश्यकता है.
Citrix Xen में बेतरतीब ढंग से घूमने के दौरान, मैंने पाया है कि स्टोरेज रिपॉजिटरी (SRs) “/ var / run / sr-Mount /% UUID%” के तहत उपयोग के लिए उपलब्ध हैं जहाँ UUID SR का विशिष्ट पहचानकर्ता है, जो हो सकता है GUI से प्राप्त किया.
इसका मतलब है कि हम वांछित बैकअप स्थान पर "माउंट" बनाने के लिए नियमित "अगला -> अगला -> समाप्त" विज़ार्ड का उपयोग कर सकते हैं, और फिर स्क्रिप्ट को उस पथ का उपयोग कर सकते हैं (जैसा कि कमांड लाइन से बढ़ते के साथ खिलवाड़ करने के लिए अपील की गई है जो है इस गाइड के दायरे से परे).
एक नया "माउंट" बनाने के लिए, सर्वर नाम पर राइट क्लिक करें और नया SR चुनें.
इस उदाहरण में, हम एक विंडोज़ शेयर के लिए एक्सईएन को इंगित करेंगे, इसलिए "विंडोज फाइल शेयरिंग (CIFS)" चुनें:
अगला -> अगला -> पूरा करें.
SR का UUID प्राप्त करें
SR का UUID प्राप्त करने के लिए, बस Xen केंद्र में इसके नाम पर क्लिक करें और "सामान्य" टैब पर जाएं.
UUID की प्रतिलिपि बनाने के लिए, बस इसे क्लिक करें और "प्रतिलिपि" चुनें.
हाथ में इस जानकारी के साथ, आप सेटिंग फ़ाइल को संपादित करने के लिए तैयार हैं.
सेटिंग्स फ़ाइल कॉन्फ़िगर करें
ज़ेन-फ़ीनिक्स परियोजना एक "सेटिंग" फ़ाइल टेम्पलेट के साथ बंडल में आती है। इस टेम्पलेट को आपके सेटअप को दर्शाने के लिए संपादित किया जाना चाहिए और स्क्रिप्ट के पहले तर्क के रूप में पारित किया जाना चाहिए.
सेटिंग्स फ़ाइल निम्नलिखित नामित करती है:
- स्रोत निर्यात का स्थान - यदि आपने इस बिंदु पर गाइड का पालन किया है, तो आपको एसआर के साथ% यूयूआईडी% को बदलना होगा क्योंकि यह ऊपर से प्राप्त किया गया था.
- SendEmail का स्थान - यदि आपने ईमेल को सक्षम करने का विकल्प चुना है, तो आपको इनपुट करने की आवश्यकता है जहां आपने पर्ल निष्पादन योग्य निकाला है.
- वेरिफायर - यह पोस्ट रिस्टोर वेरिफिकेशन प्रक्रिया को नियंत्रित करता है। यह डिफ़ॉल्ट रूप से सक्षम है, एक सफल "फ़ाइल स्तर पुनर्स्थापना" के रूप में आवश्यक नहीं है एक कार्यात्मक वीएम.
- Server_prep - यह प्री-रिस्टोर को नियंत्रित करता है विलोपन डीआर सर्वर पर सभी वीएम के। यह डिफ़ॉल्ट रूप से सक्षम है क्योंकि यह माना जाता है कि DR सर्वर इस उद्देश्य के लिए एक समर्पित सर्वर है। यदि आपको एक वीएम की आवश्यकता है जो इस सर्वर पर नहीं हटाया जा रहा है, तो इसे बाहर करने के लिए कॉन्फ़िगर करें। यदि यह व्यवहार आपकी स्थिति के लिए अनुकूल नहीं है, तो इसे पूरी तरह से अक्षम करें.
- ईमेल विवरण - दोबारा, यदि आपने ईमेल सक्षम किया है, तो आपको विवरण को परिभाषित करने की आवश्यकता है जैसे: To, From, Servername / IP & etc '.
- डिबगिंग - डिफ़ॉल्ट को डिबगिंग "0" (शून्य) मान के साथ बंद करना है। आपको इसे चालू करने की आवश्यकता नहीं है, लेकिन यदि आप करते हैं, तो समस्या निवारण खंड में अधिक जानकारी नोट की गई है.
क्रियान्वयन
यह स्क्रिप्ट सेटिंग्स फ़ाइल को इसके पहले तर्क के रूप में लेती है और किसी अन्य तर्क को "शेवरॉन" के रूप में खोजती है (रिक्त स्थान द्वारा अलग)। शेवरॉन, "स्ट्रिंग्स" हैं, जो नियमित अभिव्यक्ति का समर्थन करते हैं जो वीएम निर्यात के वांछित फ़ाइल नाम के कम से कम हिस्से का प्रतिनिधित्व करते हैं.
अर्थात्, अपने सरलतम रूप में, ज़ेन-फ़ीनिक्स का एक निमंत्रण जैसा दिखेगा:
./Xen-phoenix.sh settings.cfg DevTools
जहां ऊपर मामले में, हम उस निर्देशिका के अंदर हैं जो स्क्रिप्ट और सेटिंग्स फ़ाइल रखती है और "शेवरॉन" जो स्क्रिप्ट देखेगा, वह "DevTools" है। यह निर्यात निर्देशिका में सभी फाइलों को आयात करने के लिए उनके नाम में स्ट्रिंग "DevTools" का कारण होगा.
एक और अधिक जटिल उदाहरण देख सकते हैं:
./ एक्सन-फोनिक्स.श सेटिंग्स। एफजी [आ] [डीडी] [बीबी] [आईआई] [डीडी] ईवी [टीटी] ools
जहां ऊपर दिए गए उदाहरण में, उन फ़ाइलों में, जिनमें "devtools" शब्द होता है, जो एक राजधानी "D" और "T" या गैर-पूंजी वाले, साथ ही साथ "AD" और "BI" के साथ या बिना कैपिटलाइज़ेशन के साथ वर्तनी में आयात किए जाएंगे।.
निर्धारण
जैसा कि ऊपर उल्लेख किया गया है, हम निष्पादन को निर्धारित करने के लिए क्रोन का उपयोग करेंगे। इससे पहले कि हम कॉन्फ़िगरेशन में जाएं, यह है अत्यधिक सिफारिशित आप अपने एक्सएमएल सर्वर पर पहले से स्थापित एसएसएमटीपी पैकेज को कॉन्फ़िगर करते हैं। जबकि यह एक वैकल्पिक कदम है, ऐसा करने से आपको "बैकवाश" कलेक्टर मिलेगा। इस तरह के "बैकवॉश कलेक्टर" होने से आप उन चीजों के लिए सतर्क हो सकते हैं जो स्क्रिप्ट सक्षम नहीं है.
जारी करके क्रोन के संपादन मोड में प्रवेश करें:
Crontab -e
यदि आपने ऊपर दिए गए निर्देशों का पालन किया है और आप रविवार को दोपहर 01:31 (1:31 बजे) के लिए एक निर्धारित बैकअप जोड़ना चाहते हैं, तो नीचे इनपुट करें:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh/root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt ] ools
उपरोक्त सही है कि आपकी स्क्रिप्ट और सेटिंग्स फ़ाइल दोनों "/ रूट / एक्स-फीनिक्स-मास्टर /" के तहत हैं।.
SendEmail प्राप्त करें (वैकल्पिक)
हमने पिछले दिनों SendEmail perl प्रोग्राम के बारे में लिखा है, इसलिए यहाँ पुनरावृत्ति करने की कोई आवश्यकता नहीं है। यह कहने के लिए पर्याप्त है, यह लिनक्स पर उसी तरह काम करता है जैसा कि विंडोज पर करता है.
ईमेल को सक्षम करते समय वैकल्पिक है, यह अत्यधिक अनुशंसित है क्योंकि तब स्क्रिप्ट में सक्षम हो जाएगा:
- आपको सूचित करें कि यह कब शुरू और समाप्त हुआ.
- आपको किसी भी त्रुटि के बारे में सचेत करें जो यह पता लगाने और संभालने में सक्षम थी.
इसे एक्सएन सर्वर पर डाउनलोड करें और निकालें.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
उस स्थान पर ध्यान दें जहाँ आपने उसे निकाला था। आपको सेटिंग फ़ाइल के लिए इसकी आवश्यकता होगी.
"अपवाद हटाएं" टैग को परिभाषित करना (वैकल्पिक)
Xen- फीनिक्स अपने पूर्वज (Xen-Pocalypse) से एक पृष्ठ लेता है और आपको नियंत्रण टीएजी का उपयोग करके सिस्टम-व्यापी विलोपन से एक वीएम को अनधिकृत रूप से बाहर करने की क्षमता देता है। ऐसा करने के लिए, आपको एक नया "कस्टम फील्ड" परिभाषित करना होगा.
ऐसा करने के लिए, सर्वर या यहां तक कि वीएम के गुणों को खोलें। नेविगेशन फलक में, "कस्टम फ़ील्ड" चुनें.
यदि यह पहली बार है जब आप "कस्टम फ़ील्ड" (जैसा कि ऊपर उदाहरण में दिया गया है) को परिभाषित करते हैं, तो आपके पास इनपुट डेटा में "फीनिक्स_कीपर" फ़ील्ड नहीं होगी, इसलिए आपको इसे बनाने की आवश्यकता है। ऐसा करने के लिए, संवाद बॉक्स में "कस्टम फ़ील्ड संपादित करें" पर क्लिक करें जो पॉप अप करता है, फिर "जोड़ें ..." पर क्लिक करें।
"फीनिक्स_कीपर" नाम के साथ एक "टेक्स्ट" टाइप फील्ड बनाएं.
ध्यान दें: कस्टम फ़ील्ड का नाम स्क्रिप्ट में "हार्ड कोडित" किया गया है, इसलिए आपको उपरोक्त वर्तनी से विचलन नहीं करना चाहिए, जब तक कि आप संबंधित कोड को नहीं बदलते.
एक बार फ़ील्ड बन जाने के बाद, आपको यह देखना चाहिए:
खिड़की बंद कर दो। अब आपके पास भरने के लिए "फीनिक्स_कीपर" फ़ील्ड होनी चाहिए, जैसा कि नीचे दी गई तस्वीर में है.
अब, आपको केवल इस फ़ील्ड को एक टिप्पणी (कोई भी टिप्पणी करेगा) के साथ आबाद करना है, जो कि ज़ेन-फ़ीनिक्स को हटाते समय इसे छोड़ देगा।.
समस्या निवारण
हालांकि मैंने स्क्रिप्ट को उपयोग में आसान बनाने और जितना संभव हो सके उतना आसान बनाने में बहुत प्रयास किया है, "दुनिया एक बड़ी प्रयोगशाला है"। नीचे दी गई जानकारी आपको यह पता लगाने में मदद कर सकती है कि आपकी परेशानियों का स्रोत क्या है.
लॉगिंग
सभी "लॉगिंग" ज़ेन होस्ट द्वारा syslog तंत्र में स्क्रिप्ट को चलाने के लिए एकत्र किया गया है। यह, निश्चित रूप से, के साथ देखा जा सकता है:
कम + एफ / संस्करण / लॉग / संदेश
आप "ज़ेन-फीनिक्स" शब्द की तलाश कर रहे हैं.
नोट: Citrix ने अपने सर्वर के syslog के लिए दो (2) दिन प्रतिधारण नीति निर्धारित की है। आप पोस्टमॉर्टम के लिए इसे ध्यान में रखना चाह सकते हैं.
डिबगिंग
जैसा कि सेटिंग्स फ़ाइल सेगमेंट में उल्लेख किया गया है, डिबगिंग को सक्षम करने का निर्देश है। डिबगिंग को सक्षम करने से स्क्रिप्ट को कंसोल में लॉग इन करने के लिए आउटपुट वर्बोज़ का कारण होगा और इसे ईमेल भेजने और वास्तव में आयात करने से रोकना होगा, जब तक कि संबंधित झंडे भी सेट न हों। संभव झंडे सेटिंग्स फ़ाइल टेम्पलेट में नोट किए गए हैं, और वे आपको क्या डिबग करना चाहते हैं, इसे परिभाषित करने में सक्षम बनाते हैं.
यह मेरी आशा है कि आपको किसी डिबगिंग की आवश्यकता नहीं है और आप मेरे परिश्रम का फल प्राप्त कर रहे हैं :)
बस सभी गरीबी, घृणा और झूठ के बारे में सोचें, और उन सभी के विनाश की कल्पना करें जो आप घृणा करते हैं। धीरे-धीरे राख से, फीनिक्स उठेगा ...