क्या आपको स्वचालित अपडेट चलाना चाहिए


15

मैं उत्पादन Centos वेब सर्वर चला रहा हूं। मैं जानना चाहता हूं कि रनिंग अपडेट के लिए सबसे अच्छा अभ्यास क्या है। क्या मुझे इसे यम-क्रॉन या यम-अपडेटड के साथ स्वचालित करना चाहिए? या साइटों को अपडेट करने का खतरा है, इसलिए टेस्ट सर्वर पर अपडेट करना और फिर मैन्युअल रूप से साप्ताहिक रूप से अपडेट चलाना बेहतर होगा?

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

जवाबों:


11

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

यहां कुछ बातें विचार करने के लिए हैं:

  • सुरक्षा अपडेट को हमेशा एक या दूसरे तरीके से लागू किया जाना चाहिए , और बाद में इसके बजाय जल्द ही। यदि आपके सर्वर को किसी भी कारण से समयबद्ध तरीके से सुरक्षा अद्यतन लागू नहीं हो रहे हैं, तो अपने sysadmin की आदतों को ठीक करें।

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

  • अपडेट आपके सामान को तोड़ सकते हैं। यदि आप पदावनत सुविधाओं का उपयोग करते हैं या केवल खराब सामग्री लिखते हैं तो नए सॉफ़्टवेयर का एक कदम आपके कोड को तोड़ सकता है। आपको एक सिस्टम आर्किटेक्चर पर विचार करना चाहिए जो आपको उत्पादन प्रणालियों पर चलाने से पहले अपडेट पर अपने उत्पाद का परीक्षण करने की अनुमति देता है।

  • यदि आप ऑटो-अपडेट सुविधाओं का उपयोग करते हैं, तो आपको हमेशा ज्ञात कार्य कॉन्फ़िगरेशन में वापस जाने का एक तरीका होना चाहिए। पूर्ण सिस्टम स्नैपशॉट एक जीवन रक्षक हो सकता है यदि कुछ अपडेट आपके उत्पाद को उत्पादन प्रणाली पर तोड़ता है।

यह एक संपूर्ण सूची नहीं है, आपको सोचने के लिए बस कुछ चीजें हैं। अंत में, यह कोई निर्णय नहीं है जो कोई और आपके लिए कर सकता है। आप एडमिन हैं। अपने सिस्टम को जानें। अपने डिस्ट्रो को जानें।


7

मैं 100% सहमत हूं कि कालेब ने पहले ही क्या कहा था। मेरी ओर से कुछ और सेंटोस-विशिष्ट नोट:

वितरण RedHat और उसके पैच पर आधारित है। उन पैचों का बहुत अच्छा परीक्षण किया जाता है और पिछले 4 वर्षों में जहां हम 50+ सर्वर के साथ CentOS 5 का उपयोग कर रहे हैं, वहां कभी भी खराब पैच नहीं हुआ है।

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

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

स्वचालित पैचिंग का साइड इफेक्ट है कि पैच किए गए घटकों को अक्सर फिर से शुरू किया जाता है - इसलिए यदि आपने स्टार्टअप के बाद उन्हें गलत तरीके से कॉन्फ़िगर किया है तो पुनरारंभ विफल हो जाएगा।

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