Debian Linux LVM Partition während dem Betrieb unter VMWare vergrössern
Es soll Stimmen geben welche behaupten das es mit Linux nicht möglich ist, die Festplatte einer virtuellen Maschine während dem Betrieb zu vergrößern.
Das ist ... falsch!
Selbstverständlich geht das, wichtig ist nur das ein LVM darunter liegt, oder die Partition welche vergrößert werden soll die letzte auf der virtuellen Festplatte ist.
In dem Fall hier setzten wir einen VMWare ESXi 5.1 mit einem Debian Linux squeeze ein. Die Datenpartitionen liegen auf einem LVM2.
Wenn Ihr einem System begegnet welches von mir eingerichtet wurde, dann werdet Ihr feststellen das ich unter dem LVM PV nie eine Partition habe, sondern dieses immer direkt auf dem Device erstelle. Dies hat den Hintergrund dass ich im Falle eines Resize des Devices nicht eine extra Partition hinten anstückeln, oder erst die Partition vergrößern, sondern mich ausschließlich um das PV kümmern muss.
Als ersten vergrössern wir die Festplatte auf welcher unser LVM PV (Physical Device) liegt, in diesem Fall auf 350GB.
Damit unser Linux System etwas davon mitbekommt, müssen wir die Festplatte neu einlesen. Hierfür benötigen wir als ersten den Pfad der Disk, um diesen zu erfahren führen wir den folgenden Befehl aus:
root@ms-ms-01:/var# ls -la /dev/disk/by-path |grep sdb lrwxrwxrwx 1 root root 9 13. Mai 08:54 pci-0000:03:00.0-scsi-0:1:0:0 -> ../../sdb root@ms-ms-01:/var#
Der DevicePath in diesem Fall ist der 0:1:0:0, somit können wir diese in dem folgenden Befehl einbauen und ausführen.
root@ms-ms-01:/var# echo "1" > /sys/class/scsi_disk/0\:1\:0\:0/device/rescan root@ms-ms-01:/var#
Mit pvresize nun das Physical Device vergrössern
root@ms-ms-01:/var# pvresize /dev/sdb Physical volume "/dev/sdb" changed 1 physical volume(s) resized / 0 physical volume(s) not resized root@ms-ms-01:/var#
Und zur Sicherheit kurz prüfen ob der Platz in den PV nun wirklich zur Verfügung steht:
root@ms-ms-01:/var# pvdisplay --- Physical volume --- PV Name /dev/sdb VG Name vg01 PV Size 350,00 GiB / not usable 3,81 MiB Allocatable yes PE Size 4,00 MiB Total PE 89599 Free PE 12800 Allocated PE 76799 PV UUID mXURAd-ulTW-gUau-3Wfd-kU4T-Eu0O-6AWCZj root@ms-ms-01:/var#
Da wir durch die Vergrösserung des PV nun mehr Platz in der VG (Volume Group) haben, müssen wir nun noch das LV (Logical Volume) anpassen bevor es an das Dateisystem gehen kann.
root@ms-ms-01:/var# lvextend -l+100%FREE /dev/vg01/lv01 Extending logical volume lv01 to 350,00 GiB Logical volume lv01 successfully resized root@ms-ms-01:/var#
Da es sich in meinem Fall um ein ext3 Dateisystem handelt verwende ich für den Onlineresize resize2fs
root@ms-ms-01:/var# resize2fs /dev/mapper/vg01-lv01 resize2fs 1.41.12 (17-May-2010) Das Dateisystem auf /dev/mapper/vg01-lv01 ist auf /var eingehängt; Online-Grössenveränderung nötig old desc_blocks = 19, new_desc_blocks = 22 Führe eine Online-Grössenänderung von /dev/mapper/vg01-lv01 auf 91749376 (4k) Blöcke durch. Das Dateisystem auf /dev/mapper/vg01-lv01 ist nun 91749376 Blöcke groß. root@ms-ms-01:/var#
Das wars schon, ohne Neustart haben wir nun auf einem Debian Linux die Partiton für /var vergrössert. Dies sollte bei allen anderen Linux Systemen auch funktionieren. Wenn bei euch das PV Device auf einer Partition und nicht direkt auf der HDD liegt, müsst Ihr ggf. die Partition vorher vergössern, oder eine zusätzliche Partition anlegen welche Ihr das zum PV macht und in die VG aufnehmt.
root@ms-ms-01:/var# df -h Dateisystem Size Used Avail Use% Eingehängt auf /dev/sda1 19G 3,6G 15G 21% / tmpfs 4,0G 0 4,0G 0% /lib/init/rw udev 4,0G 104K 4,0G 1% /dev tmpfs 4,0G 0 4,0G 0% /dev/shm /dev/mapper/vg01-lv01 345G 292G 54G 85% /var root@ms-ms-01:/var#
Sollten Fragen aufkommen, kontaktiert uns einfach, wir stehen gerne zur Verfügung.