Nicht nur VMs mit Windows Gast-OS laufen voll, auch Linux-VM passiert das gelegentlich.
Zunächst muß man den VMDK Disk-Container auf die gewünschte Größe vergrößern. Dazu muß die VM ausgeschaltet werden. Über Einstellungen > Hardware > Harddisk kann man auf der rechten Seite die Größe der Disk erhöhen. Ggf. geht es auch im aktiven Zustand. Dazu müssen aber die Tools installiert sein. Sicherer ist die “kalte” Methode 😉
Jetzt können wir die VM starten. An der “inneren” nutzbaren Größe hat sich noch nichts geändert. Wir benötigen jetzt eine Shell für weitere Arbeitsschritte. mit dem df Kommando sehen wir die aktuelle Belegung unserer Harddisk Devices.
df -k
Wir gehen im Bespiel davon aus, daß wir eine Partition auf sda erstellen müssen. Mit folgendem Befehl erhalten wir eine Liste aller Partitionen.
TEST:/# ls -la /dev/sda* brw-rw---- 1 root disk 8, 0 5. Mai 12:00 /dev/sda brw-rw---- 1 root disk 8, 1 5. Mai 12:00 /dev/sda1 brw-rw---- 1 root disk 8, 2 5. Mai 12:00 /dev/sda2
Die letzte Partition in der Liste ist sda2, daher müssen wir nun sda3 generieren.
fdisk /dev/sda
Mit p können wir die Partitionstabelle anzeigen lassen.
Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 heads, 63 sectors/track, 15665 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0008a272 Device Boot Start End Blocks Id System /dev/sda1 * 1 31 248976 83 Linux /dev/sda2 32 13054 104607247+ 8e Linux LVM
Falls kein freier Speicherplatz zu sehen sein sollte, kann man die SCSI devices neu einlesen.
echo '1' > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
Eingabe von n für neue Partition und p für primary und 3 für Partition Nummer 3. Wir übernehmen die Defaultwerte (first, last cylinder), schreiben mit w das Ergebnis auf die Disk.
The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks.
fdisk wird dabei beendet und wir werden aufgefordert das System (die VM) neu zu starten. Kurze Erfolgskontrolle der vorherigen Aktion:
TEST:/# ls -la /dev/sda* brw-rw---- 1 root disk 8, 0 5. Mai 14:13 /dev/sda brw-rw---- 1 root disk 8, 1 5. Mai 14:13 /dev/sda1 brw-rw---- 1 root disk 8, 2 5. Mai 14:13 /dev/sda2 brw-rw---- 1 root disk 8, 3 5. Mai 14:13 /dev/sda3
Wenn alles richtig gelaufen ist, dann sehen wir jetzt sda3 in der Liste. Jetzt gehts mit dem LVM weiter. Wir erstellen ein physisches Volume und fügen es der Volume-Gruppe hinzu. Zunächst prüfen wir den Namen der Volumegruppe:
vgdisplay
Diesen Namen brauchen wir für die weiteren Kommandos. In diesem Beispiel ist der Name VolGroup00.
TEST:/# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created TEST:/# vgextend VolGroup00 /dev/sda3 Volume group "VolGroup00" successfully extended
Wir überprüfen die Volumegruppe mit vgdisplay.
TEST:/# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 119,76 GB PE Size 4,00 MB Total PE 30658 Alloc PE / Size 25538 / 99,76 GB Free PE / Size 5120 / 20,00 GB VG UUID Z2Mk90-3Tz9-ibqr-yi2C-ChZW-AUR8-U307tw
Wir sehen, daß dort 20 GB frei sind, die wir dem logischen Volume zuordnen können. Wir müssen zunächst noch den Namen unseres logischen Volumes checken.
lvdisplay
In Unserem Fall heißt es LV1.
TEST:/# lvextend -L +20G /dev/VolGroup00/LV1 Extending logical volume LV1 to 116,88 GB Logical volume root successfully resized
Nun muß das Filesystem in LV1 mit resize2fs vergrößert werden.
TEST:/# resize2fs /dev/VolGroup00/LV1 resize2fs 1.41.3 (12-Oct-2008) Das Dateisystem auf /dev/VolGroup00/LV1 ist auf / eingehängt; Online-Grössenveränderung nötig old desc_blocks = 7, new_desc_blocks = 8 Führe eine Online-Grössenänderung von /dev/VolGroup00/LV1 auf 30640128 (4k) Blöcke durch. Das Dateisystem auf /dev/VolGroup00/LV1 ist nun 30640128 Blöcke groß.
Wir können das Ergebnis überprüfen
df -k
Auch wenn es etwas aufwändiger erscheint, so ist die Methode doch schnell durchgeführt.