ZFS - डेडिकेटेड zvol या डेटा सेट को नष्ट करने से सर्वर स्टॉल हो जाता है। कैसे उबरें?


11

मैं 12 सेकंड (7200 RPM) SAS ड्राइव के साथ HP ProLiant DL180 G6 पर चल रहे सेकेंडरी स्टोरेज सर्वर पर Nexentastor का उपयोग कर रहा हूं। सिस्टम में E5620 CPU और 8GB रैम है। कोई ZIL या L2ARC डिवाइस नहीं है।

पिछले हफ्ते, मैंने एक 750GB विरल zvol का निर्माण किया जिसमें डैडअप और कम्प्रेशन, iSCSI के माध्यम से VMWare ESX होस्ट में साझा करने में सक्षम था। फिर मैंने एक Windows 2008 फ़ाइल सर्वर छवि बनाई और VM को ~ 300GB उपयोगकर्ता डेटा की प्रतिलिपि बनाई। एक बार सिस्टम से खुश होकर, मैंने वर्चुअल मशीन को उसी पूल पर NFS स्टोर में स्थानांतरित कर दिया।

एक बार एनएफएस डेटास्टोर पर अपने वीएम के साथ चलने और चलाने के बाद, मैंने मूल 750 जीबी ज़ोल को हटाने का फैसला किया। ऐसा करने से व्यवस्था ठप हो गई। नेक्सेंटा वेब इंटरफेस और एनएमसी तक पहुंच रोक दी। मैं आखिरकार एक कच्चे शेल में जाने में सक्षम था। अधिकांश OS ऑपरेशन ठीक थे, लेकिन सिस्टम zfs destroy -r vol1/filesystemकमांड पर लटका हुआ था । बदसूरत। मुझे निम्नलिखित दो ओपनसोलारिस बुग्जिला प्रविष्टियां मिलीं और अब समझें कि मशीन को अज्ञात समय के लिए ईंट कर दिया जाएगा। यह 14 घंटे हो गया है, इसलिए मुझे सर्वर तक पहुंच प्राप्त करने में सक्षम होने के लिए एक योजना की आवश्यकता है।

http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6924390

तथा

http://bugs.opensolaris.org/bugdatabase/view_bug.do;jsessionid=593704962bcbe0743d82aa339988?bug_id=6924824

भविष्य में, मैं शायद बुझिला वर्कअराउंड में से एक में दी गई सलाह लूंगा:

Workaround
    Do not use dedupe, and do not attempt to destroy zvols that had dedupe enabled.

अद्यतन: मुझे सिस्टम को बंद करने के लिए मजबूर करना पड़ा। रिबूट होने पर, सिस्टम स्टाल पर Importing zfs filesystems। अब 2 घंटे हो गए हैं।

जवाबों:


15

यह हल हो गया है। वे कुंजी यह है कि हटाए जाने से पहले डिडुप्लिकेट किए गए वॉल्यूम के लिए डिडअप फ्लैग को बंद करना होगा। यह पूल स्तर के साथ-साथ zvol या फाइल सिस्टम स्तर पर भी किया जाना चाहिए। अन्यथा, विलोपन अनिवार्य रूप से काट दिया जा रहा है। प्रक्रिया में समय लगता है क्योंकि ZFS डिडुप्लीकेशन टेबल को संदर्भित किया जा रहा है। इस मामले में, रैम मदद करता है। मैंने अस्थायी रूप से 16 अतिरिक्त गीगाबाइट रैम को सिस्टम में जोड़ा और सर्वर को ऑनलाइन वापस लाया। 4 घंटे के भीतर पूरी तरह से आयात किया गया।

नैतिक शायद यह है कि कटौती सुपर पॉलिश नहीं है और यह रैम अपने प्रदर्शन के लिए आवश्यक है। मैं पर्यावरण के आधार पर 24GB या अधिक का सुझाव दे रहा हूं। अन्यथा, ZFS को छोड़ दें। यह निश्चित रूप से घर के उपयोगकर्ताओं या छोटे सिस्टम के लिए उचित नहीं है।


5

सन / ओरेकल जेडएफएस 7000-श्रृंखला उपकरणों के लंबे समय के उपयोगकर्ता के रूप में, मैं आपको बता सकता हूं कि प्रश्न कटौती के बिना पॉलिश नहीं किया गया है। वितरण के साथ बिक्री को भ्रमित न करें! सेल्सगिज़ आपको बताएगा "ओह, यह तय हो गया है"। वास्तविक जीवन में - मेरा वास्तविक जीवन - मैं आपको बता सकता हूं कि 24GB "DDT टेबल" को संभालने के लिए पर्याप्त नहीं है। यही है, बैक एंड इंडेक्स जो डिडअप टेबल को स्टोर करता है। उस तालिका को सिस्टम मेमोरी में रहना होता है ताकि प्रत्येक I / O को इन-फ्लाइट में इंटरसेप्ट किया जा सके ताकि यह पता चल सके कि उसे डिस्क पर लिखना है या नहीं। आपका स्टोरेज पूल जितना बड़ा होगा, उतने ही अधिक डेटा में परिवर्तन होगा, यह टेबल जितना बड़ा होगा - और सिस्टम मेमोरी पर बड़ी मांग। वह मेमोरी एआरसी (कैश) और कई बार ओएस के खर्च पर आती है - यही कारण है कि आप हैंग का अनुभव करते हैं, क्योंकि कुछ कमांड्स अग्रभूमि में होते हैं, कुछ पृष्ठभूमि में। लगता है कि पूल हटाना अग्रभूमि में होता है, जब तक कि आप इसे सीएलआई में नहीं बताते। जीयूआई जादूगर ऐसा नहीं करेंगे।

यहां तक ​​कि एक घटाए गए वॉल्यूम पर परिभाषित शेयर के भीतर एनएफएस डेटा का एक बड़े पैमाने पर-डिलीट करने पर आपका सिस्टम आधा हो जाएगा यदि आपके पास ZFS को डेटा को हटाने के लिए "राइट्स" को संसाधित करने के लिए पर्याप्त मेमोरी नहीं है।

सभी में, जब तक आप अपनी मेमोरी को अधिकतम नहीं करते हैं और तब भी, एआरसी और डीडीटी को प्रतिबंधित करके ओएस के लिए मेमोरी आरक्षित करने का एक तरीका खोजते हैं (और मुझे नहीं लगता कि आप डीडीटी को प्रकृति द्वारा प्रतिबंधित कर सकते हैं, यह सिर्फ एक सूचकांक है जो वास्तव में बंधा हुआ है। आपके I / O के लिए - फिर आप बड़े डिलीट या डेस्ट्रॉरी zvol / पूल के दौरान जा सकते हैं।

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