Ganz kurz: KVM & Images

Diesen Beitrag schrieb ich 14 Jahre und 2 Wochen zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Und noch ein Notiz-Schnipsel aus der Sammlung – vielleicht könnt auch ihr etwas damit anfangen, ich bin oftmals sehr glücklich über Notizen dieser Art ;-)

Problemstellung

Die VM basiert auf einem qcow-File – diese lassen sich jedoch nicht ins Filesystem mounten.

$ file myfile.qcow 
myfile.qcow: Qemu Image, Format: Qcow , Version: 2

Eine mögliche Lösung

Man kann die Umwandlung von qcow ins RAW-Format anstoßen:

$ qemu-img convert myfile.qcow -O raw myfile.raw

Zur Sicherheit vergewissern: ja, das resultierende File ist nun RAW:

$ file myfile.raw
myfile.raw: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 32, 7998048 sectors; partition 2: ID=0x82, starthead 3, startsector 7998080, 2000000 sectors

Um das File mounten zu können, benötigen wir dessen Offset:

$ parted myfile.raw unit B print
Model:  (file)
Disk /path/to/myfile.raw: 5368709120B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start        End          Size         Type     File system  Flags
 1      16384B       4095016959B  4095000576B  primary  ext3              
 2      4095016960B  5119016959B  1024000000B  primary  linux-swap

Und mit dieser Angabe – im Beispiel ist es 16384B – kann das Image nun erfolgreich gemountet werden:

$ mount myfile.raw /mnt -o loop,offset=16384B -t ext3

Nachdem die gewünschten Änderungen vorgenommen wurden das umount nicht vergessen!

$ umount /mnt

Image vergößern

In dem Zuge kann das Image auch vergrößert werden. Beispiel: Image um 4GB vergrößern, dazu erstmal „genulltes“ 4GB-RAW-File anlegen:

$ dd if=/dev/zero of=zeros.raw bs=1024k count=4096

Dann diese 4GB an das eigentliche Image ankleben:

$ cat zero.raw >> myfile.raw

Wenn erforderlich, kann das Image nun wieder nach qcow zurückgewandelt werden:

$ qemu-img convert myfile.raw -O qcow myfile-growed.qcow

Und fertig – genial, oder?

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 1500x 1000px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „Ganz kurz: KVM & Images“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.