Change we can believe in!

Ich habe habe eine ganze Weile lang VMWare Server benutzt, um Testumgebungen für Scalix und Zimbra Installationen zu haben. Nun hat VMWare den Sprung auf Version 2.0 gemacht und dabei einiges geändert. Die auffälligste Veränderung ist, dass vmware-server-console verschwunden ist. Stattdessen wird VMWare-Server jetzt über ein schnarchlangsames, umständliches Webinterface bedient, in dem auch jeweils die Konsole, also der direkte Blick auf die Bildschirmausgabe der VM, gestartet wird. Der Nervfaktor war so hoch, dass ich mich mal wieder an VirtualBox erinnert habe.

Inzwischen habe ich meine VMs alle auf VirtualBox umgestellt und bin bisher sehr angetan. Vor einigen Tagen ist einer meiner VMs der Platz ausgegangen, so daß sich spontan die Frage stellte “Wie vergrößere ich eigentlich eine VirtualBox-Disk?”. Die Antwort ist “Gar nicht”! Mit VMWare genügte ein vmware-vdiskmanager -x <new size> my-o-so-small-disk.vmdk

VirtualBox hat diese Möglichkeit als offenen Featurerequest geloggt. Bleibt also vorerst nur der Weg über eine zweite Disk, und zwar so:

  1. Im Virtual Disk Manager die alte Disk myDisk.vdi aus der VM, zu der sie gehört lösen und anschließend entfernen (aber nicht löschen, sondern nur freigeben)

  2. Die Datei myDisk.vdi umbenennen in myDisk-old.vdi und eine neue Disk in der gewünschten Größe erzeugen. Sobald beide Disks wieder im Virtual Device Manager registriert sind, beide in die VM einbinden.

  3. Die VM mit der GParted Live CD booten und den Inhalt der alten Disk auf die neue übertragen. Dazu in einem Terminal dd if=/dev/sdb of=/dev/sda ausführen. if (InputFile) ist die alte Disk, of (OutputFile) ist die neue Disk. Hierbei aufpassen, denn wenn man if und of verwechselt löscht man effektiv seine alte Disk. Anschließend hat man alle Partitionen der alten Disk auf der neuen und zusätzlich den freien Platz am Ende der Platte.

  4. Mit GParted die Partition nach hinten vergrößern und anschließend das darin enthaltene Dateisystem resizen. Seltsamerweise sorgt GParted nicht selber dafür die neue Partitionsstruktur dem Kernel bekanntzugeben, so daß ich immer noch partprobe aufrufen musste, bevor ich mit dem resizen weitermachen konnte.