Linux: Filesysteme mit LVM online vergrössern

Problem

Unsere Ausgangslage ist ein Linux Server (hier: SLES10) mit LVM eingerichtet. Die Partitionstabelle schaut so aus:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/system-root
                       14G  4.1G  8.9G  32% /
udev                  377M  136K  376M   1% /dev
/dev/sda1              69M  9.6M   56M  15% /boot

Nun haben wir aber ein Platzproblem, die Platte laeuft langsam voll. Zum Glueck haben wir vorausgedacht: auf /dev/sda haben wir noch 5GB ungenutzten Speicherplatz. Diesen wollen wir nun ebenfalls / zuweisen.

Lösung

Hinweis: Auch wenn diese Anleitung mit einem SLES10-System erstellt wurde (sorry, da kann ich auch nix dafuer, die Distributionswahl ist nicht in meiner Entscheidungsgewalt :P ) sollte sie fuer die meisten Linux-Distributionen gueltig sein.

Dann mal los:

Freien Speicherplatz partitionieren
Zuerst muss der freie Speicherplatz als “Linux LVM” partitioniert werden. Die ID fuer diesen Partition Type ist 8e.

Wichtig: Anschliessend muss die Partitionstabelle neu eingelesen werden, sonst ist die neue Partition nicht sichtbar. Der Befehl dazu: partprobe

Physical Volume erstellen und in VG einbinden
Weiter gehts mit ein paar LVM-Befehlen: Zuerst muss in der neuen Partition (hier: /dev/sda5) ein sog. Physical Volume eingerichtet werden:

tteam01:~ # pvcreate /dev/sda5
  Physical volume "/dev/sda5" successfully created

Sodele, fast am Ziel.

Das bestehende Volume vergroessern
Dazu muss die neue Partition zuerst der VG zugewiesen werden.

tteam01:~ # vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  system   1   2   0 wz--n- 14.93G 28.00M
tteam01:~ #
tteam01:~ # vgextend -v system /dev/sda5
    Checking for volume group "system"
    Archiving volume group "system" metadata (seqno 3).
    Adding physical volume '/dev/sda5' to volume group 'system'
    Wiping cache of LVM-capable devices
    Volume group "system" will be extended by 1 new physical volumes
    Creating volume group backup "/etc/lvm/backup/system" (seqno 4).
  Volume group "system" successfully extended
tteam01:~ #
tteam01:~ # vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  system   2   2   0 wz--n- 19.92G 5.02G

Und nun muss noch das LV vergroessert werden. Wir vergroessern das LV hier einfach auf die maximale Groesse:

tteam01:~ # lvextend -v -l +100%FREE /dev/system/root
    Finding volume group system
    Archiving volume group "system" metadata (seqno 10).
  Extending logical volume root to 18.82 GB
    Creating volume group backup "/etc/lvm/backup/system" (seqno 11).
    Found volume group "system"
    Found volume group "system"
    Loading system-root table
    Suspending system-root (253:0)
    Found volume group "system"
    Resuming system-root (253:0)
  Logical volume root successfully resized
tteam01:~ # vgs
 VG     #PV #LV #SN Attr   VSize  VFree
 system   2   2   0 wz--n- 19.92G    0

Aha, aus unsern ~15GB sind ~20GB geworden. War einfach, nicht? Aber wir sind noch nicht ganz fertig!

Die bestehende Partition vergroessern
Die Root-Partition ist nun aber immer noch auf der alten Groesse, wir haben ja nur das LV vergroessert. Auch das ist kein Problem:

tteam01:~ # ext2online -d /dev/mapper/system-root
[... viel viel Text ...]
tteam01:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/system-root
                       19G  4.1G   14G  23% /
udev                  377M  136K  376M   1% /dev
/dev/sda1              69M  9.6M   56M  15% /boot

Das wars! Cool, nicht?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>