भयानक स्थिति - फ़ाइल सिस्टम एक साथ कई स्वतंत्र ओएस उदाहरणों द्वारा घुड़सवार


14

मैं इस स्थिति से सुरक्षित रूप से कैसे बाहर निकलूं?

विवरण इस प्रकार हैं:

एक एक्सएन सर्वर को वीएम को आवंटित ब्लॉक डिवाइस मिला है। लेकिन ये डिवाइस भी Xen के अंदर लगाए गए हैं।

वास्तव में इनमें से 44 उपकरण इस तरह से लगाए गए हैं। मामलों को बदतर बनाने के लिए, प्रत्येक भौतिक उपकरण को 4 रास्तों पर देखा जाता है और उनमें से प्रत्येक को एक अलग माउंटपॉइंट पर रखा जाता है। दूसरे शब्दों में, उपकरण वास्तव में प्रत्येक 5 बार घुड़सवार होते हैं।

VM अतिथि OS PowerPath छद्म डिवाइस के माध्यम से पथ देखता है (एक phy के रूप में आवंटित किया जाता है: domU को ब्लॉक डिवाइस)

कुछ उपकरणों को ext2 और reiserfs के रूप में स्वरूपित किया गया है।

मुझे फाइल सिस्टम भ्रष्टाचार के जोखिमों की व्याख्या करने की आवश्यकता नहीं है।

मुझे डर है कि यहां तक ​​कि फ़ाइल सिस्टम को अनमाउंट करने से भी भ्रष्टाचार हो सकता है, और महसूस कर सकते हैं कि इस बिंदु पर मेजबान से बिजली खींचना सबसे सुरक्षित विकल्प है

ध्यान दें कि, सभी VM में अधिकांश भाग के लिए अनुप्रयोग, Oracle डेटाबेस अभी भी चल रहे हैं और उपयोग में हैं।

मुझे यह पता चला जब dom0 पर उच्च CPU उपयोग की जांच की गई। एक unkillable "find" प्रक्रिया है, cwd के साथ -> / मीडिया / डिस्क -12 जो / dev / sdf1 से आरोहित है, जो / dev / emcpowerr से संबंधित है

इससे पहले कि कोई पूछे, मैंने जो प्रक्रियाएं देखी हैं, उन्हें नहीं मारा जा सकता है और सीपीयू और रैम का उपयोग करना जारी रखा जा सकता है (एक दोषपूर्ण / ज़ोंबी प्रक्रिया के विपरीत), यह है कि जब बकाया आई / ओएस की सराहना की जाती है, तो सिंक वापस आ गया, लेकिन डिस्क पर भौतिक रूप से नहीं । आमतौर पर यह टेप I / O पर होता है।

सुझाव !?

PS मुझे उम्मीद है कि इस तरह की चीज़ों को रोकने के लिए डिवाइस एक बार "आरक्षित" हो जाएंगे? या यह लिनक्स पर संभव नहीं है?

संपादित करें: सबसे पहले मुझे विश्वास है कि हाइपरविजर के भीतर केडीई) अपराधी है। ऐसा लगता है कि केडीई डेस्कटॉप आइकनों को बनाने के लिए लॉग ऑन करने वाले उपकरणों को बढ़ा रहा है। एक ही बात हालांकि अन्य एक्सएन सर्वरों पर नहीं हो रही है, लेकिन सभी अन्य सर्वर एसएलईएस और केडीई के पुराने संस्करण को चला रहे हैं ... वी 4 को एक अपमानजनक प्रतीत होता है, 3.4 बेहतर व्यवहार के साथ)।

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

किसी भी मामले में मुझे लगता है कि अब तक कोई भी उत्तर "सर्वश्रेष्ठ अभ्यास हमेशा शालीनतापूर्वक बंद किया जाता है" से अधिक है और मुझे कुछ और ठोस मिलने की उम्मीद है ... किसी भी मामले में, मुझे लगता है कि यह स्थिति कुछ और सावधान कर सकती है विचारधारा। शट डाउन करने के लिए विशेष रूप से फ़ाइल सिस्टम मेटा डेटा अपडेट में बकाया IO का कारण होगा, को सिंक किया जाएगा और संभावित रूप से प्रमुख फ़ाइल सिस्टम भ्रष्टाचार का कारण होगा?


1
और अभी "बंद करने" से पहले लिया गया कोई भी बैकअप संभवतः केवल दूषित डेटा का बैकअप ले सकता है, हालांकि इस स्थिति में यह अधिक संभावना है कि फ़ाइल सामग्री के बजाय फ़ाइल सिस्टम मेटा-डेटा दूषित है।
जोहान

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

इसे रोकने के लिए, IIUC आपको डिवाइस पर अनुमतियाँ सेट करने की कोशिश कर सकता है dom0 में एक बार इसे अतिथि द्वारा खोला जाता है, लेकिन चूंकि fs अनुमतियां (डिवाइस फ़ाइलों पर) को रूट द्वारा पार किया जा सकता है (जब तक कि आपके पास एक पैच कर्नेल न हो) मदद करने की जरूरत नहीं है।
पेट्रफ

1
आपकी पोस्ट स्क्रिप्ट के बारे में: यदि डिवाइस कई रास्तों से होते हुए दिखाई देते हैं, तो कर्नेल को शायद यह भी पता नहीं होता है कि वे सभी एक ही डिवाइस हैं, इसलिए यह कैसे "रिजर्व" कर सकता है? एक डिवाइस को dom0 से कई डोमू में निर्यात करने के लिए, यह आपको ऐसा करने देता है क्योंकि आप वास्तव में इसे उद्देश्य पर करना चाहते हैं (जैसे कि एक फाइलसिस्टम जो इसका समर्थन करता है, या केवल पढ़ने के लिए माउंट किया गया है)।
सेलदा

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

जवाबों:


2

यदि डिस्क एकल माउंट बिंदु से लिखी जा रही हैं तो कोई नुकसान नहीं हो रहा है। एक साफ शटडाउन करें, (यदि आप चाहें तो इसे निलंबित स्थिति से वापस करें) माउंट को ठीक करें। DOM0 पर कुछ भी नहीं बल्कि नंगे आवश्यक ऐप्स चलाएं। यदि, OTOH, विभाजन कई रास्तों से लिखे जा रहे हैं, तो BAD और दूसरा खराब हो रहा है। प्लग खींच।


0

मेरे पास कोई ठोस कारण नहीं है लेकिन मेरी आंत-भावना मुझे बताती है कि निम्नलिखित सबसे अच्छा तरीका हो सकता है:

  1. एप्लिकेशन शट डाउन करें।
  2. वीएम के सभी डेटा को नेटवर्क के माध्यम से बैकअप स्थान पर कॉपी करें।
  3. VM के भीतर से फ़ाइल सिस्टम को अन-माउंट करें।
  4. VM को बंद करें। (इस होस्ट पर अभी केवल एक VM चल रहा है)।
  5. सुनिश्चित करें कि कोई भी स्वचालित रूप से शुरू करने के लिए कोई भी डोम सेट नहीं हैं।
  6. हाइपरवाइजर को किसी भी "क्लोजिंग" क्रिया, बकाया I / O के सिंक आदि को करने से रोकने के लिए होस्ट पर पावर को हटा दें।
  7. VM को बूट करें, यह आशा करते हुए कि हाइपरविजर स्वयं शक्ति-यान से बच गया है।
  8. यदि यह विफल रहता है, तो पर्यावरण को फिर से बनाएँ। (VMs बूट डिस्क फ़ाइल आधारित हैं, लेकिन ब्लॉक डिवाइस के रूप में आवंटित बाहरी डिस्क पर डेटा माउंट बिंदु रहते हैं)
  9. जांचें कि क्या हाइपरवाइजर डोमू से संबंधित किसी फाइल सिस्टम को बढ़ा रहा है। किसी भी domUs शुरू होने से पहले इन्हें अन-माउंट करें)
  10. KDE ऑटो-माउंटिंग बंद करें।
  11. वीएम को स्टार्ट-अप करें और एक पूर्ण एफएस जांच को बाध्य करें।

11 के लिए वैकल्पिक: वीएम को स्टार्ट-अप करें और फ़ाइल सिस्टम को बिना फस्क के माउंट करें।

तर्क यह है कि मैं नहीं चाहता कि एक्सपी हाइपरवाइजर के पास कोई और मौका हो जो कि डोमू फाइल सिस्टम पर भ्रष्टाचार का कारण बनने के लिए जरूरी हो।


0

मैं कोई एक्सपी विशेषज्ञ नहीं हूं और इसके साथ अभी तक कोई अनुभव नहीं था। लेकिन अगर मैं आपकी जगह पर होता तो मेरा दृष्टिकोण: पहले मुझे पता होता है कि मैं डेटा खो सकता हूं (शायद सभी भी); दूसरा मैं स्नैपशॉट्स बनाने और फिर वीएम को निलंबित करने, उन्हें सुरक्षित अलग वातावरण में बहाल करने की कोशिश करूंगा।
मैं आपको झूठी उम्मीदें नहीं देना चाहता, लेकिन मुझे लगता है कि आप भाग्यशाली होंगे यदि आप कुछ भी ठीक कर सकते हैं।

चेतावनी : इन सलाह का पालन करने से आप सभी डेटा खो सकते हैं । यह आप पर निर्भर है कि यह जोखिम के लायक है या नहीं।

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

तब आप एक लाइव स्नैपशॉट करने की कोशिश कर सकते हैं, निम्नलिखित लेख में निर्देश: एक्सपी में स्नैपशॉट बनाना । मैं बाइट-बाय-बाय स्नैपशॉट के लिए जाऊंगा, हालांकि यह आपकी findआज्ञा की तरह अटक सकता है ... हालांकि, मैं इसे बहुत उम्मीद नहीं दूंगा।

पिछली कमांड करने से पहले, आपको Citrix के इस दस्तावेज़ को पढ़ना चाहिए, जो कि Xen (PDF) में स्नैपशॉट को समझने में मदद करता है ।

मेरे द्वारा तुम्हें शुभकामनाएं दी जाती हैं।


धन्यवाद। ग्राहक के पास डेटाबेस का निर्यात होता है। मुझे लगता है कि वे वीएम से इसे प्राप्त करने के लिए सिर्फ एफ़टीपी का उपयोग करते थे, लेकिन एक नेटवर्क शेयर को माउंट करना और सीधे उस पर निर्यात करना संभव है।
जोहान

मैं VM को निलंबित करने और फिर किसी अन्य होस्ट को पूरी कॉपी लेने के विचार के साथ कर रहा हूं और फिर a) इसे नींद से फिर से शुरू करने की कोशिश करता हूं, या b) इसे बूट करता हूं, इसके बाद रिबूट और fsck। विचार यह है कि चूंकि मेरे पास अभी भी मूल होस्ट पर निलंबित VM है, इसलिए मैं फिर से शुरू कर सकता हूं यदि कोई अन्य होस्ट पर कॉपी काम नहीं करता है।
जोहान

इसके अलावा FWIW एक बैकअप में वापस जाने के साथ समस्या यह है कि यह आशंका है कि पिछले कुछ महीनों के लिए उठाए गए सभी बैकअप भ्रष्ट हैं।
जोहान

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