ฉันจะย้ายพาร์ติชันรูท LVM 250 GB ไปยังฮาร์ดดิสก์ 120GB ใหม่ได้อย่างไร


18

ฉันมีสถานการณ์ต่อไปนี้:

การติดตั้ง Ubuntu ปัจจุบันของฉัน (12.04) กำลังเรียกใช้จาก HDD ภายนอก (250 GB) เพราะฉันขี้เกียจซื้อ hdd ภายในใหม่ ตอนนี้ฉันได้รับภายในใหม่ (120GB) และฉันต้องการย้ายทุกอย่างไปยังภายใน การติดตั้งอูบุนตูใหม่นั้นไม่ได้เกิดความสับสนเพราะมันทำให้เกิดการบิดเบือน

โชคดี (ฉันหวังว่า) พาร์ทิชันรูทจะถูกแบ่งพาร์ติชันด้วย LVM ดังนั้นฉันหวังว่าฉันจะสามารถย้ายพาร์ติชันไปยัง HDD ภายในที่เล็กลงได้

เป็นไปได้ไหม และฉันจะขอความช่วยเหลือได้ที่ไหน

แก้ไข: คำถามนี้ค่อนข้างเก่าและอาจล้าสมัยแล้ว ฉันเพิ่มเวอร์ชันอูบุนตูที่ใช้แล้ว


คำถามที่เกี่ยวข้อง - คำตอบข้างต้นไม่ชัดเจนพอ ...
MeSo2

คำตอบสองข้อข้างต้นไม่ชัดเจนสำหรับฉัน ดังนั้นเริ่มโพสต์ใหม่
MeSo2

คำตอบ:


39

อย่างที่คุณสงสัยนี่เป็นสิ่งที่ยอดเยี่ยมมากที่จะใช้ LVM

ย่อขนาดการติดตั้งที่มีอยู่ให้พอดีกับดิสก์ขนาดเล็กลง

ติดตั้งฮาร์ดดิสก์ใหม่จัดรูปแบบและpvcreateใช้vgextendเพื่อเพิ่มลงใน vg เดียวกับพาร์ติชันรูทของคุณ

ใช้pvmoveเพื่อย้ายข้อมูลทั้งหมดออกจากพาร์ติชันเก่าอย่างโปร่งใส

ใช้vgreduceเพื่อลบ hd ภายนอกของคุณจาก vg ของคุณ ถอดปลั๊กดิสก์เก่า / 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เพื่อทำให้ดิสก์รูทใหม่ของคุณสามารถบูตได้

เสร็จสิ้น


คงจะดีถ้าคุณยกตัวอย่างที่เป็นรูปธรรม
isaaclw

12
อ่านั่นเป็นการลงคะแนนที่ดีซึ่งเป็นข้อมูลที่เป็นประโยชน์ ฉันจงใจไม่ให้ตัวอย่างที่เป็นรูปธรรมเพราะอันตรายคือมีใครบางคนที่จะคัดลอกวางและทำลายข้อมูลของเขา / เธอ หากคุณทำอะไรกับเลเวลคุณควรจะพบว่าคุณมีพอยน์เตอร์ที่ฉันให้
ฟลอยด์

2
ทำงานบน Cento7 เช่นกัน ขั้นตอนที่ให้ไว้ที่นี่เพียงพอสำหรับฉันที่จะเรียนรู้เพียงเล็กน้อยและ google เล็กน้อย Spot-on
terary

centos: ใช้ grub2-mkconfig -o "$ (readlink -e /etc/grub2.cfg)" ... จากที่นี่
terary

21

ก่อนอื่นถ้าคุณใช้ทั้งดิสก์ 250GB สำหรับการติดตั้งปัจจุบันของคุณคุณจะต้องลดขนาดให้พอดีกับดิสก์ 120GB คุณสามารถหดระบบแฟ้ม ext4 ในขณะที่มันเดินเท้าเพื่อให้คุณจะต้องบูตปิดระบบ Ubuntu สด (CD หรือ USB) หรือการบำรุงรักษาเฉพาะระบบอยู่เช่นGParted สด คุณสามารถใช้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

อีกวิธีหนึ่งคือการทำให้ปริมาณที่มีอยู่ตรรกะ (s) ปริมาณกระจก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ได้รับการยอมรับในเรื่องนี้อยู่เหนือฉัน ...
ish

ซับซ้อนเกินไปและไม่ใช่สิ่งที่เขาต้องการ
ฟลอยด์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.