मैं अपने LVM 250 GB रूट विभाजन को नई 120GB हार्ड डिस्क में कैसे स्थानांतरित करूं?


18

मेरी निम्न स्थिति है:

मेरे वर्तमान उबंटू (12.04) इंस्टॉलेशन एक बाहरी एचडीडी (250 जीबी) से चल रहा है क्योंकि मैं एक नया आंतरिक एचडीडी खरीदने के लिए आलसी था। अब मुझे एक नया आंतरिक (120GB) मिल गया है और मैं सब कुछ आंतरिक में स्थानांतरित करना चाहता हूं। उबंटू नया स्थापित करना असंतुष्टता से बाहर है क्योंकि इसका पेरोनलाइज किया गया है।

सौभाग्य से (मुझे उम्मीद है) रूट विभाजन LVM के साथ विभाजित है, इसलिए मुझे आशा है कि मैं विभाजन को छोटे आंतरिक HDD में स्थानांतरित कर सकता हूं।

क्या यह संभव है? और मुझे मदद कहां मिलेगी?

EDIT: यह प्रश्न पहले से ही काफी पुराना है और पुराना हो सकता है। मैंने उबंटू संस्करण को जोड़ा जो तब उपयोग किया गया था।


संबंधित प्रश्न - उपरोक्त उत्तर पर्याप्त नहीं हैं ...
मेसो 2

उपरोक्त दो उत्तर मेरे लिए पर्याप्त स्पष्ट नहीं हैं। इसलिए एक नई पोस्ट
मेसो 2

जवाबों:


39

जैसा कि आपको संदेह है, यह LVM का उपयोग करने के लिए बेहद सुरुचिपूर्ण है।

छोटी डिस्क को फिट करने के लिए मौजूदा इंस्टॉलेशन को सिकोड़ें।

भौतिक रूप से नई हार्डडिस्क को स्थापित करें, pvcreateइसे प्रारूपित करें और इसे vgextendअपने मूल विभाजन के समान वीजी में जोड़ने के लिए उपयोग करें

pvmoveपुराने विभाजन से सभी डेटा को पारदर्शी रूप से स्थानांतरित करने के लिए उपयोग करें

vgreduceअपने vg से अपने बाहरी hd को हटाने के लिए उपयोग करें । पुरानी डिस्क / dev / sdOLD को अनप्लग करें।

नीचे दिए गए उदाहरण में:

  • /dev/sdOLD पुराने विभाजन को बदलने के लिए खड़ा है
  • /dev/sdNEW अपनी जगह लेने के लिए नए विभाजन के लिए खड़ा है।
  • vgX वॉल्यूम समूह के लिए खड़ा है

उदाहरण: बेशक, आपको 100% सुनिश्चित होना चाहिए कि आपके सही उपकरण का उपयोग किया जा रहा है। इसके अलावा, सिस्टम से निकाले गए पूर्ण और अद्यतित बैकअप आवश्यक हैं।

pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD

का प्रयोग करें update-grubऔर grub-installअपने नए रूट डिस्क बूट बनाने के लिए

किया हुआ।


अच्छा होता अगर आप ठोस उदाहरण देते।
isallw

12
आह, यह उपयोगी जानकारी के साथ एक मान्य स्वीकार पोस्ट के नीचे अच्छा मतदान है। मैंने जानबूझकर कोई ठोस उदाहरण नहीं दिया, क्योंकि खतरा यह है कि कोई नासमझ कॉपी-पेस्ट करेगा और उसका डेटा नष्ट कर देगा। यदि आप lvm के साथ कुछ भी करते हैं, तो आपको संकेत देने वाले बिंदुओं के साथ आपको खोजने में सक्षम होना चाहिए।
फ्लोयड

2
Cento7 पर भी काम किया। यहाँ दिए गए चरण मेरे लिए थोड़ा और Google को थोड़ा सीखने के लिए पर्याप्त थे। स्पॉट-ऑन
टेरीरी

centos: grub2-mkconfig -o "$ (readlink -e /etc/grub2.cfg) का उपयोग करें" ... यहाँ से
terary

21

सबसे पहले, यदि आपने अपनी वर्तमान स्थापना के लिए पूरे 250GB डिस्क का उपयोग किया है, तो आपको 120GB डिस्क को फिट करने के लिए इसे सिकोड़ना होगा। जब आप यह अनमाउंट है, तो आप केवल एक ext4 फाइल सिस्टम को सिकोड़ सकते हैं, इसलिए आपको उबंटू लाइव सिस्टम (सीडी या यूएसबी), या जीपार्टेड लाइव जैसे विशेष रखरखाव लाइव सिस्टम को बूट करना होगा । आप resize2fsमौजूदा फाइल सिस्टम का आकार बदलने के लिए उपयोग या GParted कर सकते हैं ।

एक बार जब आप नई डिस्क पर फिट होने के लिए अपने मौजूदा इंस्टॉलेशन के फाइल सिस्टम को सिकोड़ लेते हैं, तो आप अपनी पसंद के अनुसार बाकी की फाइल को माउंट किए गए फाइल सिस्टम के साथ कर सकते हैं। यदि मौजूदा फाइलसिस्टम नई डिस्क पर फिट बैठता है, तो आप बिना कुछ या रिबूट किए बिना ट्रांसफर कर सकते हैं।

निम्नलिखित विवरण में, मैं दिखाता हूँ कि भौतिक आयतन /dev/sdb1से भौतिक आयतन की ओर कैसे बढ़ना है /dev/sda1, एक मौजूदा आयतन समूह के साथ oldvg। अपने सिस्टम से मिलान करने के लिए डिस्क अक्षरों और विभाजन संख्याओं को समायोजित करना सुनिश्चित करें।

लाइव ट्रांसफर करने के लिए:

  1. नई डिस्क विभाजन, अपनी पसंद का विभाजन उपकरण का उपयोग ( cfdisk, fdisk, parted, ...)। उदाहरण देखें कि मैं एक अतिरिक्त हार्ड ड्राइव कैसे जोड़ूं?
  2. नई डिस्क पर एक भौतिक आयतन बनाएँ: pvcreate /dev/sda1
  3. इस भौतिक आयतन को उस मौजूदा आयतन समूह में जोड़ें जिसमें तार्किक आयतन है जिसे आप ले जाना चाहते हैं: vgextend oldvg /dev/sda1
  4. तार्किक वॉल्यूम को एक भौतिक आयतन से दूसरे में ले जाएँ: pvmove /dev/sdb1 /dev/sda1
  5. मौजूदा वॉल्यूम समूह को दो में विभाजित करें: vgsplit oldvg newvg /dev/sda1

एक अन्य तरीका मौजूदा लॉजिकल वॉल्यूम (एस) को मिरर वॉल्यूम के साथ बनाना है lvconvert --mirror, नई डिस्क पर एक मिरर सेट करना है, फिर मिरर्स को अलग करना है lvconvert --splitmirrors। इस तरह, आप अपने डेटा की दो प्रतियों के साथ समाप्त होते हैं, और विभाजन के बाद प्रत्येक प्रतिलिपि अपने स्वयं के जीवन का नेतृत्व करती है।

प्रतिलिपि बनाने के बाद, आपको नई डिस्क को बूट करने योग्य बनाना होगा। इसके लिए फाइलसिस्टम माउंट करें। यह मान लिया गया है कि /mntइन कमांडों को रूट के रूप में चलाएं:

chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda

वैकल्पिक रूप से, आप Clonezilla का उपयोग करने में सक्षम हो सकते हैं । यह एक शक्तिशाली डिस्क हेरफेर और क्लोनिंग टूल है, और मुझे लगता है कि यह आपकी स्थिति को कवर करता है, लेकिन मुझे इसके साथ कोई अनुभव नहीं है।


1
एक उत्तर जो मूल रूप pvadd, pvmove, pvremoveसे THIS पर स्वीकार किया जाता है, वह मेरे से परे है ...
ish

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