VirtualBox: Festplatte vergrößern

Mit der Zeit werden die Festplatten immer voller und voller und irgendwann ist Schluß. Spätestens dann ist der Zeitpunkt gekommen neue Platten zu mounten oder die Platte zu vergrößern.

Nach dem Umstieg von VMware zu VirtualBox liegt die Platte im Format VDMK vor, da die virtuelle Festplatte mit dem OFV-Tool konvertiert und importiert wurde. VMDK ist das Format von VMware, also muß es zuerst ins VirtualBox-Format umgewandelt werden, d. h. von VMDK nach VDI konvertiert werden. Erst dann kann die Größe geändert werden.

VMDK zu VDI konvertieren

Dies geschieht mit dem Tool VBoxManage.exe, welches sich in C:\Programme\Oracle\VirtualBox befindet. Am besten einen Pfad dort hin setzen, falls noch nicht geschehen.

Achtung: Die virtuelle Maschine muß ausgeschaltet sein und darf keine Snapshots enthalten! Ansonsten können unverhergesehene Dinge passieren, die im schlimmsten Fall zum vollständigen Datenverlust führen können. Eine Sicherungskopie kann nie schaden!

Natürlich wird bei der Konvertierung die UUID der Platte mitgeklont, sodaß man sie zunächst im VirtualBox Manager nicht öffen kann, da bereits vorhanden.

Es kommt zur Fehlermeldung “Callee RC: VBOX_E_OBJCT_NOT_FOUND (0x80BB0001)”

Virtuelle Festplatte klonen

vboxmanage clonehd --format VDI www-disk1.vmdk www.vdi

Neue UUID zuweisen

vboxmanage internalcommands sethduuid www.vdi

Virtuelle Festplatte vergrößern

vboxmanage modifyhd www.vdi --resize 40960

Obiges Beispiel vergrößert die Festplatte auf 40 GB. In unserem Beispiel hatte die Festplatte vorher eine Kapazität von 20 GB.

Partition vergrößern (Windows)

Da bei Windows die Partition im laufenden Betrieb nicht vergrößert werden kann, muß man von einem Live-System booten und von dort einen Partitionseditor aufrufen. Am einfachsten geschieht das mit dem GParted-Livesystem.

Download hier: gparted.org

Nachdem das ISO herausgeladen ist, einlegen und die virtuelle Maschine hochfahren. Zuvor natürlich auch die neue Festplatte einlegen!

Das Livesystem booten und mit GParted die Partition vergrößern, Neustart, fertig.

LVM vergrößern (Linux)

Bei einem LVM (Logical Volume Manager) wird die Partition im laufenden Betrieb vergrößert.

Neue Partition anlegen

fdisk -l /dev/sda
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d858819

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 41940991 40939522 19.5G 5 Extended
/dev/sda5 1001472 41940991 40939520 19.5G 8e Linux LVM

Wir sehen, daß jetzt 20 GB unpartionierter Platz auf der virtuellen Festplatte frei ist.

Wir legen eine neue Partition mit Dateisystem Linux LVM an

fdisk /dev/sda
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): F
Unpartitioned space /dev/sda: 20 GiB, 21475885056 bytes, 41945088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Start End Sectors Size
41940992 83886079 41945088 20G

Command (m for help): n
Partition type
 p primary (1 primary, 1 extended, 2 free)
 l logical (numbered from 5)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (999424-83886079, default 999424): 41940992
Last sector, +sectors or +size{K,M,G,T,P} (41940992-83886079, default 83886079): 83886079

Created a new partition 3 of type 'Linux' and of size 20 GiB.

Command (m for help): t
Partition number (1-3,5, default 5): 3
Partition type (type L to list all types): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
partprobe

Die neue Partition ist jetzt angelegt, zur Überprüfung ein

fdisk -l /dev/sda
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d858819

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 41940991 40939522 19.5G 5 Extended
/dev/sda3 41940992 83886079 41945088 20G 8e Linux LVM
/dev/sda5 1001472 41940991 40939520 19.5G 8e Linux LVM

Partition table entries are not in disk order.

Neu ist jetzt /dev/sda3 mit 20 GB Linux LVM. (Die Fehlermeldung von der disk order stört uns nicht).

Physical Volume deklarieren

pvcreate /dev/sda3
 Physical volume "/dev/sda3" successfully created

Volume Group ermitteln

vgscan
 Reading all physical volumes. This may take a while...
 Found volume group "www-vg" using metadata type lvm2

Volume Group um neu angelegte Partition erweitern

vgextend www-vg /dev/sda3
 Volume group "www-vg" successfully extended

Pfad der Volume Group ermitteln

lvscan
 ACTIVE '/dev/www-vg/root' [18.52 GiB] inherit
 ACTIVE '/dev/www-vg/swap_1' [1.00 GiB] inherit

Logical Volume erweitern

lvextend -l +100%FREE /dev/www-vg/root
 Size of logical volume www-vg/root changed from 18.52 GiB (4741 extents) to 38.52 GiB (9861 extents).
 Logical volume root successfully resized.

Dateisystem vergrößern

resize2fs /dev/www-vg/root
Filesystem at /dev/www-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/www-vg/root is now 10097664 (4k) blocks long.

Fertig!

df -h | grep root
/dev/mapper/www--vg-root 38G 14G 23G 39% /

Die Festplatte ist nun um 20 GB vergrößert und betriebsbereit – und das ohne Neustart im laufenden Betrieb.

Weitere Befehle zu LVM

Physical Volumes

pvs
pvdisplay

Volume Groups

vgs
vgdisplay

Logical Volumes

lvs
lvdisplay