XFS फाइल सिस्टम आरएचईएल / सेंटोस 6.x में टूट गया है - मैं इसके बारे में क्या कर सकता हूं?


28

RHEL के हाल के संस्करणों / CentOS (EL6) लाया करने के लिए कुछ दिलचस्प परिवर्तन XFS फ़ाइल में मैं पर निर्भर कर दिया है भारी एक दशक से अधिक। मैंने पिछली गर्मियों में एक एक्सएफएस विरल फ़ाइल स्थिति का पीछा करते हुए खराब-प्रलेखित कर्नेल बैकपोर्ट के परिणामस्वरूप खर्च किया था। EL6 में जाने के बाद से अन्य लोगों के पास दुर्भाग्यपूर्ण प्रदर्शन के मुद्दे या असंगत व्यवहार रहा है।

XFS डेटा और ग्रोथ-पार्टिशन के लिए मेरा डिफ़ॉल्ट फाइल सिस्टम था, क्योंकि इसने डिफ़ॉल्ट ext3 फाइल सिस्टम पर स्थिरता, स्केलेबिलिटी और एक अच्छा प्रदर्शन को बढ़ावा दिया।

नवंबर 2012 में सामने आए EL6 सिस्टम पर XFS के साथ एक समस्या है। मैंने देखा कि मेरे सर्वर बेकार होने पर भी असामान्य-उच्च सिस्टम लोड दिखा रहे थे। एक मामले में, एक अनलोड सिस्टम 3+ की निरंतर लोड औसत दिखाएगा। दूसरों में, लोड में 1 + टक्कर थी। माउंटेड XFS फाइलसिस्टम की संख्या लोड वृद्धि की गंभीरता को प्रभावित करती दिख रही थी।

सिस्टम में दो सक्रिय XFS फाइलसिस्टम हैं। प्रभावित कर्नेल में उन्नयन के बाद लोड +2 है। यहाँ छवि विवरण दर्ज करें

गहराई से खोदने पर, मुझे XFS मेलिंग सूची में कुछ धागे मिले xfsaildजो STAT राज्य में बैठे प्रक्रिया की बढ़ी हुई आवृत्ति की ओर इशारा करते हैं । इसी CentOS बग ट्रैकर और Red Hat Bugzilla प्रविष्टियाँ मुद्दे की बारीकियों को रेखांकित करती हैं और यह निष्कर्ष निकालती हैं कि यह प्रदर्शन समस्या नहीं है; केवल कर्नेल में सिस्टम लोड की रिपोर्टिंग में एक त्रुटि 2.6.32-279.14.1.el6 की तुलना में नई है ।

WTF?!?

एक-बंद स्थिति में, मैं समझता हूं कि लोड रिपोर्टिंग एक बड़ी बात नहीं हो सकती है। अपने NMS और सैकड़ों या हजारों सर्वरों के साथ इसे प्रबंधित करने का प्रयास करें! यह नवंबर 2012 में EL6.3 के तहत कर्नेल 2.6.32-279.14.1.el6 पर पहचाना गया था । कर्नेल 2.6.32-279.19.1.el6 और 2.6.32-279.22.1.el6 बाद के महीनों (दिसंबर 2012 और फरवरी 2013) में इस व्यवहार में कोई बदलाव नहीं किए गए थे। इस समस्या की पहचान के बाद से ऑपरेटिंग सिस्टम की एक नई छोटी रिलीज़ भी हुई है। EL6.4 जारी किया गया था और अब कर्नेल 2.6.32-358.2.1.el6 पर है , जो समान व्यवहार प्रदर्शित करता है।

मेरे पास एक नया सिस्टम बिल्ड कतार है और इस मुद्दे के आसपास काम करना पड़ा है, या तो EL6.3 के लिए पूर्व-नवंबर 2012 रिलीज़ पर कर्नेल संस्करण लॉक करना या XFS का उपयोग न करना, ext4 या ZFS का चयन करना , एक गंभीर प्रदर्शन दंड पर विशिष्ट कस्टम अनुप्रयोग के लिए ऊपर चल रहा है। एप्लिकेशन डिजाइन में कमियों को ध्यान में रखते हुए एक्सएफएस फाइलसिस्टम विशेषताओं में से कुछ पर प्रश्न में आवेदन काफी हद तक निर्भर करता है।

Red Hat के भुगतान किए गए नॉलेजबेस साइट के पीछे जाने पर , एक प्रविष्टि दिखाई देती है:

कर्नेल 2.6.32-279.14.1.el6 स्थापित करने के बाद उच्च लोड औसत देखा जाता है। उच्च लोड औसत XFSaild द्वारा प्रत्येक XFS स्वरूपित डिवाइस के लिए डी राज्य में जाने के कारण होता है।

वर्तमान में इस समस्या का कोई समाधान नहीं है। वर्तमान में इसे Bugzilla # 883905 के माध्यम से ट्रैक किया जा रहा है। वर्कअराउंड स्थापित कर्नेल पैकेज को एक संस्करण में कम करें फिर 2.6.32-279.14.1।

(आरएचईएल 6.4 पर कर्नेल को अपग्रेड करने के अलावा कोई विकल्प नहीं है ...)

तो हम इस समस्या में 4+ महीने हैं जिसमें कोई वास्तविक फिक्स EL6.3 या EL6.4 OS रिलीज़ की योजना नहीं है। EL6.5 के लिए एक प्रस्तावित निर्धारण और एक कर्नेल स्रोत पैच उपलब्ध है ... लेकिन मेरा सवाल यह है:

किस बिंदु पर ओएस द्वारा प्रदान की गई गुठली और पैकेज से प्रस्थान करना समझ में आता है जब अपस्ट्रीम मेंटेनर ने एक महत्वपूर्ण विशेषता को तोड़ दिया है?

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

यहाँ सही कदम क्या है?

  • हम जानते हैं कि यह निश्चित रूप से तय किया जा सकता है, लेकिन जब नहीं।
  • Red Hat पारिस्थितिक तंत्र में अपने कर्नेल का समर्थन करने के अपने स्वयं के सेट हैं।
  • समर्थन पात्रता पर क्या प्रभाव पड़ता है?
  • क्या मुझे उचित XFS कार्यक्षमता प्राप्त करने के लिए नव-निर्मित EL6.4 सर्वर के शीर्ष पर एक काम करने वाले EL6.3 कर्नेल को ओवरले करना चाहिए?
  • क्या मुझे बस तब तक इंतजार करना चाहिए जब तक यह आधिकारिक रूप से तय नहीं हो जाता?
  • एंटरप्राइज़ लिनक्स रिलीज़ साइकल पर हमारे नियंत्रण की कमी के बारे में यह क्या कहता है?
  • एक XFS फाइलसिस्टम पर इतनी लंबे समय से योजना / डिजाइन की गलती का भरोसा कर रहा था?

संपादित करें:

इस पैच को सबसे हाल के CentOSPlus कर्नेल रिलीज़ (कर्नेल- 2.6.32-358.2.1 . el6.centos.plus ) में शामिल किया गया था । मैं अपने CentOS सिस्टम पर इसका परीक्षण कर रहा हूं, लेकिन यह Red Hat-based सर्वर के लिए ज्यादा मदद नहीं करता है।


3
मैं हमेशा इस विश्वास के अधीन था कि यदि आप EL6 का उपयोग कर रहे हैं, और RHEL समर्थन का भुगतान कर रहे हैं, तो यह आपके लिए इसे ठीक करने का उनका प्रयास है?
टॉम ओ'कॉनर

6
हाँ ... रेड हैट इसे ठीक कर देगा ... अपने समय सारिणी पर !! - यह मुद्दा 2012 के अंत में सामने आया। यह अभी भी तय नहीं है। यह
आरएचईएल

खैर, जिस रवैये के साथ Red Hat दिखा रहा है (बग ट्रैकर को देखें) मैं ईमानदारी से यह नहीं मानता कि वे अब XFS के साथ परेशान हैं। एक कस्टम कर्नेल यहाँ समझ में आता है, लेकिन समर्थन के लिए भुगतान करने की बात क्या है? शायद CentOS आपकी राह है ..
pauska

5
<शेख़ी> मैं आपकी हताशा को समझता हूं, मैं पहले मिश्रित आरएचईएल / सेंटो वातावरण के लिए जिम्मेदार था और आरएच आपको कभी-कभी चीजों को स्टॉक रखने के लिए वास्तव में कठिन बनाता है, यह देखते हुए कि वे कैसे महत्वपूर्ण कीड़े को ठीक करने के लिए लगातार "अनदेखा" करते हैं, कभी-कभी वे खुद को पेश करते हैं। । फिर वे अगली बड़ी रिलीज़ के लिए एक शेड्यूल तय करते हैं, लेकिन चूंकि वे अगले प्रमुख संस्करण में अपग्रेड का समर्थन करने में विफल रहते हैं, इसलिए यह थोड़ा मददगार है। कुछ बिंदु पर मैंने उनके आधिकारिक कर्नेल को कुछ आरएचईएल 5 बक्से पर बस इसलिए चुना क्योंकि मुझे एक विशिष्ट सुविधा की कमी के कारण होना था। </ rant>
Adrian Frühwirth

1
@ MartinSchröder SLES यूएस में विशेष रूप से लोकप्रिय नहीं है, लेकिन यह एक विकल्प हो सकता है। XFS खुद टूटा नहीं है, लेकिन Red Hat ने इसे संभाल लिया है। यह विचार करने योग्य है।
ewwhite

जवाबों:


14

किस बिंदु पर ओएस द्वारा प्रदान की गई गुठली और पैकेज से प्रस्थान करना समझ में आता है जब अपस्ट्रीम मेंटेनर ने एक महत्वपूर्ण विशेषता को तोड़ दिया है?

"उस बिंदु पर जहां विक्रेता के कर्नेल या पैकेज इतनी बुरी तरह से टूट जाते हैं कि वे आपके व्यवसाय को प्रभावित करते हैं" मेरा सामान्य उत्तर है (संयोग से यह उस बिंदु के बारे में भी है जहां मैं कहता हूं कि यह विक्रेता के रिश्ते से प्रस्थान करने के तरीकों को देखना शुरू करता है) ।

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


हां, मैं जानता हूं कि आपके मार्बल्स लेना और घर जाना अक्सर एक महंगा प्रस्ताव है - ओएस विक्रेताओं को बदलना एक बहुत बड़ा दर्द है, खासकर लिनक्स दुनिया में जहां जायके एक प्रशासनिक दृष्टिकोण से मौलिक रूप से भिन्न होते हैं।
पूरी तरह से CentOS जाने जैसे अन्य विकल्प भी अनप्लग हैं (क्योंकि आप समर्थन खो देते हैं, और आपको अनिवार्य रूप से RedHat का कोड किसी और द्वारा बनाया गया है ताकि आपके पास अभी भी यह बग हो)।

दुर्भाग्य से जब तक कि पर्याप्त लोग (यानी "विशाल कंपनियां) अपना मार्बल्स नहीं ले जाती हैं और घर नहीं जाती हैं, तब तक विक्रेता खराब कोड को बदलकर और इसे ठीक नहीं करने के बारे में लोगों का ध्यान नहीं रखेंगे।


14

यह रेड हैट द्वारा 23 अप्रैल, 2013 को आरएचईएल कर्नेल-2.6.32-358.6.1.el6 में 6.4 इरेटा अपडेट के भाग के रूप में तय किया गया था ( चुपचाप ) ...


2
बग रिपोर्ट के 20 सप्ताह बाद, यहां की पोस्ट के 2 सप्ताह बाद, क्या आपको लगता है कि शायद लालहत ने सभी सलाह "चलने" के लिए
देखीं

शायद? मुझे यकीन नहीं है।
ewwhite

3

यदि आपको अपने आरएचईएल कर्नेल को पैच करने की आवश्यकता है, तो आप इसे स्वयं कर सकते हैं और आधिकारिक रूप से उस कर्नेल पर समर्थित हो सकते हैं , बस आपको इसे प्रमाणित करने की आवश्यकता होगी।

ऐसा करने के लिए आरएचईएल समर्थन समझौते में प्रावधान हैं - ISTR आप प्रति तिमाही या वर्ष में 1 तक सीमित हैं, लेकिन यह सुनिश्चित करने के लिए याद नहीं कर सकते हैं।


जानकर बहुत अच्छा लगा!
ewwhite

यह सही नहीं है। आप Red Hat से त्वरित सुधार का अनुरोध कर सकते हैं, लेकिन इस मापदंड को पूरा करने के लिए इस मुद्दे को पूरा करने के लिए मापदंड हैं, और एक समर्थित त्वरित सुपुर्दगी देने के लिए कई अलग-अलग तरीके हैं। यदि आप अपने स्वयं के कर्नेल को पुनः प्राप्त करते हैं, तो वह कर्नेल Red Hat द्वारा समर्थित नहीं है।
सुपरमामी

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