माउंट के विफल होने पर रूट सिस्टम को भरने से रोकने का सबसे अच्छा तरीका है?


16

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

बैक अप / mnt / backup / के लिए प्रदर्शन किया जा रहा है, जिसे किसी अन्य सिस्टम में NFS माउंट के लिए माना जाता है। दुर्भाग्य से, जब माउंट विफल होता है, या बंद हो जाता है, तो बैकअप रूट फाइल सिस्टम पर किया जाता है, जैसा कि आप कल्पना कर सकते हैं कि यह बहुत पहले नहीं है / भरा हुआ है, और फिर सेवाएं विफल होने लगती हैं।

कई संभावित समाधानों पर चर्चा की गई है।

  1. मॉनिटर / mnt / बैकअप और सुनिश्चित करें कि यह रूट नहीं है। शायद एक क्रॉन नौकरी।

  2. / Mnt / संरक्षित / बैकअप का उपयोग करें, और माउंट / पहले एक छोटे से फाइलसिस्टम के लिए संरक्षित, शायद एक पाश एक स्थानीय फ़ाइल के लिए माउंट ताकि यह विफल होने की संभावना बहुत कम है।

  3. Chmod एक- rwx / mnt / बैकअप (रूट फाइल सिस्टम आरोह बिंदु)। मुझे यकीन नहीं है कि अगर संरक्षित निर्देशक से अधिक काम करेंगे, तो मुझे लगता है कि यह करता है।

  4. माउंटेड ट्री पर "बैकअप" नामक एक निर्देशिका बनाएँ, फिर सॉफ्ट लिंक "ln - s / mnt / backup / Backups / बैकअप"। बैकअप के लिए / बैकअप का उपयोग करना तब तक विफल रहेगा जब तक कि स्थानीय पेड़ में उप-निर्देशिका नहीं होती है।

  5. जाँच करना कि निर्देशिका बैकअप स्क्रिप्ट में सही तरीके से आरोहित है।

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

जवाबों:


13

नंबर 5 - अपनी बैकअप स्क्रिप्ट में एक परीक्षण रखें ताकि यह सुनिश्चित हो सके कि निर्देशिका को जारी रखने से पहले माउंट किया गया है। यदि माउंट उपलब्ध नहीं है या मौजूद नहीं है तो स्क्रिप्ट को विफल होना चाहिए। या आप बस बैकअप चलाने से पहले सुनिश्चित कर सकते हैं कि चीजें माउंट की गई हैं।

mountpointयदि कोई निर्दिष्ट निर्देशिका एक माउंटपॉइंट है, तो कमांड को आज़माएं ;

mountpoint -q /mnt/backups || mount /mnt/backups


हम्म, मुझे लगता है कि मैं जोड़ना चाहते हैं || गूंज "माउंट / mnt / बैकअप विफल" 2> और 1 या शायद अभी वहां मौजूद हैं। कोई बात नहीं धन्यवाद!!!
पीटर

22

सबसे अधिक त्रुटि-प्रूफ समाधान माउंट बिंदु को अपरिहार्य बनाने के लिए है। यह आपका समाधान # 3 होगा। हालांकि एक अतिरिक्त कदम है जो आपको प्रदर्शन करना चाहिए। chattr +i /mnt/backups। ऐसा इसलिए है क्योंकि बिना अनुमति के भी, रूट अभी भी डायरेक्टरी को लिखने में सक्षम होगा। के साथ chattr +i(अपरिवर्तनीय ध्वज सेट) जड़ भी नहीं लिख सकते हैं। एक बार आरोहित होने के बाद, अनुमतियाँ मायने नहीं रखतीं क्योंकि अनुमतियाँ दूरस्थ निर्देशिका की होंगी, स्थानीय की नहीं।


1
यह एक बहुत साफ चाल है - 'चैटट्रैट' का उपयोग करने के बारे में कभी नहीं सोचा
वॉरेन

1
मैं अपने सभी आरोह बिंदुओं पर इस तकनीक का उपयोग करता हूं।
डीइंफ्लुएंस

1
मैंने encfsएक फ्यूज फाइलसिस्टम के साथ यह कोशिश की । यह त्रुटि देता है:fusermount: user has no write access to mountpoint
ctrl-alt-delor-

यह वह समाधान है जो मैं आमतौर पर उपयोग करता हूं, और मुझे लगता है कि यह स्वीकृत उत्तर होना चाहिए।
शोडान्शोक

3

क्या इविहिट ने कहा। इसके अलावा, आधार प्रणाली स्वास्थ्य के लिए कुछ अतिरिक्त निगरानी एक बुरा विचार नहीं होगा।

मोनेट जैसी कोई चीज यह देखने के लिए जांच सकती है कि कितनी जगह बची है । यदि आप सिस्टम मॉनिटरिंग पर पूर्ण बोर जाना चाहते हैं, तो आप नागियोस को देख सकते हैं, लेकिन मोनेट हल्का वजन है और मूल बातें करेंगे।

चूंकि आप उबंटू का उपयोग कर रहे हैं, मोनिट पहले से ही रेपो में है, इसलिए आप "sudo apt-get install monit" कर सकते हैं, फिर इसे सही जगह पर अलर्ट भेजने के लिए, सही सेवाओं की निगरानी करने के लिए बताने के लिए कॉन्फ़िगरेशन फ़ाइलों को देखना शुरू करें। यहाँ एक त्वरित ट्यूटोरियल है


1

यहां एक लाइनर है जिसे आप क्रॉन जॉब के रूप में चला सकते हैं, यह मानता है कि प्रश्न में माउंट माउंट है:

if mountpoint -q /mnt ; then : ; else mount /mnt ; fi

0

एक लंबे समय तक समाधान के लिए: यह सुनिश्चित नहीं है कि उबंटू (मैं आरएच सेंट्रिक) पर यह कैसे करना है या यदि इसके लायक है (यदि आपके पास सिर्फ एक मशीन है), लेकिन एक पद्धति जो हमारे लिए कई वर्षों से काम कर रही है, तो अलग-अलग तार्किक बनाना है सर्वर मशीनों पर वॉल्यूम, फाइल सिस्टम भी वॉल्यूम समूहों को। इसलिए मानक अभ्यास के रूप में हम /, / tmp के लिए LVM लॉजिकल वॉल्यूम बनाते हैं। / usr, / usr / स्थानीय, / ऑप्ट, / होम, / var, स्वैप स्पेस और / बूट के लिए एक अलग विभाजन। यह दृष्टिकोण फ़ाइल सिस्टम को सिस्टम को भरने और अक्षम करने के लिए अतिरिक्त मुश्किल बनाता है। वास्तव में यह दृष्टिकोण / फाइल सिस्टम को भरने के लिए लगभग असंभव बना देगा। आपको अभी भी / tmp, / var का संस्करण देखना होगा। अगर हमें घर डेटा की जरूरत है तो हम इसके लिए एक पूरी तरह से अलग वॉल्यूम ग्रुप बनाते हैं। इस दृष्टिकोण के अन्य लाभ भी हैं, वसीयत में फाइल सिस्टम का विस्तार करें, उन्हें चारों ओर ले जाएं, नए बनाएं आदि।


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