LVM-Partitionierung - Logical Volume Manager

Es folgt nun eine Basiseinführung. Es liegt am geschätzten Leser, sich tiefer in die Materie einzuarbeiten. Weitere Informationsquellen finden sich am Ende dieses Textes gelistet - die Liste erhebt keinen Anspruch auf Vollständigkeit.

Diese Anleitung gilt ab aptosid-2010-03-apate.

Logische Volumen können mehrere Festplatten umspannen und sind skalierbar. Dies unterscheidet sie von anderen Methoden der Festplattenpartitionierung.

Weder die traditionelle Partitionierungsmethode noch die Partitionierung mit LVM sind Aktionen, die sehr oft durchgeführt werden. Somit sollte die Vorgehensweise durchdacht sein, um das gewünschte Ergebnis zu erzielen.

Mit drei Grundbegriffen sollte man vertraut sein:

Sechs Schritte, die benötigt werden

Wir gehen in unserem Beispiel von nicht partitionierten Festplatten aus. Zu beachten ist: falls alte Partitionen gelöscht werden, gehen alle Daten unwiederbringlich verloren.

Als Partitionierungsprogramm werden cfdisk oder fdisk benötigt, da zur Zeit GParted bzw. der KDE-Partitionsmanager (partitionmanager) LVM nicht unterstützen.

Schritt 1: Erstellung einer Partitionstabelle:

fdisk /dev/sda
 n erstellt eine neue Partition auf dem Laufwerk
 p  diese Partition wird eine primäre Partition
 1  die Partition erhält die Nummer 1 als Identifikation
 ### size allocation  ### setzt den ersten und letzten Zylinder auf Default-Werte. Drücken Sie ENTER, um das gesamte Laufwerk zu umspannen
 t  wählt den zu erstellenden Partitionstyp
 8e  dies ist der Hex-Code für eine Linux-LVM
 W  schreibt Veränderungen auf das Laufwerk. ##Dieser Befehl schreibt die Partitionierungstabelle. Falls bis zu diesem Punkt ein Fehler gemacht wurde, kann das vorhandene Partitionierungs-Layout wieder hergestellt werden und die Daten sind witerhin vorhanden.##

Falls das Volumen mehr als ein Laufwerk umspannen soll, muss obiger Vorgang auf jedem Laufwerk durchgeführt werden.

Schritt 2: Erstellen eines physischen Volumens (dieser Schritt löscht alle Daten):

pvcreate /dev/sda1

Dieser Vorgang wird nach Bedarf auf jeder Partition wiederholt.

Schritt 3: Erstellen einer Volumengruppe:

vgcreate vulcan /dev/sda1

Hier werden alle Laufwerke, welche in der Volumengruppe sein sollen, im Befehl vgcreate gelistet (in unserem Beispiel drei Laufwerke):

vgcreate vulcan /dev/sda1 /dev/sdb1 /dev/sdc1

Falls dieser Schritt korrekt durchgeführt wurde, kann das Ergebnis in der Ausgabe folgenden Befehls gesehen werden:

vgscan

vgdisplay zeigt die Größe:

vgdisplay vulcan

Schritt 4: Erstellung eines logischen Volumens. An dieser Stelle muss entschieden werden, wie groß das logische Volumen zu Beginn sein soll. Ein Vorteil von LVM ist die Möglichkeit, die Größe ohne Reboot anpassen zu können.

In unserem Beispiel wünschen wir uns ein 300GB großes Volumen mit dem Namen spock innerhalb des LVM namens vulcan:

lvcreate -n spock --size 300g vulcan

Schritt 5: Formatieren des Volumens (bitte haben Sie Geduld, dieser Vorgang kann längere Zeit in Anspruch nehmen):

mkfs.ext4 /dev/vulcan/spock

Schritt 6:

mkdir /media/spock/

Um das Volumen während des Bootvorgangs einzubinden, muss fstab mit einem Texteditor angepasst werden.

mcedit /etc/fstab

Die Verwendung von /dev/vulcan/spock ist bei einem LVM der Verwendung von UUID-Nummern vorzuziehen, da es damit einfacher ist das Dateisystem zu klonen (keine UUID-Kollisionen). Besonders mit einem LVM können Dateisysteme mit gleicher UUID-Nummer erstellt werden (Musterbeispiel: Snapshots).

/dev/vulcan/spock /media/spock/ ext4 auto,users,rw,exec,dev,relatime  0  2

Optional: Der Besitzer des Volumens kann geändert werden, sodass andere Nutzer Lese- bzw. Schreibzugang zum LVM haben:

chown root:users /media/spock
chmod 775 /media/spock

Ein einfacher LVM sollte nun erstellt sein.

Größenänderung eines Volumens

Wir empfehlen die Verwendung einer Live-ISO, um Partitionsgrößen zu ändern. Obwohl die Vergrößerung einer Partition des laufenden Systems ohne Fehler durchgeführt werden kann, ist dies bei der Verkleinerung einer Partition nicht der Fall. Anomalien können zu einem Datenverlust führen, vor allem wenn die Verzeichnisse / (root) oder /home betroffen sind.

Beispiel einer Vergrößerung einer Partition von 300GB auf 500GB:
umount /media/spock/
lvextend -L+200g /dev/vulcan/spock

Befehl, der die Größe des Dateisystems ändert:

e2fsck -f /dev/vulcan/spock
resize2fs /dev/vulcan/spock
mount /media/spock
Beispiel einer Verkleinerung einer Partition von 500GB auf 280GB:
umount /media/spock/

Befehl, der die Größe des Dateisystems festlegt:

e2fsck -f /dev/vulcan/spock
resize2fs /dev/vulcan/spock 280g

Danach wird die Partitionsgröße geändert.

lvreduce -L-20g /dev/vulcan/spock
resize2fs /dev/vulcan/spock
mount /media/spock
LVM mit einem GUI-Programm verwalten

system-config-lvm bietet eine graphische Oberfläche zur Verwaltung von LVMs. Das Programm wird als root ausgeführt:

apt-get install system-config-lvm
man system-config-lvm  # Pflichtlektüre
Weitere Informationen:
Page last revised 26/07/2011 2325 UTC