Linux VM mit LVM erweitern

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.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert