Sowohl Debian als auch Ubuntu bieten bei der Installation die Möglichkeit an, anstatt der üblichen Partitionierung der Festplatte noch eine Zwischenschicht einzubauen, um später die Größe von Logical Volumes dynamisch anpassen zu können. Diese logische Zwischenschicht heißt Logical Volume Manager. Die wichtigsten Komponenten sind das Physical Volume, eine Partition oder Festplatte, die Volume Group, welche mehrere Physical Volumes zusammenfassen kann und die Logical Volumes, welche sich wiederum in diesem System wie eine Partition verhalten. Da ich etwas enttäuscht vom einzigen grafischen LVM Programm system-config-lvm war, sind hier die Schritte für die Konsole.
Im einfachsten Fall repräsentiert das Physical Volume wie bei mir die einzige eingebaute Festplatte und bildet eine Volume Group. Innerhalb dieser Gruppe befinden sich bei der geführten Installation mit Ubuntu lediglich die Logical Volumes für root und swap. Bei der Installation hatte ich aber absichtlich nicht den gesamten Festplattenspeicher benutzt, sondern noch circa 90 GB freigelassen.
Logical Volumes erstellen
Daraus entstand ein weiteres Logical Volume für Virtualbox mit 40 GB Festplattenspeicher. So etwas lässt sich mit dem Befehl
sudo lvcreate -L 40G -n <volume> <group>
schnell anlegen, wobei für <volume> virtualbox und für <group> der Name der Volume Group eingesetzt werden muss, welche bei der geführten Installation immer dem Rechnernamen entspricht. Anschließend muss noch ein Dateisystem angelegt werden z.B. ext3
sudo mkfs.ext3 /dev/<group>/<volume>
Logical Volumes vergrößern und verkleinern
Um nun einem Logical Volume wie virtualbox oder root mehr Speicherplatz zuzuweisen und wie in diesem Fall um 50 Gigabyte zu vergrößern, genügt es
sudo lvextend -L +50G /dev/<group>/<volume>
auszuführen und anschließend das Dateisystem des Logical Volumes an die neue Größe mit
sudo resize2fs -p /dev/<group>/<volume>
anzupassen. Das Vergrößern funktioniert mit ext3 auch im eingehängten Zustand. Möchte man das Logical Volume verkleinern genügt es lvextend mit lvreduce zu ersetzen und den Parameter L anzupassen. Aber Vorsicht! Anders als bei der Vergrößerung muss das Dateisystem vor der Verkleinerung angepasst sein, ansonsten kommt es zum Datenverlust. Dabei muss an den Befehl zusätzlich noch ein Parameter für die gewünschte Größe angehängt werden, z.B.
sudo resize2fs -p /dev/<group>/<volume> 20G
Dies hätte das ursprüngliche virtualbox Volume halbiert. Um ein Logical Volume unter ext3 zu verkleinern darf es nicht gemountet sein! Deshalb empfiehlt es sich vor der Verkleinerung von Dateisystemen immer ein Backup zu machen und vor der Verkleinerung das Dateisystem auf Fehler zu überprüfen mit
e2fsck -f /dev/<group>/<volume>
Snapshots erzeugen
Eine weitere nützliche Möglichkeit von LVM ist das Anlegen von sogenannten Snapshots, also Abbildern einzelner Logical Volumes. Dafür benötigt man lediglich noch etwas unzugeordneten freien Festplattenspeicher, aber keinesfalls den gleichen Platz, den das Original einnimmt.
sudo lvcreate -L 1G -s -n backup /dev/<group>/<volume>
Wenn die Änderungen am Original Volume größer als 1 Gigabyte werden, wird das Abbild inkonsistent. Sprich, es entspricht in diesem Moment nicht mehr dem Original. Der Speicherplatz für snapshots dient also lediglich dazu Veränderungen am Original zu erfassen. Das Abbild lässt sich dann z.B. in einen Backup Ordner mounten und mit der bevorzugten Backup Methode archivieren wie z.B. tar oder rsync und dd für bitweise Archivierung. Um das Abbild zu entfernen genügt ein
sudo lvremove /dev/<group>/<volume>
One Reply to “LVM Größe von Logical Volumes anpassen”