จะลดขนาดของอิมเมจดิสก์เครื่องเสมือนของ KVM ได้อย่างไร


11

คุณจะลดหรือลดขนาดของดิสก์เครื่องเสมือนของ KVM ได้อย่างไร

ฉันจัดสรรดิสก์เสมือน 500GB (เก็บไว้ที่ /var/lib/libvirt/images/vm1.img) และฉันพบว่า overkill นั้นดังนั้นตอนนี้ฉันต้องการเพิ่มพื้นที่ว่างบางส่วนเพื่อใช้กับ virtual อื่น ๆ เครื่อง ดูเหมือนจะมีคำตอบมากมายเกี่ยวกับวิธีเพิ่มที่เก็บข้อมูลภาพ แต่ไม่ลดลง ฉันพบเครื่องมือvirt-resizeแต่ดูเหมือนว่าจะทำงานกับพาร์ติชันดิสก์ดิบเท่านั้นไม่ใช่ดิสก์อิมเมจ

แก้ไข: ฉันใช้ LVM กับพาร์ติชันที่จัดรูปแบบ Ext4

แก้ไข: ภาพหน้าจอ GParted ที่แสดงเลย์เอาท์พาร์ติชั่น LVM ของฉัน ฉันต้องทำมากขึ้นแล้วเพียงแค่ปรับขนาดระบบไฟล์ ฉันรู้ว่าไม่มีวิธีที่ปลอดภัยในการปรับขนาด LVM pvresizeและโปรดอย่าบอกฉันที่จะใช้ แม้จะมีชื่อ แต่ไม่รองรับการปรับขนาด LVM

ภาพหน้าจอ GParted

ฉันลองsudo pvresize /dev/vda5แล้ว แต่แค่พูดphysical volume "/dev/vda5" changedแต่ก็ไม่ลดขนาดจริง

ฉันพยายามเริ่มpartedตั้งขนาดพาร์ติชันด้วยตนเอง (อันตรายมาก) แต่การทำprint allเพียงแค่ให้ฉันข้อผิดพลาด "/ dev / sr0 ป้ายดิสก์ที่ไม่รู้จัก"

แก้ไข: การทำตามคำแนะนำเหล่านี้ทำให้ฉันสามารถลดขนาดทั้งตรรกะและฟิสิคัลวอลุ่มของฉันได้สำเร็จ (แม้ว่าฉันต้องจำไว้ว่าให้เปิดใช้งานและปิดใช้งาน lvm ก่อนและหลังคำสั่งบางคำสั่ง

ตอนนี้ GParted กำลังแสดงพื้นที่ว่างที่ไม่ได้จัดสรร 250G ฉันจะลบสิ่งนี้ออกจากอิมเมจของดิสก์ KVM และส่งกลับไปยังไฮเปอร์ไวเซอร์ต้นแบบได้อย่างไร


คุณต้องการลดขนาดดิสก์เสมือนจริงหรือจะบีบอัดให้เพียงพอหรือไม่ qemu-img -O qcow2 vm1.img vm1-compact.qcow2คุณสามารถทำหลังกับสิ่งที่ต้องการ
Ansgar Wiechers

@ AnsgarWiechers ใช่ฉันยังต้องใช้ดิสก์และฉันได้จัดสรรพื้นที่มากกว่าที่ฉันต้องการ
Cerin

คำตอบ:


10

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

หลังจากผ่านไปนานหลายชั่วโมงของ Googling ในที่สุดฉันก็พบคำแนะนำ ( ลิงก์ redacted ) ซึ่งให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการย่อขนาดระบบไฟล์โลจิคัลวอลุ่มและฟิสิคัลวอลุ่มของฉัน เคล็ดลับที่ผู้ชี้แนะส่วนใหญ่คิดถึงคือความจำเป็นที่จะต้องลบฟิสิคัลพาร์ติชันและสร้างขนาดที่ถูกต้องเนื่องจากพาร์ติชันไม่สามารถปรับขนาดพาร์ทิชัน lvm ได้

จากนั้นฉันได้พบเอกสารนี้ใน qemu-img ซึ่งจะอธิบายวิธีย่อขนาดอิมเมจดิสก์ในรูปแบบดิบโดยรัน:

sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G

qemu-img เป็นเครื่องมือที่ยอดเยี่ยมในการทำงานกับดิสก์อิมเมจสำหรับ kvm 3 ปีต่อมาดูเหมือนว่าลิงก์ของคุณจะเสียนี่หน้าคู่มือจาก die.net linux.die.net/man/1/qemu-img
Louis Loudog Trottier

และถ้าใครต้องการความสะดวกสบายนี้และติดอยู่กับ (. ไม่ต้องการ) VM .qcow2, แปลงมันก่อนqemu-img convert -f qcow2 -O raw image.qcow2 image.imgแล้วคุณสามารถเรียกใช้คำสั่งดังกล่าวข้างต้น
oemb1905

4

สิ่งที่คุณต้องทำ

  • ทำการสำรองข้อมูล
  • ย่อขนาดระบบไฟล์ * อย่าทำสิ่งนี้บนระบบจริงฉันแนะนำให้ใช้ซีดีสด
  • สร้างภาพดิสก์ใหม่ตามขนาดที่ต้องการ
  • เรียกใช้ระบบปฏิบัติการสดโดยมีรูปภาพใหม่และเก่าแนบเป็น (เสมือน) ฮาร์ดดิสก์ (ไม่ได้เมานต์)
  • สร้างพาร์ติชันใหม่ที่มีขนาดเดียวกันกับพาร์ติชันที่ปรับขนาดแล้วบนดิสก์เก่า
  • ใช้ dd เพื่อทำมิเรอร์ข้อมูลไปยังพาร์ติชันใหม่
  • คุณอาจจำเป็นต้องกำจัด / สร้างด้วงใหม่ (2) เพื่อบูตให้สำเร็จ

สิ่งนี้สามารถทำได้ผ่านทั้ง GUI และ CLI

ทรัพยากร

เครื่องมือ

  • gparted (ลิงก์ถูกข้ามเนื่องจากสแปมมีตัวแทนไม่เพียงพอ)

ส่วนที่ยากคือ "ลดขนาดระบบไฟล์" ฉันใช้ LVM ซึ่งไม่มีเครื่องมือใดที่ฉันพบว่ารองรับการปรับขนาด ไม่แม้แต่ GParted Live CD
Cerin

ฉันคิดว่ามันครอบคลุมมันฉันไม่ได้ใช้มันโปรดรายงานtcpdump.com/kb/os/linux/lvm-resizing-guide/shrink.html
daxroc

มี 2 ​​ประเด็นหลักที่ควรสังเกต: 1) ทำสิ่งต่าง ๆ ตามลำดับ (ขั้นแรกลดขนาดระบบไฟล์จากนั้นลดขนาดพาร์ติชั่นแล้วลดขนาดดิสก์) 2) ขั้นตอน / เครื่องมือสำหรับปรับขนาดระบบไฟล์ขึ้นอยู่กับระบบไฟล์จริง (ซึ่ง OP เลือกที่จะไม่เปิดเผย) บทความ @daxroc ที่โพสต์จะไม่ทำงานกับระบบไฟล์อื่น ๆ นอกเหนือจาก [234]
Ansgar Wiechers

@daxroc ฉันต้องลดทั้งปริมาณและลอจิคัล ลิงก์ของคุณครอบคลุมเฉพาะการลดปริมาณตรรกะ
Cerin

ตกลง สำรองข้อมูล, ดิสก์ใหม่, การกู้คืนนั้นปลอดภัยและง่ายที่สุด
dyasny

0

มันใช้งานได้ดีจริงๆสำหรับฉัน มันบีบอัดและลดขนาด 0 บล็อกในภาพดิสก์ รูปภาพจะขยายเมื่อเวลาผ่านไปตามที่เขียนทับไปอีกครั้ง

qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2

-4

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

มี 3 สิ่งที่คุณต้องทำ:

1) ทำให้ดิสก์อิมเมจใหญ่ขึ้น ในโฮสต์ของคุณ:

qemu-img ปรับขนาด foo.qcow2 + 32G

ตอนนี้แขกของคุณสามารถเห็นดิสก์ที่ใหญ่กว่า แต่ยังมีพาร์ทิชันและระบบไฟล์เก่า

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

http://www.howtoforge.com/linux_resizing_ext3_partitions_p2

หรือ 2b) การสร้างพาร์ติชันใหม่นั้นจะง่ายกว่า (และปลอดภัยกว่า) หากคุณต้องการพื้นที่เก็บข้อมูลเพิ่มขึ้น ใช้ fdisk หรือ cfdisk หรืออะไรก็ตามที่คุณรู้สึกสบายใจ - คุณควรเห็นพื้นที่ทั้งหมดที่ไม่ได้ถูกจัดสรรบนดิสก์แขกของคุณตอนนี้

3) ท้ายที่สุดถ้าคุณปรับขนาดพาร์ติชั่นที่มีอยู่ให้สร้างระบบไฟล์ในพาร์ติชั่นที่ใหญ่กว่าใหม่ให้ใหญ่ขึ้น ภายในแขกของคุณ:


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