मैं एक अलग विभाजन पर कैसे स्टोर / वार कर सकता हूं?


13

मैं /varएक अलग पार्टीशन से स्टोर करना चाहूंगा /। इसे स्थापित करने का सही तरीका क्या है?

जवाबों:


17

पहले एक नया विभाजन तैयार करें (जैसे कि साथ partedऔर mkfs)।

कहते हैं कि विभाजन / देव / sda5 है

नया विभाजन माउंट करें:

mkdir /var2
mount /dev/sda5 /var2

अपना वर्तमान संस्करण सिंक करें:

rsync -a /var/ /var2

/ Etc / fstab में प्रविष्टि जोड़ें

/dev/sda5    /var    ext4    defaults      2 2

रीबूट।

यदि आपको वापस जाने की जरूरत है तो आप अपने पुराने / संस्करण को हटा दें।


1
मैं पुराने पर स्थान को पुनर्प्राप्त करने के लिए कुछ जानकारी /varजोड़ूंगा: एक लाइव एलसीडी से शुरू करें, इंस्टॉल किए गए सिस्टम पर विभाजन को माउंट करें /और rm -rf /var/*
enzotib

1
अच्छी बात। या /चालू सिस्टम पर आप किसी अन्य स्थान पर माउंट कर सकते हैं, जबकि यह चल रहा है (लेकिन रिबूट होने के बाद)। तो आप पुराने पर प्राप्त कर सकते हैं /varऔर इसे हटा सकते हैं यदि आपको पसंद है
हांग्जो लेवचुक

1
मुझे उन पर भी आश्चर्य होता था। पहला 1 वास्तव में पुरातन और प्रभाव-रहित कुछ है, दूसरा यह fsck के क्रम को नियंत्रित करता है जब बूट के दौरान आपके ext को स्कैन करने का समय होता है। मैं अब उन पर ध्यान नहीं देता। सिर्फ़ 1 1 डालें क्योंकि सिंटैक्स की आवश्यकता होती है।
3:30 बजे हांग्जो लेवचुक

2
जब आप 30 वीं बार रिबूट करते हैं, तो आपको / var से पहले fsck स्कैन करने / पाने जैसी चीज़ों को करने के लिए 2 2 लगाना चाहिए। अन्यथा यदि / var विफल हो जाता है और आपको एकल उपयोगकर्ता शेल में मैन्युअल रूप से चीजों को ठीक करने के लिए कहता है - तो आपके पास कोई फ़ाइल सिस्टम नहीं होगा। मजेदार चीजें।
अलेक्सांद्र लेवुक

2
क्या UUIDs को fstab में इस्तेमाल करने की सिफारिश नहीं है? मुझे उपयुक्त एक का उपयोग कर मिल गया blkid -o list -s UUID, लेकिन मुझे लगता है कि आपको
सूडो के

2

वर्चुअल सर्वर पर एक नया / var विभाजन कॉन्फ़िगर करना

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

LVM के साथ एक नया / var फाइल सिस्टम बनाएं

नए varफाइल सिस्टम के लिए एक लॉजिकल वॉल्यूम बनाएं , इसे माउंट करें (एक अस्थायी डायरेक्टरी का उपयोग करके) और करेंट /varसे फाइल को नए फाइल सिस्टम में कॉपी करें :

# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new

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

sudo cp -ra /var/ /var.new/

वैकल्पिक रूप से, फ़ाइलों को कॉपी -स्टैम्प, स्वामित्व, मोड, आदि को संरक्षित करने के विकल्प के साथ और विस्तारित विशेषता जैसे कि AppArmor और SELinux द्वारा उपयोग किए जाने वाले सुरक्षा लेबल को संरक्षित करने के लिए rsyncइसके -a, --archiveविकल्प के साथ कॉपी किया जा सकता है -X, --xattrs:

sudo rsync -raX /var/ /var.new/

फाइलसिस्टम टेबल को अपडेट करें

/varनिम्न करने के लिए निम्न पंक्ति को जोड़कर नए फ़ाइल-सिस्टम को नए माउंट-पॉइंट के रूप में उपयोग करने के लिए कॉन्फ़िगर करें /etc/fstab। ध्यान दें कि 0पास नंबर (अंतिम फ़ील्ड) के रूप में उपयोग किया जाता है ताकि fsckरिबूट की एक निश्चित संख्या के बाद फाइल सिस्टम स्वचालित रूप से जांच नहीं करेगा ।

/dev/mapper/VolGroup00-var    /var    ext4  defaults  0 0

चूंकि एकल-उपयोगकर्ता मोड में बदलना संभव नहीं है, इसलिए इस नए वॉल्यूम का उपयोग करने के लिए कंप्यूटर को रिबूट करें /var

अस्थायी आरोह-बिंदु निकालें

मशीन के फिर से चालू होने के बाद, नया फाइलसिस्टम माउंट किया जाएगा /varताकि अस्थायी माउंट-पॉइंट को सुरक्षित रूप से हटाया जा सके:

sudo rmdir /var.new

रूट फाइल सिस्टम से डिस्क स्थान पुनर्प्राप्त करें

पुरानी /varफाइलें अभी भी रूट विभाजन पर जगह ले रही हैं, लेकिन वे आसानी से सुलभ नहीं हैं, जबकि एक अन्य फाइल सिस्टम को माउंट माउंट बिंदु के रूप /varमें /varनिर्देशिका का उपयोग करके नए फाइल सिस्टम द्वारा (वे "नकाबपोश" ) हैं। रूट फाइलसिस्टम को माउंट करने के लिए एक अस्थायी माउंट-पॉइंट का उपयोग करें ताकि मूल /varनिर्देशिका की सामग्री एक वैकल्पिक पथ द्वारा उपलब्ध हो।

    sudo mkdir /old-root
    sudo mount /dev/mapper/VolGroup00-root /old-root/
    sudo rm -rf /old-root/var/*
    sudo umount /old-root/
    sudo rmdir /old-root/

शामिल विकल्पों की अच्छी व्याख्या। हालाँकि, आप उपयोग करते हैं lvcreateऔर mkfs.ext4यह बताए बिना कि क्या और क्यों उपयोग किया जाता है। शायद आप बस यह बता सकते हैं कि नया विभाजन बनाने के लिए है क्योंकि वे उत्तर का मुख्य विषय नहीं हैं।
फोनिक्स

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