LVM

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

Logical Volume Manager

Der LVM hat die Aufgabe, die Filesysteme unabhängig von der Größe der physikalischen Datenträger zu machen. Der Linux LVM besteht aus 3 Komponenten, die zusammen ein logisches Volume bilden. Um es möglichst einfach darzustellen, wird hier mit einem Beispielsystem gearbeitet, das 4 Festplatten hat, die zu einer "großen" Festplatte verbunden werden sollen. Das kann man zwar auch mit Raid0 machen, aber darum geht es hier jetzt nicht. Die Platten haben im Beispiel die Devicenamen /dev/sda, /dev/sdb/, /dev/sdc und /dev/sdd

Physical Volumes

Der LVM benötigt speziell präparierte physikalische Volumes, so wird z.B. mit einer eindeutigen Disk-ID sichergestellt, dass das physikalische Volume auch wiedergefunden wird, wenn die Platte mal in den falschen Slot gesteckt wird. Die Devices werden zunächst mit

pvcreate /dev/sda
pvcreate /dev/sdb
pvcreate /dev/sdc
pvcreate /dev/sdd

vorbereitet. Nun können Volumegroups erstellt werden.

Volume Groups

Eine Volumegroup ist eine Zusammenfassung von physical Volumes. In unserem Beispiel nennen wir die VG disk-array, mit dem folgenden Befehl wird das umgesetzt:

vgcreate disk-array /dev/sda /dev/sdb /dev/sdc /dev/sdd

Jetzt können logical Volumes angelegt werden, die jede beliebige Größe haben können, jedenfalls bis zum Maximum der Gesamtkapazität der eingebundenen Platten.

Logical Volumes

In unserem Beispiel soll die Maximalkapazität für ein Volume benutzt werden, wer zu faul zum Rechnen ist, kann erstmal mit

lvcreate -l 9999999999 disk-array

eine Fehlermeldung herbeiführen. Dabei kommt dann meist sowas wie

Insufficient free extents (178851) in volume group disk-array: 2147483647 required

Die Zahl in (), hier 178851 verrät uns, wie viele Extents tatsächlich verfügbar sind. Nun wird der gleiche Befehl mit diesem Wert ausgeführt und dem Volume wird ein passender Name gegeben:

# lvcreate -l 178851 disk-array daten
Logical volume "daten" created

Nun sollte unter /dev/disk-array/ ein Device daten existieren. Dieses Device kann nun z.B. mit

mkfs.xfs /dev/disk-array/daten

mit einem Filesystem versehen werden, danach kann es wie eine normale Partition gemountet werden

mount /dev/disk-array/daten /mnt

Weiterführende Links

Eins unserer Mitglieder hat den größten Teil des weniger praxisorientierten LVM-Artikels auf Wikipedia verbrochen. Da darf man schonmal einen Link setzen. :-)

Es gibt noch einen anderen LVM unter Linux, das Enterprise Volume Mangement System, eine bebilderte Anleitung dazu findet sich hier.