QEMU disk görüntüsünü yeniden boyutlandırmak mümkün mü?


12

Başlığın dediği gibi: Linux'ta bir QEMU disk görüntüsünü yeniden boyutlandırmak mümkün mü? Ve eğer öyleyse, içindeki bölümlere ne olur? Otomatik olarak da yeniden boyutlandırılıyor mu (şüpheli) mi yoksa onları takip eden yeni bir kullanılmayan alan bloğu var mı?

Yanıtlar:


12

Gönderen burada :

!!! Aşağıdakileri denemeden önce disk imajınızı yedekleyin !!!

Seyrek bir ham görüntü kullanıyorsanız,

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

Burada hdd.img, yeniden boyutlandırmak istediğiniz ham biçimli görüntüdür ve N, görüntünün megabayt olarak olmasını istediğiniz yeni boyuttur. N birimlerini değiştirmek için, gigabayt (1000x1000x1000) birimler için 1 GB gibi başka bir şeyle değiştirin.

Ham bir görüntüyü yeniden boyutlandırmak istiyorsanız, ancak seyrek olmasını istemiyorsanız (aslında dosyadaki sıfırları istiyorsanız) "dd = = dev / sıfır = image seek = S sayısı = NS obs = 1" bunun yerine, N yeni boyut ve S eski boyuttur (bayt cinsinden).

Bir qcow2 görüntüsünü yeniden boyutlandırmak istiyorsanız, bu henüz desteklenmemektedir.

bu e-postada, bir hex düzenleyici ile qcow görüntülerini yeniden boyutlandırma denemeleri gösterilmektedir.

Diğer biçimlerdeki görüntüleri (VMware, Bochs, cow veya cloop) yeniden boyutlandırma veya büyütme bilgim dahilinde desteklenmez.

Windows ana bilgisayarında, 'kopyala' komutunu kullanarak ham format disk görüntüsünü yeniden boyutlandırmak mümkündür. Gerekirse mevcut görüntünüzü ham formata dönüştürmek için qemu-img kullanabilirsiniz. Mevcut ham format disk görüntünüzün sonuna eklenecek geçici bir ham format disk görüntüsü kullanacağız. Bu geçici görüntünün boyutu, var olan görüntünün genişleyeceği boyuttur:

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

Daha sonra aşağıdaki komutu vermelisiniz - orig.img, daha büyük yapmak istediğiniz mevcut ham biçim resminizdir, temp.img daha önce oluşturulan geçici resim dosyasıdır ve new.img, yeniden boyutlandırılan sonuç resmidir:

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

Daha sonra yeni görüntüdeki mevcut bölümleri ve dosya sistemlerini bölümlere ayırmanız ve yeniden boyutlandırmanız gerekir. Bunu yapmanın bir yöntemi, QEMU'da gparted livecd iso ve yeni disk görüntüsü ile önyükleme yapmaktır.


Yukarıdakilerin işe yarayıp yaramadığını kontrol etmek isteyebileceğiniz diğer bağlantılar:

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 / arşiv / 174


17

Bir qcow2 görüntüsü, qemu'nun yeni / güncel bir sürümüyle büyümek için yeniden boyutlandırılabilir. Örneğin, bir arch.qcow2 thats 2G var ve ben 50G olmasını istiyorum, bu durumda ben yazın:

qemu-img resize arch.qcow2 50G

o zaman qemu bana şunu söyler:

image resized

bu, bunu bugün yaptım. redhat aslında qemu üzerinde bazı güzel dokümanlar var:


3
Ancak, artan alan ayrılmamış olacaktır. Bazı disk bölümleme aracını kullanarak sanal diskinizi yeniden boyutlandırmanız gerekir.
Yamaneko

Mükemmel, çözüm!
RckLN

qemu-img sürüm 1.0 söylüyorqemu-img: This image format does not support resize
HDave

5

2017 için kısa cevap: Mevcut bir ham görüntüye örneğin 30 GB eklemek için şu komutu kullandım:

qemu-img resize nameofimg.img +30G

Bu, mevcut resim dosyanıza 30 GB ekler (yeni bir dosya oluşturmanıza gerek yoktur). Daha sonra konuk VM'nizde mevcut bölümlerinizi Windows 10'da, örneğin "Disk Yönetimi" ile genişletebilirsiniz.

Daha fazla bilgi ve seçenekler:

man qemu-img

Ayrıca bakınız: qemu wiki> qemu-img


1

Evet yapabilirsin. Ve hayır bölümleri veya tabloyu değiştirmeyecek. Disk bölümleme tablosunun tam disk boyutuna sahip olması için güncellenmesi gerekebilir ve büyüttüğünüzde sonunda boş, kullanılmayan alan olur ve bir bölümü keser ve küçültürseniz onu veya verilerinin son bölümünü kaybedersiniz .

Qemu monitöründeyseniz (veya muhtemelen QMP kullanıyorsanız ) ve arayüz destekliyorsa (burada test ettiğim rbd ile virtio-scsi-pci gibi), VM'yi yeniden başlatmadan bunu yapabilirsiniz:

(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

Ve puf, görüntü MiB'de belirttiğiniz boyuta yeniden boyutlandırılır ve VM yeni boyutu gösterir.

Qemu 2.7.0'da aşağıdakileri test ettim:

  • Ceph'den RBD - çalışır, hızlı, büyür veya küçülür
  • qcow2 disk dosyası - daha yavaş çalışır, yalnızca büyür
  • ham disk dosyası - çalışır, hızlı, büyür veya küçülür
  • ham LVM disk - monitörde normal görünüyor ancak etkisi yok

Aşağıdaki tabloyu takdir edin. Süper yardımcı oldu.
cloaked1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.