เป็นไปได้หรือไม่ที่จะปรับขนาดดิสก์อิมเมจ QEMU


12

เช่นเดียวกับชื่อกล่าวว่า: เป็นไปได้ที่จะปรับขนาดดิสก์อิมเมจ QEMU ใน Linux หรือไม่? และถ้าเป็นเช่นนั้นจะเกิดอะไรขึ้นกับพาร์ติชั่นที่อยู่ภายใน? พวกเขาปรับขนาดโดยอัตโนมัติ (สงสัย) หรือมีเพียงบล็อกใหม่ของพื้นที่ที่ไม่ได้ใช้ติดตามพวกเขา?

คำตอบ:


12

จากที่นี่ :

!!! สำรองดิสก์อิมเมจของคุณก่อนลองด้านล่าง !!!

หากคุณใช้ภาพที่กระจัดกระจายให้ทำ

dd if=/dev/zero of=hdd.img seek=N obs=1MB count=0"

โดยที่ hdd.img เป็นอิมเมจรูปแบบ raw ที่คุณต้องการปรับขนาดและ N คือขนาดใหม่ที่คุณต้องการให้ภาพเป็นเมกะไบต์ หากต้องการเปลี่ยนหน่วยของ N ให้เปลี่ยน obs เป็นอย่างอื่นเช่น 1GB สำหรับหน่วยเป็นกิกะไบต์ (1000x1000x1000)

หากคุณต้องการปรับขนาดภาพดิบ แต่คุณไม่ต้องการให้ภาพเบาบาง (คุณต้องการให้ศูนย์เหล่านั้นอยู่ในไฟล์) ให้ทำ "dd if = / dev / ศูนย์ของ = ภาพ = การค้นหา = S count = NS obs = 1" แทนโดยที่ N คือขนาดใหม่และ S คือขนาดเก่า (เป็นไบต์)

หากคุณต้องการปรับขนาดภาพ qcow2 นี่ยังไม่รองรับ

อีเมลนี้แสดงการทดลองบางอย่างด้วยการปรับขนาดภาพมอสโกด้วยโปรแกรมแก้ไขฐานสิบหก

การปรับขนาดหรือขยายรูปภาพในรูปแบบอื่น ๆ (VMware, Bochs, cow หรือ cloop) ไม่ได้รับการสนับสนุนอย่างเต็มที่จากความรู้ของฉัน

บนโฮสต์ Windows เป็นไปได้ที่จะปรับขนาดดิสก์อิมเมจรูปแบบดิบโดยใช้คำสั่ง 'คัดลอก' คุณสามารถใช้ qemu-img เพื่อแปลงภาพที่มีอยู่เป็นรูปแบบ raw หากต้องการ เราจะใช้อิมเมจดิสก์รูปแบบ raw ชั่วคราวที่จะผนวกเข้ากับอิมเมจดิสก์รูปแบบ raw ที่มีอยู่ของคุณ ขนาดของรูปภาพชั่วคราวนี้คือขนาดที่รูปภาพปัจจุบันจะถูกขยายโดย:

qemu-img create -f raw temp.img 300M

จากนั้นคุณควรออกคำสั่งด้านล่าง - orig.img เป็นรูปแบบภาพดิบที่คุณต้องการทำให้มีขนาดใหญ่ขึ้น temp.img เป็นไฟล์ภาพชั่วคราวที่สร้างขึ้นก่อนหน้านี้และ new.img เป็นภาพผลลัพธ์ที่ปรับขนาดแล้ว:

copy /b orig.img+temp.img new.img

จากนั้นคุณจะต้องแบ่งพาร์ติชันและปรับขนาดพาร์ติชันและระบบไฟล์ที่มีอยู่ในอิมเมจใหม่ วิธีการหนึ่งในการทำเช่นนี้คือการบูต gparted ใน QEMU ด้วย ispart gcded livecd iso และดิสก์อิมเมจใหม่


ลิงค์อื่น ๆ ที่คุณอาจต้องการตรวจสอบว่าข้างต้นไม่ทำงาน:

http://qemu-forum.ipi.fi/viewtopic.php?p=12362
http://kev.coolcavemen.com/2007/04/how-to-grow-any-qemu-system-image/
http: / /bryan-murdock.blogspot.com/2007/12/resize-qemukvm-windows-disk-image.html
http://www.larsen-b.com/Article/329.html
http://www.brabbel.net / WP / จดหมายเหตุ / 174


17

สามารถปรับขนาดรูปภาพ qcow2 ให้เติบโตด้วย qemu เวอร์ชันใหม่ / ปัจจุบัน ตัวอย่างเช่นฉันมี arch.qcow2 นั่นคือ 2G และฉันต้องการให้เป็น 50G ในกรณีนี้ฉันพิมพ์:

qemu-img resize arch.qcow2 50G

จากนั้น qemu บอกฉัน:

image resized

ฉันเพิ่งทำวันนี้ redhat มีเอกสารที่ดีอยู่บ้างใน qemu:


3
อย่างไรก็ตามพื้นที่ที่เพิ่มขึ้นจะไม่ถูกจัดสรร คุณจะต้องปรับขนาดดิสก์เสมือนของคุณโดยใช้เครื่องมือพาร์ติชัน
Yamaneko

เยี่ยมยอดแก้ปัญหา!
RckLN

qemu-img เวอร์ชั่น 1.0 บอกฉันqemu-img: This image format does not support resize
HDave

4

คำตอบสั้น ๆ สำหรับปี 2017: เพื่อเพิ่มเช่น 30 GB ให้กับภาพดิบที่มีอยู่ฉันเพิ่งใช้คำสั่งนี้:

qemu-img resize nameofimg.img +30G

เพิ่มขนาด 30 GB ลงในไฟล์ภาพที่มีอยู่ของคุณ (ไม่จำเป็นต้องสร้างไฟล์ใหม่) จากนั้นใน Guest VM ของคุณคุณสามารถขยายพาร์ติชันที่มีอยู่ของคุณใน Windows 10 เช่นด้วย "การจัดการดิสก์" ได้อย่างง่ายดาย

ข้อมูลเพิ่มเติมและตัวเลือก:

man qemu-img

ดูเพิ่มเติมที่: qemu wiki> qemu-img


1

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

หากคุณอยู่ในหน้าจอ qemu (หรืออาจใช้QMP ) และอินเทอร์เฟซรองรับ (เช่น virtio-scsi-pci กับ rbd ที่ฉันทดสอบที่นี่) จากนั้นโดยไม่ต้องรีบูตเครื่อง VM คุณสามารถทำได้:

(qemu) info block -v disk1
disk1 (#block165): rbd:rbd/manjaro (raw)
    Cache mode:       writeback

Images:
image: rbd:rbd/manjaro
file format: raw
virtual size: 4.0G (4294967296 bytes)
[...]

(qemu) block_resize disk1 5120

และกะเทยภาพที่ถูกปรับขนาดให้เป็นขนาดที่คุณระบุใน MiB และ VM จะแสดงขนาดใหม่

ฉันทดสอบต่อไปนี้ใน qemu 2.7.0:

  • RBD จาก Ceph - ทำงานเร็วเติบโตหรือลดขนาด
  • ไฟล์ดิสก์ qcow2 - ทำงานได้ช้าลงเพิ่มขึ้นเท่านั้น
  • ไฟล์ดิสก์ดิบ - ทำงานเร็วเติบโตหรือลดขนาด
  • raw LVM disk - ในมอนิเตอร์ดูเหมือนปกติ แต่ไม่มีผลกระทบ

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