लिनक्स बल्क / रिमोट एडमिनिस्ट्रेशन


10

हमारे आंतरिक आईटी अवसंरचना के अलावा, हमें ऑन लाइन दुनिया के लिए हमारी सेवाओं की मेजबानी करने वाली लगभग 500 लिनक्स मशीनें मिली हैं। उन्हें डेटाबेस एन, प्रोडक्ट एन, एनएफएस, बैकऑफ़िस और जैसे क्लस्टर के एक समूह में वर्गीकृत किया गया है। इसके अलावा, वे हमारे विनिर्देशों और आवश्यकताओं के अनुसार, एक बाहरी प्रदाता द्वारा प्रशासित होते हैं।

हालाँकि, हम (वेब-) सॉफ़्टवेयर विकास, रोल-आउट और परिनियोजन के दौरान बहुत परेशानी का सामना करते हैं - विशेष रूप से क्योंकि देव- और मंचन-वातावरण में लाइव सिस्टम के साथ लगभग कुछ भी नहीं है (मैं बुरा विवरण बाहर करता हूं ..) ।

इस प्रकार, मैंने वर्चुअल मशीन बनाने की कोशिश की है, विभिन्न लाइव-सिस्टम को यथासंभव कॉपी किया है और डेवलपर्स (वे नहीं हैं root) के लिए "वास्तविक" लोगों के बजाय उदाहरण के लिए विकास-डेटाबेस से कनेक्ट करने के लिए उन्हें तैयार किया है । यह बहुत अच्छा काम करता है, लेकिन ...

मैं सोच रहा था कि कोई दूर से और थोक में उन प्रणालियों को कैसे प्रबंधित कर सकता है ? क्या कुछ सॉफ्टवेयर परिवार हैं जिनके बारे में मुझे जानकारी नहीं है? या, कम से कम, कुछ तकनीकों या सिद्धांतों से परिचित होना चाहिए?

हम प्रत्येक डेवलपर को स्थानीय रूप से (वर्चुअलबॉक्स) चलाने के लिए छवियों का एक गुच्छा प्रदान करेंगे। क्यूए विभाग वर्चुअल क्लस्टर (XEN या हाइपर- V) मिलेगा। यदि मुझे एक अतिरिक्त सर्वर-मॉड्यूल प्रदान करने की आवश्यकता है, तो एक नया डेटाबेस कनेक्शन फिर से रूट करें या केवल पैकेज प्रबंधक द्वारा प्रदान की गई हर चीज को अपडेट करना चाहते हैं ... मैं संभवतः कैसे कर सकता हूं कि हर सिस्टम और / या पर लॉग ऑन करने के लिए मजबूर किए बिना। मेरे सहयोगियों को कुछ स्थिरता-स्क्रिप्ट डाउनलोड करने और चलाने के लिए कहें?

मेरा मानना ​​है कि समाधान के बहुत सारे हैं। ठीक है, किसी तरह मैं सही कीवर्ड को खोज इंजन में दर्ज करने के लिए बेवकूफ हूं ... या यह मुद्दा उतना तुच्छ नहीं है जितना लगता है?

रिकार्ड के लिए:

  • लगभग सभी सिस्टम डेबियन जीएनयू / लिनक्स 6.x "निचोड़" चला रहे हैं
  • किसी भी डेवलपर को अपने कार्य केंद्र पर किसी विशेष ओएस का उपयोग करने के लिए मजबूर नहीं किया जाता है
  • बजट सीमित है, लेकिन मालिकाना सॉफ्टवेयर खरीदने के लिए बहुत छोटा नहीं है
  • एक समाधान जो हमारे उपरोक्त प्रदाता को शामिल करेगा, वह पसंद किया जाता है

जवाबों:


15

यह निर्भर करता है कि आपको वास्तव में क्या चाहिए और आप क्या खोज रहे हैं। लेकिन सामान्य तौर पर " कॉन्फ़िगरेशन प्रबंधन " जैसे कई समाधान मौजूद हैं:

  1. कठपुतली
  2. बावर्ची
  3. cfengine
  4. ansible
  5. नमक

आदि मैं व्यक्तिगत रूप से कठपुतली की सिफारिश करूंगा क्योंकि इसमें एक बड़ा समुदाय और बहुत सारे बाहरी प्रदान किए गए व्यंजन हैं। यह आपको सिस्टम को स्वचालित रूप से कॉन्फ़िगर और प्रबंधित करने की अनुमति देता है। यदि आप इसे अपने रिपॉजिटरी और स्वचालित अपडेट के साथ जोड़ते हैं जैसे कि unattended-upgradesआप सिस्टम को स्वचालित रूप से अपडेट कर सकते हैं।

एक अन्य समाधान सिर्फ अपने स्वयं के पैकेज जैसे company-baseआदि प्रदान करने के लिए है जो स्वचालित रूप से आवश्यक सॉफ़्टवेयर पर निर्भर करता है और आपके सिस्टम को स्वचालित रूप से कॉन्फ़िगर कर सकता है।

आपको स्वचालित तैनाती (नंगे पांव और वर्चुअलाइज्ड) में भी देखना चाहिए। यदि आप इसे कॉन्फ़िगरेशन प्रबंधन या अपने स्वयं के भंडार के साथ जोड़ते हैं, तो आप आसानी से अपने सिस्टम को स्वचालित और पुनर्स्थापित कर सकते हैं। यदि आप स्वचालित इंस्टॉलेशन के साथ शुरुआत करना चाहते हैं, तो इनफॉर्मन पर एक नज़र डालें जो कि लिबावर्ट के साथ-साथ नंगे हड्डियों के इंस्टॉलेशन का समर्थन करता है और इसमें कठपुतली का समर्थन है। यदि आप इसे स्वयं करना चाहते हैं तो आप किकस्टार्ट (redhat et। Al।) या "preseeding" को स्वचालित रूप से इस सिस्टम को कॉन्फ़िगर करने के लिए देख सकते हैं। डेबियन के लिए आप डीबूटस्ट्रैप या ग्रामर-डीबूटस्ट्रैप नाम के रैपर जैसे वर्चुअलाइज्ड इमेजेज का भी उपयोग कर सकते हैं ।

अपने डेवलपर के लिए वर्चुअलबॉक्स छवियां प्रदान करने में मदद करने के लिए योनि पर एक नज़र डालें यह आपको वर्चुअलबॉक्स के साथ वर्चुअलाइज्ड सिस्टम के निर्माण को स्वचालित करने की अनुमति देता है जो आपके वर्चुअल वातावरण को अनुकूलित करने के लिए शेफ, कठपुतली और शेल स्क्रिप्ट का समर्थन करता है।

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

गूगल कीवर्ड पर गौर करने के लिए devops, configuration management, it automationऔर server orchestration

संक्षेप में जितना संभव हो उतना स्वचालित और सामान मैनुअल करने के बारे में भी मत सोचो।


1
धन्यवाद! इसके माध्यम से पढ़ने के लिए बहुत सारा सामान है, लेकिन बहुत अच्छा लग रहा है।
mjhennig

@mjhennig i ने अभी कुछ और जानकारी भी जोड़ी है। तैनाती। बहुत सारे संसाधन उपलब्ध हैं, लेकिन सबसे महत्वपूर्ण है कि आपको वास्तव में ssh / वितरित गोले के माध्यम से अपने दम पर सामान नहीं करना चाहिए, लेकिन इसके लिए किसी प्रकार की व्यवस्था है।
उलरिच डेंगल

2
अपने आप पर सामान करने में कुछ भी गलत नहीं है, खासकर अगर उपलब्ध उपकरण उद्देश्य से फिट नहीं होते हैं। कठपुतली जैसी प्रणालियाँ बड़े पैमाने पर प्रणाली प्रशासन उपकरण हैं, न कि विन्यास प्रबंधन, प्रति से। सिस्टम का एक बड़ा हिस्सा जो मैं उपयोग करता हूं, वह एक केंद्रीय सर्वर से भी सुलभ नहीं है, लेकिन उपयोगकर्ताओं के लैपटॉप से ​​(सभी चीजों में) वीपीएन - तीन साल से इसे बदलने की कोशिश कर रहा है। हमारा आईटी विभाग क्षेत्रों से विभाजित है क्योंकि प्रत्येक क्षेत्र दूसरे तक ठीक से नहीं पहुंच सकता है। कुछ स्थितियों में होमग्रोन स्क्रिप्ट आवश्यक हैं। यहीं से इनोवेशन भी शुरू होता है।
अरसज

3
@ मुझे अपनी टिप्पणी से अपदस्थ करना चाहिए, स्क्रिप्ट आवश्यक हैं और आपको एक बार में अपने पूरे बुनियादी ढांचे को परिवर्तित करने की आवश्यकता नहीं है। सबसे महत्वपूर्ण हिस्सा चीजों को स्वचालित करना और इसे दोहराने योग्य बनाना है। लेकिन कठपुतली और महाराज की वर्णनात्मक प्रकृति के कुछ अनूठे पहलू हैं, जैसे आप कठपुतली कक्षाओं का परीक्षण और सत्यापन कर सकते हैं cucumber-puppet। बेशक आप मौजूदा घटकों का पुन: उपयोग करके अपने स्वयं के ढांचे को विकसित / विकसित कर सकते हैं लेकिन यह लग रहा है कि ओपी के पास वर्तमान में कुछ भी नहीं है और यदि आप खरोंच से शुरू करते हैं, तो मुझे लगता है कि मौजूदा ढांचे का उपयोग करना सबसे अच्छा है।
उलरिच डेंगल

हां, मैं स्वचालित / दोहराए जाने वाले कार्यों से सहमत हूं। मेरे पास जेनकिन्स / Oc4j और तोड़फोड़ / बुग्जिला एकीकरण जैसी मौजूदा प्रणालियों के बीच इंटरफ़ेस करने के लिए कई स्वचालित या पुश-बटन होम-ग्रो स्क्रिप्ट हैं। मैं आपकी टिप्पणी से सहमत नहीं था (दृढ़ता से) "आपको वास्तव में अपने दम पर सामान नहीं करना चाहिए"। कभी-कभी मौजूदा रूपरेखाएँ लागू नहीं होती हैं, जैसा कि मेरी स्थिति में मैंने वर्णित किया है।
अरेंज

3

उलरिच ने पहले से ही सॉफ्टवेयर तैनाती और स्वचालित सर्वर सेटअप के बारे में जवाब दिया।

इसके पीछे सिद्धांत हैं

  • परिभाषित करें कि आपके सर्वर को कैसा दिखना चाहिए - इसमें सामान्य सॉफ़्टवेयर शामिल है जो डिफ़ॉल्ट रूप से, विभाजन योजना और फाइलसिस्टम-लेआउट द्वारा स्थापित किया गया है
  • उत्पादन, मंचन, परीक्षण और विकास सर्वर इन बुनियादी मानकों के बारे में अलग नहीं होना चाहिए (जैसा कि आप बाद में समस्याओं में चलेंगे - जैसा कि आपने किया है)
  • अपने द्वारा किए गए सभी परिवर्तनों को दस्तावेज़ करने के लिए एक उचित परिवर्तन-प्रबंधन का उपयोग करें (किसी भी कॉन्फ़िगरेशन में छोटे एक-लाइन-परिवर्तन सहित)
  • हमेशा आप पहले टेस्ट में बदलते हैं, फिर डेवलपमेंट में, फिर स्टेजिंग में और प्रोडक्शन में लास्ट में

आपने सर्वर के द्रव्यमान को प्रबंधित करने के लिए एक उपयोगी उपकरण के लिए कहा - मेरा व्यक्तिगत पसंदीदा क्लस्टर-एसएचएस ( cssh) है। एक बार टाइप करें और एक साथ कई सर्वरों पर बदलाव करें।

यदि आपको समस्या का पता चलता है और उसके लिए एक समस्या है जो समस्या को दूर करती है:

  1. यदि यह वास्तव में काम करता है, तो परीक्षण / देव / मंचन / निर्माण (ऊपर देखें) पर फिक्स लागू करें
  2. अपने वर्चुअल टेम्प्लेट्स पर फिक्स लागू करें ताकि भविष्य के VM-क्लोनों में वह बग न हो
  3. अपनी भौतिक स्थापना प्रक्रिया (किकस्टार्ट / ऑटॉयस्ट / जो भी हो) पर फिक्स लागू करें
  4. सभी सर्वर पर फिक्स लागू करें

यदि आप इसे ठीक करने के लिए सर्वरों के बड़े पैमाने पर सामना कर रहे हैं, तो यह एक ऐसी प्रक्रिया है जिसे अच्छी तरह से प्रलेखित किया जाना चाहिए और अंत में एक अलग टीम को यह जांचना चाहिए कि क्या पूरी तरह से लागू किया गया है।

हम उस उद्देश्य के लिए मेंटिस (ओपन सोर्स, पीएचपी) को नियुक्त करते हैं।


2

मैं कई देशों में लगभग 30 उत्पादों और कुछ सौ सर्वरों का प्रबंधन करता हूं। मैं सॉफ्टवेयर कॉन्फ़िगरेशन मैनेजर हूं, इसलिए मेरे पास रूट एक्सेस (डिज़ाइन से) नहीं है, डेटाबेस या उनके सर्वर (फिर से, डिज़ाइन द्वारा) को न छूएं और कॉर्पोरेट सुरक्षा के कारण बहुत सारे हुप्स को कूदना होगा। लेकिन मैं डेटाबेस लिंक और परिवर्तनों सहित परीक्षण, स्टेजिंग और उत्पादन में कॉन्फ़िगरेशन का प्रबंधन करता हूं। मेरे पास कई स्क्रिप्ट हैं जो सर्वर के संयोजन का उपयोग करके बाहर जाती हैं ssh,python और स्क्रिप्ट शैल।

प्राथमिक चीजों के बारे में सोचने के लिए हैं:

  1. आप अपने सर्वर के साथ किस प्रकार के इंटरैक्शन करने जा रहे हैं? बस फ़ाइल अपलोड? कमांड लाइन कार्यक्रम चल रहा है? दूरस्थ X क्लाइंट चला रहे हैं?
  2. इन सर्वरों तक पहुँचने के लिए किस स्तर की सुरक्षा की आवश्यकता है? फ़ायरवॉल, सुरक्षित नेटवर्क, वीपीएन? है sshपर्याप्त और एक केंद्रीय सुरक्षित स्थान से?
  3. प्रत्येक सर्वर पर कितना स्वचालित किया जा सकता है? क्या आप प्रत्येक सर्वर पर एक प्रोग्राम स्थापित कर सकते हैं और उसे चला सकते हैं, या क्या आपको प्रोग्राम को किसी चीज़ के माध्यम से स्ट्रीम करने की आवश्यकता है जैसे sshकि इसे दूरस्थ रूप से चलाना? क्या आप इसे expectया केवल एक कमांड-लाइन आह्वान के साथ स्क्रिप्ट कर सकते हैं ?

वर्चुअलबॉक्स बहुत सारी कमांड-लाइन टूल देता है जिसे आप बस sshया सिस्टम के माध्यम से देख सकते हैं जैसे puppetकि उलरिच उल्लेख।


2
बस एक छोटा सा सुझाव फिर से। वर्चुअलबॉक्स , vagrantup.com पर एक नज़र है। यह आभासी चित्रों के निर्माण को सरल और स्वचालित कर सकता है।
उलरिच डेंगल

दुर्भाग्य से, दूरस्थ परीक्षण वातावरण के बीच सरल नेटवर्क का उपयोग करना भी असंभव है। वर्चुअलबॉक्स फ़ार्म स्थापित करना और भी कठिन होगा। मुझे केवल आईटी को मानक सॉफ़्टवेयर को अपडेट करने के लिए कहने में परेशानी है, जो उस वर्ष से अधिक की तारीख से बाहर है क्योंकि यह 'मानक रेडहैट' रिपॉजिटरी का हिस्सा नहीं है।
१:५०

मेरे अनुभव के लिए आउटडेटेड सॉफ्टवेयर में क्या मदद मिली या तो यह दिखाने के लिए कि सॉफ्टवेयर या तो ईओएल है या सुरक्षा समस्याएं हैं। नेटवर्क सेटअप / कनेक्शन अक्सर प्राप्त करने के लिए बहुत कठिन होते हैं, शायद इस बात पर जोर देने की कोशिश करते हैं कि विभिन्न परीक्षण वातावरणों को जोड़ने से पैसे बचाने में मदद मिलती है, प्रक्रियाओं को सरल बनाने, क्यूए समय को बचाने या परीक्षण के वातावरण को अधिक यथार्थवादी बनाने में मदद मिलती है। यदि आप अलग-अलग शाखाओं के लोगों से बोर्ड पर मिलते हैं तो यह भी मदद कर सकता है।
उलरिच डेंगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.