Ubuntu: ปรับขนาดพาร์ติชัน LVM รูท (2)


10

ฉันมีเครื่องเสมือน Ubuntu ที่ทำงานใน VirtualBox 2.2.4 และฉันสร้างมันบนดิสก์เสมือน 8gb ซึ่งเล็กเกินไป

ดังนั้นฉันพยายามเพิ่มขนาดของดิสก์ จนถึงตอนนี้ฉันได้ทำสิ่งนี้แล้ว:

  1. สร้างดิสก์เสมือนที่ใหญ่กว่าใหม่
  2. เพิ่มดิสก์ที่สองลงในเครื่อง
  3. ใช้ CloneZilla เพื่อโคลนดิสก์แผ่นแรกลงบนดิสก์แผ่นที่สอง
  4. ลบดิสก์แรก
  5. บูตระบบจากดิสก์ 2nd (ดิสก์ขนาดใหญ่)

แต่ตอนนี้ฉันยังคงติดอยู่กับพาร์ติชัน 8gb บนดิสก์เสมือน 100GB ใหม่ของฉัน

เส้นทางที่ง่ายที่สุดจากที่นี่ไปยังพาร์ติชั่น 100GB คืออะไร? :) ฉันรวบรวม GPart สามารถปรับขนาดพาร์ติชันได้ แต่ดูเหมือนจะไม่รองรับพาร์ติชัน LVM2 ซึ่งดูเหมือนว่าจะเป็นของฉัน

ขอบคุณ

  • อเล็กซ์

คำตอบ:


5

โดยทั่วไปต่อไปนี้เป็นวิธีปรับขนาดไดรฟ์ LVM:

สมมติว่าอยู่ใน/mountpoint /dev/VolGroup00/mountpointคุณสามารถค้นหานี้ออกโดยการตรวจสอบหรือการทำงาน/etc/fstabmount -l

คุณอาจต้องปรับขนาดฟิสิคัลวอลุ่มจริงขึ้นอยู่กับการตั้งค่าของคุณ ใช้pvdisplayเพื่อดูว่ามันใหญ่พอหรือไม่และใช้pvresize(มากเหมือนlvresizeด้านล่าง) หากจำเป็น

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

จำนวนนี้เป็น umounting ปรับขนาด LVM ต้นแบบจากนั้นปรับขนาดพาร์ติชัน ext3 จริง

สิ่งเล็ก ๆ น้อย ๆ ที่ต้องระวัง:

  1. เห็นได้ชัดว่าการเล่นด้วย/จะแตกต่างจากพาร์ติชันข้อมูล คุณอาจต้องใช้ดิสก์สำหรับบูตเช่นSysrescuecdแทน Doing It Live ดูความคิดเห็นของ Kristof ด้านล่างด้วยเช่นกันคุณอาจทำได้โดยไม่ต้องถอด/ออก
  2. lvresize มีตัวเลือกไวยากรณ์ที่แตกต่างกันเล็กน้อยและการลดปริมาณโลจิคัลอาจเป็นอันตรายต่อพาร์ติชันที่โอเวอร์เลย์ ปรึกษาคนท้องถิ่นของคุณสำหรับข้อมูลเพิ่มเติม

ขอบคุณที่มีแนวโน้มคุณสามารถแนะนำ LiveCD ที่ฉันอาจใช้ซึ่งมีเครื่องมือ LVM หรือไม่
user12259

Sysrescuecd เป็นสิ่งที่ดี ( sysresccd.org )
Zoredache

5
ext2 / 3/4 รองรับการเติบโตของระบบไฟล์ของคุณ คุณไม่จำเป็นต้องถอนการต่อเชื่อมหรือ e2fsck พาร์ติชันของคุณ resize2fs นั้นฉลาดพอที่จะหาขนาดของพาร์ติชั่น (หรือโลจิคัลวอลุ่ม) ที่เปิดอยู่ หากคุณไม่ระบุขนาดมันก็จะโตขึ้นเพื่อเติมเต็มพื้นที่ว่างทั้งหมด
Kristof Provost

ฉันลอง "sudo resize2fs / dev / sda1" และมันตอบกลับ: "resize2fs: อุปกรณ์หรือทรัพยากรไม่ว่างขณะที่พยายามปากกา / dev / sda1 ไม่พบระบบไฟล์ superblock ที่ถูกต้อง"
user12259

1
lvresize ไม่เปลี่ยนขนาดฟิสิคัลวอลุ่มดังนั้นฉันไม่ต้องทำก่อน
user12259

2

มีวิธีหนึ่ง (และมีเพียงทางเดียว) ที่ฉันพบว่าทำสิ่งนี้และฉันลองทำสิ่งต่างๆมากมาย

ก่อนอื่นให้ทำการจำลองแขกอูบุนตู VM ในกล่องเสมือนโดยคลิกขวาและไปที่ "โคลน" เมื่อโคลนเสร็จสิ้นแล้วขยาย vdi ที่โคลนโดยใช้ (บนโฮสต์ระบบปฏิบัติการ)

VBoxManage แก้ไข hd "name_of_cloned_vdi" --resize "size_of_new_root_partition_in_MB"

จากนั้น - ทำตามขั้นตอนในโพสต์นี้ไปยังจดหมาย (เขาอ้างถึง VMware เป็นแพลตฟอร์ม แต่ไม่สนใจ)

http://blog.campodoro.org/?p=36

สิ่งนี้จะสร้างขนาด lvm ที่เทียบเท่ากับพื้นที่พิเศษที่คุณเพิ่มเข้าไปอีกหนึ่งอัน

เมื่อคุณตรวจสอบทั้งหมดดีแล้วคุณสามารถลบ VM ดั้งเดิมและโปรโมตโคลนของคุณได้!

ไม่จำเป็นต้องยุ่งเกี่ยวกับ fdisk และกังวลเกี่ยวกับการลบหรือทำให้พาร์ทิชันผิดพลาด

ฉันต้องใช้ระบบปฏิบัติการโคลนประมาณ 4 ระบบจนกว่าฉันจะพบโซลูชันนี้!


2

ฉันเพิ่งทำสิ่งนี้และมีคำถามแบบเดียวกันกับที่คุณมี แต่แทนที่จะสร้าง LVM ใหม่และเพิ่มลงในกลุ่มวอลุ่มฝั่ง OCD ของฉันต้องการปรับขนาด LVM ปัจจุบันของฉันและทำให้พาร์ติชันเดียวอยู่ในชื่อของความเรียบง่าย หมายเหตุ: ฉันไม่เชื่อว่าสิ่งนี้เป็นไปได้หากพื้นที่ว่างไม่ได้ตามพาร์ติชันที่คุณกำลังปรับขนาดทันที!

ในการทำเช่นนั้นคุณจะต้องมีเครื่องมือที่สามารถลบและสร้างตารางพาร์ติชัน ตั้งแต่ผมใช้ GPT นี่หมายความว่าผมจำเป็นต้องgdisk คุณจะต้องทำเช่นนี้กับพาร์ติชันที่ไม่ได้ต่อเชื่อมดังนั้นคุณอาจต้องการบู๊ตเป็น Ubuntu LiveCD และเรียกใช้จากที่นั่น

ขั้นตอนต่อไปนี้เป็นตัวหนาสำหรับตัวอย่าง LVM / dev / mms / rootบนอุปกรณ์/ dev / sdaที่ฉันต้องการขยายพาร์ติชัน/ dev / sda3เพื่อใช้พื้นที่ว่างที่เพิ่งค้นพบของฉัน

หมายเหตุ : สิ่งเหล่านี้อาจเป็นอันตรายอย่างมากดังนั้นโปรดตรวจสอบให้แน่ใจว่าอินพุตของคุณถูกต้อง!

  1. gdisk / dev / sda (ตรวจสอบให้แน่ใจว่าได้ใส่อุปกรณ์ที่ถูกต้อง!) สิ่งนี้จะนำคุณเข้าสู่ gdisk ซึ่งคุณสามารถทำตามขั้นตอนต่อไปนี้ตามลำดับ
    1. p - พิมพ์ข้อมูลพาร์ทิชันปัจจุบันของคุณ (สำหรับการอ้างอิง)
    2. d - สำหรับการลบตารางพาร์ทิชัน
    3. 3 - หมายเลขอุปกรณ์แสดงถึงตารางพาร์ติชันที่คุณต้องการลบ (สำคัญ!)
    4. n - สำหรับสร้างตารางพาร์ติชัน
    5. 3 - หมายเลขอุปกรณ์ที่แสดงถึงตารางพาร์ติชันที่คุณต้องการสร้าง (คุณอาจต้องการใช้เหมือนกับที่คุณลบในขั้นตอนที่ 3)
    6. p - พิมพ์ข้อมูลพาร์ทิชันปัจจุบันของคุณ (อีกครั้งสำหรับการอ้างอิงเปรียบเทียบกับสิ่งที่คุณเริ่มต้นด้วย!)
    7. w - บันทึกการเปลี่ยนแปลงของคุณลงในดิสก์ (คุณแน่ใจหรือไม่!)
  2. pvresize / dev / sda3 - คุณอาจต้องรีบูตก่อนที่จะทำสิ่งนี้ดังนั้นระบบปฏิบัติการของคุณจะรู้จักขนาดพาร์ติชั่นใหม่
  3. pvdisplay - พิมพ์ข้อมูลปัจจุบันของคุณ (ควรแสดงให้เห็นว่าใช้พื้นที่เต็มแล้ว!)
  4. lvresize -l + 100% ฟรี / dev / mms / root - ปรับขนาด LVM ของฉันเพื่อครอบครอง 100% ของพื้นที่ที่เพิ่งค้นพบของฉัน
  5. e2fsck -f / dev / mms / root - ทำการตรวจสอบความสมบูรณ์
  6. resize2fs -p / dev / mms / root - ปรับขนาดระบบไฟล์เพื่อครอบครอง LVM แบบเต็มของคุณ

หลังจากทำตามขั้นตอนข้างต้นแล้วรีสตาร์ทระบบปฏิบัติการที่ปรับขนาดแล้วทุกอย่างทำงานได้ตามที่คาดไว้และฉันมีพื้นที่ว่างเพิ่มเติมตามที่ฉันต้องการ!

การอ้างอิงเพิ่มเติมที่ฉันเคยคิดออกทั้งหมด:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html


1

ดูคำตอบที่เกี่ยวข้องที่นี่

(ละคร)

การปรับขนาดฟิสิคัล:

pvresize --verbose --test /dev/md0

การปรับขนาดโลจิคัลวอลุ่ม:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

และสุดท้ายปรับขนาด ext3 FS:

resize2fs /dev/VG1/LV1

เมื่อฉันทำ lvresize ฉันได้รับข้อผิดพลาด "ไม่สามารถระงับการรูท"
12259

ฉันพยายาม: "sudo lvresize --verbose -L 40G / dev / ubuntu / root"
user12259

ตกลงฉันแก้ไขด้วย "sudo modprobe dm-mod" ตอนนี้ฉันสามารถ lvresize สำเร็จแล้ว
user12259

fdisk -lแสดงให้เห็นว่าฉันมี 54GB ใช้ได้ แต่หลังจากทำงานpvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootฉันได้รับข้อผิดพลาด "พื้นที่ว่างไม่เพียงพอ: ต้องใช้ 588 ครั้ง แต่มีเพียง 0 รายการเท่านั้น" pvdisplayแสดงปริมาณทางกายภาพของฉันไม่ได้ปรับขนาด
Cerin

คุณควรถามคำถามใหม่จริงๆ ความคิดเห็นของคำถามเก่าไม่ใช่วิธีที่ดีที่สุดในการรับความช่วยเหลือ
Zoredache

1

โปรดทราบว่าคุณไม่จำเป็นต้องใช้เครื่องมือโคลนอย่าง CloneZilla ที่นี่คุณสามารถใส่พาร์ติชันไว้ในดิสก์เสมือนใหม่ (ตัวเลือก) จากนั้นเริ่มต้น (หรือดิสก์ตัวเองเสมือน) ลงใน LVM โดยใช้pvcreateคำสั่ง จากนั้นใช้vgextendเพื่อเพิ่มไปยังกลุ่มวอลุ่มที่สนับสนุนโลจิคัลวอลุ่มของคุณจากนั้นใช้vgreduceเพื่อลบดิสก์เสมือนดั้งเดิมออกจากกลุ่มวอลุ่ม นี่จะทำการโอนย้ายข้อมูลและสามารถดำเนินการได้ในขณะที่ใช้งานโลจิคัลวอลุ่มนี่คือความงามของการจัดเก็บข้อมูลเสมือนจริง เมื่อเสร็จแล้วคุณต้องขยายโลจิคัลวอลุ่มดังกล่าวข้างต้นซึ่งสามารถทำได้โดยใช้ระบบไฟล์ที่ทันสมัยกว่า ext3


1

I. ถ้า HDD เสมือนของคุณมีขนาดคงที่คุณจะไม่สามารถทำให้ใหญ่ขึ้นได้ ในกรณีนี้คุณต้องทำการโคลนก่อน

(1) โคลน HDD บน VB GUI: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

หรือบนบรรทัดคำสั่ง:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) เพิ่ม HDD ใหม่ลงในรายการ HDD ที่รู้จัก

(3) ในการตั้งค่าเครื่อง VB ให้นำ HDD เก่าออกจากรายการ VDI ภายใต้คอนโทรลเลอร์และเพิ่มใหม่บนแทน

ครั้งที่สอง ปรับขนาด HDD

(1) ปรับขนาด HDD ใหม่

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

คุณได้รับกุญแจพร้อมVBoxManage list hddsคำสั่ง

สาม. เพิ่มพื้นที่ที่จัดสรรใหม่

(1) เพิ่มISO GPartedเป็นสื่อใหม่ภายใต้Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...และเลือกLive CD/DVDช่องทำเครื่องหมาย

(2) เริ่มต้น VM และเพิ่มพื้นที่ว่างที่ไม่ได้จัดสรรให้กับพาร์ติชันงานของคุณ

(3) หยุด VM

(4) ถอด ISO GParted

สนุก! :)


0

ตรวจสอบคำตอบของคำถามข้อผิดพลาดอื่น ๆ ของเซิร์ฟเวอร์นี้คุณจะเพิ่มพื้นที่ดิสก์แขกของ KVM ได้อย่างไร . เทคนิคที่ใช้เพิ่มพาร์ติชั่น LVM ในแขกของ KVM นี้คล้ายกับสิ่งที่คุณพยายามจะทำ


0

เมื่อปรับขนาดพาร์ติชัน LV2 การอ้างอิงนี้ช่วยฉันได้มาก:

http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

โปรดสังเกตว่าคุณไม่จำเป็นต้องใช้ซีดีสดใด ๆ คุณสามารถปรับขนาดบนระบบที่ติดตั้งอยู่และปรับขนาดได้ทันที

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