CentOS सर्वर के बहुत सारे के लिए पैकेज अद्यतन के प्रबंधन के लिए अच्छा अभ्यास


13

अपनी नौकरी के हिस्से के रूप में मैं मुख्य सेट अप के लिए कठपुतली का उपयोग करते हुए कुछ दसियों सेंटोस 5 सर्वर का प्रबंधन करता हूं। हमारे लगभग आधे सर्वरों में विभिन्न django साइटों की मेजबानी के लिए एक मानकीकृत सेट अप है, जबकि बाकी अनुप्रयोगों के एक मैश मैश हैं।

मैं धीरे-धीरे अपनी होस्टिंग प्रथाओं को हल कर रहा हूं, और अब मैं ओएस स्तर पर सुरक्षा अपडेट प्रबंधित करने के तरीके के बारे में सोच रहा हूं। मैं सिर्फ एक क्रॉन जॉब करने से सावधान रहता हूं, yum -y updateलेकिन यह भी नहीं चाहता कि समय के साथ हर सर्वर को गोल किया जाए और उपलब्ध अपडेट के साथ हर पैकेज की समीक्षा की जाए, क्योंकि इसमें कुछ समय लगेगा।

इसलिए मैं सोच रहा हूं कि क्या कोई अच्छा शॉर्टकट या काम करने का तरीका है जो इसमें शामिल जोखिमों को कम करेगा और मुझे जितना समय बिताना होगा उतना कम करना होगा । या इसे दूसरे तरीके से रखने के लिए कोई उपकरण या अभ्यास हैं जो नियंत्रण देते समय बहुत सारे काम को स्वचालित कर सकते हैं।

मैंने अब तक जिन चरणों का फैसला किया है:

  • सभी थर्ड पार्टी रिपॉजिटरी को डिसेबल करें और अपना रिपॉजिटरी सेट करें ताकि मैं अपडेट कर सकूं कि वहां क्या अपडेट हुआ।
  • हमारे पास (अधिकांश) हमारे उत्पादन सर्वर के लिए स्टेजिंग सर्वर हैं जहाँ मैं परीक्षण कर सकता था (लेकिन परीक्षण कितना परीक्षण करना है?)

यह भी ध्यान दें कि मैंने yum सुरक्षा प्लगइन में देखा है लेकिन यह CentOS पर काम नहीं करता है

तो आप अनुप्रयोगों के विषम सरणी चलाने वाले CentOS सर्वरों की महत्वपूर्ण संख्या के अपडेट को कैसे प्रबंधित करते हैं?


2
बड़ा सवाल है। हम अपने पैकेज प्रबंधन / अद्यतन प्रक्रिया को देखने के लिए सार्थक हैं। क्या आपने स्पेसवॉक में देखा है ? मैंने इसे प्रारंभिक रिलीज़ के बाद से चेक नहीं किया है, लेकिन इसे एक और रूप देने के लायक हो सकता है।
बेलमिन फर्नांडीज

Yum सुरक्षा प्लगइन के लिए CentOS समर्थन एक बड़ा है। मैंने इस बारे में कुछ बार पूछताछ की है, बिना किसी उत्तर के।
स्टीफन लासवर्स्की

अफसोस की बात है, ऐसा लगता है कि वैज्ञानिक लिनक्स याम-प्लगइन-सुरक्षा का समर्थन नहीं करता है ।
स्टीफन लासिवस्की

जवाबों:


2

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

CentOS 5 उस बिंदु पर परिपक्व हो गया है जहाँ निरंतर अपडेट आवश्यक नहीं है। लेकिन यह भी ध्यान रखें कि CentOS 5 नीचे घुमावदार है। अपडेट की दर कुछ धीमी हो गई है, और अपडेट की प्रकृति बगफिक्स के साथ अधिक इनलाइन है और प्रमुख कार्यक्षमता परिवर्तनों के बारे में कम है।

तो इस विशिष्ट मामले में, पहली चीज जो आप कर सकते हैं वह है स्थानीय दर्पण / रेपो। अपने मौजूदा कॉन्फ़िगरेशन प्रबंधन का उपयोग तीसरे पक्ष के रिपॉजिट तक पहुंच को नियंत्रित करने के लिए करें। हो सकता है कि महत्वपूर्ण या सार्वजनिक-सामना करने वाली सेवाओं (ssh, http, ftp, dovecot, इत्यादि) को अपडेट करने के लिए शेड्यूल पॉलिसी में बाकी सब कुछ परीक्षण की आवश्यकता होगी, लेकिन मुझे लगता है कि अधिकांश वातावरण पूरी तरह से अपडेटेड / पैचेड सिस्टम के साथ नहीं चलते हैं।


1

ऐसे कई उपकरण हैं जो इसके साथ मदद कर सकते हैं! यह संकुल प्रणाली को सामान्य करता है और कौन से संकुल विन्यास प्रबंधन द्वारा नियंत्रित किये जाते हैं। ये उपकरण आमतौर पर यम और rpms से अधिक कवर करते हैं, और इससे आपका समय बचेगा और कई सिरदर्द से बचा जा सकेगा!

जिस उपकरण से मैं सबसे अधिक परिचित हूं वह कठपुतली है जिसका उपयोग मैं अपने वातावरण में लगभग हर विन्यास को प्रबंधित करने के लिए करता हूं। यहाँ विशेष रूप से यम के प्रबंधन के लिए कुछ कठपुतली उदाहरण दिए गए हैं:

http://people.redhat.com/dlutter/puppet-app.html

वर्तमान में कई कॉन्फ़िगरेशन प्रबंधन उपकरण उपलब्ध हैं, इनमें बहुत बड़े उपयोगकर्ता समूह हैं:

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

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

परीक्षण के बारे में एक बहुत महत्वपूर्ण हिस्सा डेटा / उपयोग की प्रतिकृति है। आपने उल्लेख किया है कि आपके अधिकांश उत्पादन हार्डवेयर के चरणबद्ध संस्करण हैं। क्या उनके पास उत्पादन डेटा की समान प्रतियां भी हैं? क्या आप इसके खिलाफ किसी भी प्रोडक्शन लोड को रीप्ले कर सकते हैं? क्या आप ट्रैफ़िक मिररिंग का उपयोग करके भी इसे प्रोडक्शन क्लस्टर का हिस्सा बना सकते हैं? यह आम तौर पर उन संसाधनों की मात्रा के बीच एक प्रत्यक्ष व्यापार बंद हो जाता है जो व्यवसाय परीक्षण / क्यूए पर खर्च करने को तैयार है। अधिक बेहतर परीक्षण, स्वयं सीमा (कारण के भीतर) की कोशिश करें और देखें कि व्यवसाय क्या समर्थन करेगा (फिर 10% अधिक करने का एक तरीका खोजें)।

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