ext3 Logical Volume online erweitern

No space left on device – Wenn man diese Meldung in den Logfiles findet, weiß man, man hat ein Problem.

Natürlich sollte so etwas durch proaktives monitoring nicht passieren, aber wenn es sich nur um eine Testmaschine handelt… Das kennen wir ja irgendwie alle. Da will man schnell nur was testen und muß sich erst noch ein paar Pakete besorgen, da bricht apt ab und bemängelt, daß kein Platz mehr frei ist. Dann hat man erstmal ein Problem. Aber wenn man die vorhandenen Filesysteme als logical volumes mit ext3 angelegt hat, dann kann man eben dieses ziemlich schnell beheben.

Der Ablauf

In meinem Fall handelt es sich um eine virtuelle Maschine, der einfach neuer Plattenplatz in Form einer weiteren Festplatte zugewiesen wird. Auf dieser neuen Platte wird dann der gewünschte Platz als neue Partition angelegt und als LVM (Hex: 8e) gekennzeichnet. Danach wird ein physical volume auf der neuen Partition angelegt und zum bereits bestehenden Volume hinzugefügt. Damit steht der zusätzliche Platz grundsätzlich erstmal allen logical volumes zur Verfügung, die sich in dieser volume group befinden. Also muß nun das logical volume erweitert werden, welches den Platz benötigt. Danach noch das eigentliche Filesystem, also genauer dasext3 Filesystem, auf die neue Größe angepaßt werden. Und das war es dann auch schon.

Und jetzt noch mal im Detail

Wie man ein neues block device (also etwa eine Festplatte, USB-Stick oder LUN) für sein System organisiert, ist natürlich der eigenen Umgebung anzupassen. Und die Beschreibung, wie man in Virtualbox eine neue Platte anlegt, spare ich mir jetzt 😉

Physical Volume

Hat man also sein neues block device besorgt, muß darauf zuerst ein physical volume erstellen. Jetzt kommt es natürlich darauf an, ob man die gesamte Platte:

#> pvcreate /dev/sdb

oder nur einen Teil in Form einer Partition zur Erweiterung nutzen möchte, was bedingt, daß eine neue Partition vom Typ LVM (Hex: 8e) angelegt wird:

#> fdisk /dev/sdb

und dann entsprechend eine neue Partition anlegen. Danach dann:

#> pvcreate /dev/sdb1 (oder welche Nummer die neue Partition dann hat)

ausführen, damit nur in der Partition das Volume angelegt wird.

Volume Group

Nun muß der zusätzliche Platz der volume group hinzugefügt werden, in der sich das zu erweiternde logical volume befindet. Wenn die komplette Platte hinzugefügt wurde:

#> vgextend vg_root /dev/sdb

oder bei einer Partition

#> vgextend vg_root /dev/sdb1

Logical Volume

Jetzt noch schnell den neuen Platz der volume group dem logical volume zuordnen:

#> lvextend -L +2G /dev/vg_root/lv_root

Hierbei sind natürlich die Größe und der Name des logical volumes anzupassen.

Filesystemerweiterung ext3

Glücklicherweise gehört ext3, wie im übrigen auch ext4, zu den Filesystemen, die online, also im laufenden Betrieb vergrößert werden können. Also tun wir es:

#> resize2fs /dev/vg_root/lv_root

That’s it! Damit ist wieder ausreichend Platz vorhanden.

Hinterlasse eine Antwort

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

Du kannst diese HTML Tags und Attribute benutzen:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>