फोटो क्रेडिट: कॉनफिट सीसी के माध्यम से रयान मैककर्डी
जैसा कि हमने "ज़ेन-पॉकेलीप्स के साथ मुफ्त में बैट अप सिट्रिक्स जेन वीएम" का उल्लेख किया है, सिट्रिक्स ज़ेन में अच्छी चीजों में से एक यह है कि इसकी कई विशेषताएं हैंमुक्त प्रभार संबंधी। इसके साथ ही, यदि आप "स्वचालित वीएम सुरक्षा और वसूली" सुविधा चाहते हैं, तो आपको "एडवांस" लाइसेंस के लिए भुगतान करना शुरू करना होगा। दोबारा, ऐसा नहीं है कि हम एचटीजी में एक सच्चे बैकअप समाधान के मूल्य को खारिज कर रहे हैं, लेकिन यदि आप एक कड़े बजट पर हैं, तो पहले से ही वीएम छवियों को हाइपरवाइजर से बाहर कर लिया है और उन्हें अपने " परीक्षण बहाल "/" डीआर रीफ्रेश "प्रक्रियाओं, आप बजट प्रतिबद्धता बनाने से पहले ज़ेन-फीनिक्स को एक बिल्कुल उचित समाधान के रूप में पा सकते हैं।
अवलोकन
"उपयोग केस": आपके पास कुछ वीएम हैं जिन्हें पुनर्स्थापित करने की आवश्यकता है। सही क्लिक का उपयोग करके "ज़ेन सेंटर" में आयात ठीक काम करता है, लेकिन आप यह प्रक्रिया स्वचालित रूप से और शेड्यूल पर होने की इच्छा रखते हैं। यह बैश स्क्रिप्ट अपने कर्तव्यों को पूरा करने के लिए "एक्सई" कमांड का उपयोग करती है। एक्सई ज़ेन कमांड लाइन इंटरफ़ेस (सीएलआई) है, जो "ज़ेन सेंटर" में "दायां क्लिक" जारी करने के लिए स्वचालित समतुल्य है। हम स्क्रिप्ट को क्रॉन से बुलाएंगे जो "शेड्यूलिंग" भाग की आपूर्ति करेगा। अपने सबसे सरल रूप में, बहाल प्रवाह है:
- हटाना सर्वर पर सभी * पहले मौजूदा वीएम
- बैकअप स्थान में फ़ाइलों से वीएम आयात करें।
- सत्यापित करें कि सभी वीएम एक-एक करके उन्हें सक्रिय करके और अतिथि उपकरण दिल की धड़कन की तलाश करके संचालित होते हैं।
- दिल की धड़कन की खोज होने पर वीएम बंद करें, या एक टाइमआउट पहुंच गया है।
* सभी वीएम व्यवहार को हटाएं पूरी तरह से अक्षम किया जा सकता है और अपवादों का समर्थन करता है (नीचे देखें)।
चलें शुरू करें:)
स्क्रिप्ट प्राप्त करें
नियमित गिट विधियों का उपयोग करके ज़ेन-फीनिक्स को मुफ्त में जिथब से प्राप्त किया जा सकता है। इसके साथ, यदि आप अभी तक गिट में नहीं हैं, तो आप इस लिंक के साथ ज़िप फ़ाइल को पकड़ सकते हैं। चूंकि स्क्रिप्ट को आपके ज़ेन सर्वरों में से किसी एक पर चलाने की आवश्यकता है, इसलिए आपको इसे वहां निकालना चाहिए ताकि निष्पादन अनुमतियां संरक्षित हों।
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip unzip master
जबकि उपर्युक्त काम करेगा, आपको सलाह दी जाती है कि जीआईटी विधि का उपयोग करें ताकि आप भविष्य के अपडेट से लाभ उठा सकें।
निर्यात स्थान
हमें कॉन्फ़िगर करने की आवश्यकता है कि वीएम निर्यात कहां से लेना है।
सिट्रिक्स जेन में यादृच्छिक रूप से घूमते हुए, मैंने पाया है कि स्टोरेज रिपोजिटरीज (एसआरएस) "/ var / run / sr-mount /% UUID%" के तहत उपयोग के लिए उपलब्ध हैं, जहां यूयूआईडी एसआर का अद्वितीय पहचानकर्ता है, जो हो सकता है जीयूआई से प्राप्त किया।
इसका मतलब है कि हम वांछित बैकअप स्थान पर "माउंट" बनाने के लिए नियमित "अगला -> अगला -> समाप्त करें" विज़ार्ड का उपयोग कर सकते हैं, और उसके बाद स्क्रिप्ट उस पथ का उपयोग कर सकती है (जैसा कमांड लाइन से बढ़ते हुए गड़बड़ करने के लिए लगाया गया है इस गाइड के दायरे से परे)।
नया "माउंट" बनाने के लिए, सर्वर नाम पर राइट क्लिक करें और नया एसआर चुनें।
एसआर के यूयूआईडी प्राप्त करें
एसआर के यूयूआईडी प्राप्त करने के लिए, बस ज़ेन सेंटर में इसके नाम पर क्लिक करें और "सामान्य" टैब पर जाएं।
सेटिंग्स फ़ाइल कॉन्फ़िगर करें
ज़ेन-फीनिक्स प्रोजेक्ट एक "सेटिंग्स" फ़ाइल टेम्पलेट के साथ आता है। इस टेम्पलेट को आपके सेटअप को प्रतिबिंबित करने के लिए संपादित किया जाना चाहिए और स्क्रिप्ट के पहले तर्क के रूप में पारित किया जाना चाहिए।
सेटिंग्स फ़ाइल निम्नलिखित निर्दिष्ट करता है:
- स्रोत निर्यात का स्थान - यदि आपने इस बिंदु पर मार्गदर्शिका का पालन किया है, तो आपको केवल यूआरआईडी% को एसआर के साथ बदलना होगा जैसा कि ऊपर से प्राप्त किया गया था।
- SendEmail का स्थान - यदि आपने ईमेल सक्षम करने का विकल्प चुना है, तो आपको इनपुट करने की आवश्यकता है जहां आपने यहां निष्पादन योग्य पर्ल निकाला है।
- सत्यापनकर्ता - यह पोस्ट पुनर्स्थापना सत्यापन प्रक्रिया को नियंत्रित करता है। यह डिफ़ॉल्ट रूप से सक्षम है, एक सफल "फ़ाइल स्तर पुनर्स्थापना" के रूप में आवश्यक नहीं है एक कार्यात्मक वीएम।
- Server_prep - यह पूर्व-पुनर्स्थापित करता है विलोपन डीआर सर्वर पर सभी वीएम के। यह डिफ़ॉल्ट रूप से सक्षम है क्योंकि यह माना जाता है कि डीआर सर्वर इस उद्देश्य के लिए एक समर्पित सर्वर है। अगर आपको इस सर्वर पर चलने वाले वीएम की आवश्यकता नहीं है, तो उसे बाहर करने के लिए कॉन्फ़िगर करें। यदि यह व्यवहार आपकी स्थिति के लिए उपयुक्त नहीं है, तो बस इसे पूरी तरह अक्षम करें।
- ईमेल विवरण -दोबारा, यदि आपने ईमेल सक्षम किया है, तो आपको विवरणों को परिभाषित करने की आवश्यकता है जैसे: से, से, सेरनावैम / आईपी और आदि '।
- डिबगिंग - डिफ़ॉल्ट "0" (शून्य) मान के साथ डीबगिंग बंद करना डिफ़ॉल्ट है। आपको इसे चालू करने की आवश्यकता नहीं है, लेकिन यदि आप करते हैं, तो समस्या निवारण खंड में अधिक जानकारी नोट की जाती है।
क्रियान्वयन
यह स्क्रिप्ट सेटिंग फ़ाइल को इसके पहले तर्क और किसी भी अन्य तर्क के रूप में "शेवरन्स" के रूप में खोजने के लिए ले जाती है (रिक्त स्थान से अलग)। शेवरन्स, "तार" हैं, जो नियमित अभिव्यक्तियों का समर्थन करते हैं जो वीएम निर्यात के वांछित फ़ाइल नाम के कम से कम हिस्से का प्रतिनिधित्व करते हैं।
यही है, अपने सबसे सरल रूप में, ज़ेन-फीनिक्स का एक आमंत्रण इस तरह दिखेगा:
./Xen-phoenix.sh settings.cfg DevTools
जहां उपर्युक्त मामले में, हम उस निर्देशिका के अंदर हैं जिसमें स्क्रिप्ट और सेटिंग्स फ़ाइल है और "शेवरॉन" स्क्रिप्ट "डेवूल" की तलाश करेगी। इससे निर्यात निर्देशिका में सभी फाइलें "DevTools" स्ट्रिंग के साथ उनके नाम पर आयात की जाएंगी।
एक और जटिल उदाहरण इस तरह दिख सकता है:
./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools
उपर्युक्त उदाहरण में, जिन फ़ाइलों में "devtools" शब्द होता है, पूंजी "डी" और "टी" या गैर-पूंजी वाले, साथ ही साथ "एडी" और "बीआई" पूंजीकरण के साथ या बिना आयात किए जाते हैं।
निर्धारण
जैसा ऊपर बताया गया है, हम निष्पादन को निर्धारित करने के लिए क्रॉन का उपयोग करेंगे। कॉन्फ़िगरेशन में जाने से पहले, यह हैअत्यधिक सिफारिशित कि आप अपने ज़ेन सर्वर पर पहले से स्थापित एसएसएमटीपी पैकेज को कॉन्फ़िगर करते हैं। हालांकि यह एक वैकल्पिक कदम है, ऐसा करने से आपको "बैकवाश" कलेक्टर मिल जाएगा। इस तरह के "बैकवाश कलेक्टर" होने से आपको उन चीजों को सतर्क कर सकते हैं जो स्क्रिप्ट सक्षम नहीं हैं।
जारी करके क्रॉन के संपादन मोड में प्रवेश करें:
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
उपरोक्त यह सही है कि आपकी स्क्रिप्ट और सेटिंग्स फ़ाइल दोनों "/ root / Xen-फीनिक्स-मास्टर /" के अंतर्गत हैं।
SendEmail प्राप्त करें (वैकल्पिक)
हमने अतीत में SendEmail perl प्रोग्राम के बारे में लिखा है, इसलिए यहां दोहराने की कोई आवश्यकता नहीं है। यह कहने के लिए पर्याप्त है, यह विंडोज़ पर लिनक्स पर उसी तरह काम करता है।
ईमेल सक्षम करने के दौरान वैकल्पिक है, इसकी अत्यधिक अनुशंसा की जाती है क्योंकि तब स्क्रिप्ट सक्षम हो जाएगी:
- जब यह शुरू हुआ और चलना समाप्त हो गया तो आपको सूचित करें।
- किसी भी त्रुटि के बारे में चेतावनी दें जो यह पहचानने और संभालने में सक्षम था।
इसे ज़ेन सर्वर पर डाउनलोड करें और निकालें।
wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz
उस स्थान पर ध्यान दें जहां आपने इसे निकाला था। आपको सेटिंग्स फ़ाइल के लिए इसकी आवश्यकता होगी।
"अपवाद हटाएं" टैग परिभाषित करना (वैकल्पिक)
ज़ेन-फीनिक्स अपने पूर्वजों (ज़ेन-पॉकालिप्स) से एक पृष्ठ लेता है और आपको नियंत्रण टैग का उपयोग कर सिस्टम-व्यापी हटाने से ग्रैनुलरली रूप से वीएम को बाहर करने की क्षमता देता है। ऐसा करने के लिए, आपको एक नया "कस्टम फ़ील्ड" परिभाषित करने की आवश्यकता है।
ऐसा करने के लिए, सर्वर या यहां तक कि एक वीएम गुणों को खोलें। नेविगेशन फलक में, "कस्टम फ़ील्ड" का चयन करें।
ध्यान दें: कस्टम फ़ील्ड का नाम स्क्रिप्ट में "हार्ड कोड" किया गया है, इसलिए आपको उपरोक्त वर्तनी से विचलित नहीं होना चाहिए, जब तक कि आप प्रासंगिक कोड भी न बदलें।
एक बार क्षेत्र बनाया गया है, तो आपको देखना चाहिए:
समस्या निवारण
जबकि मैंने स्क्रिप्ट को उपयोग करने में आसान और यथासंभव मूर्खतापूर्ण बनाने में बहुत प्रयास किए हैं, "दुनिया एक बड़ी प्रयोगशाला है"। नीचे दी गई जानकारी आपको यह पता लगाने में मदद कर सकती है कि आपकी परेशानी का स्रोत क्या है।
लॉगिंग
सभी "लॉगिंग" को ज़ेन होस्ट द्वारा सिस्लॉग तंत्र में स्क्रिप्ट चलाने के द्वारा एकत्र किया जाता है। यह, ज़ाहिर है, इसके साथ देखा जा सकता है:
less +F /var/log/messages
आप कुंजी शब्द "ज़ेन-फीनिक्स" की तलाश में हैं।
नोट: सिट्रिक्स ने अपने सर्वर के syslog के लिए दो (2) दिन प्रतिधारण नीति सेट की है। आप पोस्टमॉर्टम के लिए इसे ध्यान में रखना चाह सकते हैं।
डिबगिंग
सेटिंग्स फ़ाइल सेगमेंट में नोट किया गया है, डीबगिंग सक्षम करने के लिए एक निर्देश है। डिबगिंग को सक्षम करने से स्क्रिप्ट कंसोल पर वर्बोज़ लॉगिंग आउटपुट कर सकती है और इसे ईमेल भेजने और वास्तव में आयात करने से रोकती है, जब तक कि संबंधित झंडे भी सेट न हों। संभव झंडे सेटिंग्स फ़ाइल टेम्पलेट में नोट किए गए हैं, और वे आपको डीनग करना चाहते हैं जो परिभाषित करने के लिए सक्षम बनाता है।
यह मेरी आशा है कि आपको किसी भी डिबगिंग की आवश्यकता नहीं है और आप मेरे श्रम के फल काट रहे हैं:)
बस सभी गरीबी, घृणा और झूठों के बारे में सोचें, और उन सभी के विनाश की कल्पना करें जिन्हें आप तुच्छ मानते हैं। राख से धीरे-धीरे, फीनिक्स उभर जाएगा …