KVM RAW Image erweitern
Ich musste heute ein KVM RAW Image vergrößern und das kann man wie folgt machen:
1. qemu-img resize
Man kann das qemu eigene Tool qemu-img benutzen um ein Image zu resizen:
1 |
qemu-img resize image.img +50G |
In meinem Fall lief die virtuelle Maschine noch auf Lucid, wo es die Option resize in qemu-img noch nicht gibt. Also kam das nicht in Frage für mich.
2. Zusätzliches leeres Image erzeugen und dieses dann mit dem bestehenden zusammenführen
Dazu legt man mit dem Tool qemu-img ein neues Image an
1 |
qemu-img create -f raw additionalspace.img 50G |
Nun führt man die beiden Files zusammen
1 |
cat image.img additionalspace.img > image_new.img |
Auch dies war in meinem Fall nicht möglich, da die Maschine zu wenig Speicherplatz dafür hatte.
3. Das Image mit dd vergrößern
1 |
dd if=/dev/zero of=image.img bs=1G count=50 oflag=append conv=notrunc |
Diese Option fand bei mir Anwendung und hat wunderbar funktioniert.
4. Das Image mittels cat vergrößern
Dies ist im Grund genau die Version wie vorher, nur ein paar Schritte mehr
1 2 |
dd if=/dev/zero of=additionalspace.img bs=1G count=50G cat additionalspace.img >> image.img |
Statt dd kann man hier natürlich auch qemu-img create nutzen um ein leeres Imagefile zu erstellen.
Bevor man dies tut sollte man natürlich vorher ein Backup des Images anlegen und anschließend ist es nötig natürlich noch das Filesystem zu vergrößern.
Meinen Dank gebührt meinem Kollegen Dennis, da ich heute Abend irgendwie zu fertig war um auf die letzten beiden Optionen zu kommen. Stattdessen fing ich an, das, in meinem Fall nicht kleine Image, auf ein System mit aktuellerer qemu Version zu kopieren um es da mit Variante 1 zu vergrößern und es anschließend wieder zurück zu kopieren. Das hätte (und hat bereits) Stunden in Anspruch genommen… Ich kannte auch die oflag Option von dd noch gar nicht.