Login
Login-Name Passwort


 
Newsletter
Werbung

Mo, 18. September 2000, 00:00

LVM - Logical Volume Manager

Vorwort

Festplatten sind heutzutage so groß wie nie zuvor! Nichtsdestotrotz ist es heute immer noch genau so sinnvoll, mehrere Festplatten zu einem logischen Laufwerk zusammenzufügen. Besonders für Serversysteme, wo evtl. große Datenmenge aufkommen, ist das System geradezu ideal. Andere (Netzwerk-) Betriebssysteme, wie z.B. Novell, unterstützen diese Funktionalität schon seit längerem erfolgreich. Auch auf dem Linuxmarkt gibt es inzwischen die Möglichkeit, mehrere Festplatten zu einem logischem Laufwerk einzurichten. Genau dies möchte ich in dem folgenden Artikel beschreiben.

Mein System sah dazu wie folgt aus: SuSE 6.4, Kernel 2.2.14, LVM 0.8final, die ext2 Tools e2fsprogs. Zu der entsprechenden Hardware gehörte: PII 450 MHz, 256 MB Speicher, 1,2 GB Quantum HDD, 10 GB IBM HDD und eine IBM Bootplatte von 15 GB. Die Bootplatte blieb unberührt, nur die 1,2 GB und 10 GB-Festplatten wurden zu einem LVM zusammengeschlossen.

Was ist eigentlich LVM?

LVM ist ein Logischer Volume Manager (Logical Volume Manager) für Linux. Er ermöglicht das Zusammenschließen mehrerer physikalischer Laufwerke zu einem logischen Laufwerk. Dabei kann noch unterschieden werden, ob die Daten linear auf das Volume geschrieben werden sollen oder ob die Daten gleichmäßig auf den Platten verteilt werden. Dabei handelt es sich nicht um ein RAID-System! LVM wurde von Heinz Mauelshagen geschaffen und die aktuelle Version ist die 0.8final.

Ein LVM besteht aus mehreren physikalischen Volumes (Festplatten), die mit dem Befehl pvcreate vorbereitet werden. Diese physikalischen Volumes (in unserem Beispiel die 1,2 GB HDD und die 10 GB HDD) werden in einer sogenannten Volume Gruppe (vg) integriert. Die Kapazität der Volume Gruppe muß in logische Volumes aufgeteilt werden (lv). Dabei können mehrere logische Volumes eingerichtet werden, oder nur ein logisches Volume. Es ist dabei egal, ob Sie nur IDE oder nur SCSI oder beides verwenden.

Mit dem LVM können Sie auch Festplatten in eine bestehendes logisches Volume integrieren, um es so zu erweitern. Dieser Vorgang wird mit dem Tool resizefs bzw. e2fsadm ermöglicht. Somit muß das schon bestehende Volume (logisches Volume und Volume Gruppe) nicht gelöscht werden. Ebenso ist es möglich, zum Beispiel defekte Festplatten aus einem bestehendem Volume zu entfernen oder ein bestehendes LV einfach zu verkleinern.

Wie oben schon erwähnt, bildet sich ein LV (LV = Logisches Volume) aus einer Volume Gruppe (VG = Volume Group). Um eine VG zu erstellen, werden ein oder mehrere physikalische Volumes benötigt. In jedem physikalischem Volume, also auf jeder Festplatte wird ein sogenannter VGDA geschrieben. Der VGDA (Volume Group Descriptor Area) enthält Daten über die angelegten Volumes. Dabei handelt es sich nicht um die einzelnen Dateien in den LVs, sondern nur über die logische und physikalische Zusammenstellung des LVs.

Derzeit ist es möglich, bis zu 99 VGs mit 1-3 LVs oder andererseits eine VG mit bis 256 logischen Volumes einzurichten. Diese Beschränkung kommt nicht durch LVM, sondern durch den Linux-Kernel. Die maximale Größe eines logischen Volumes hängt von der phyischen Erweiterungsgröße (PE = physical extent) ab, die sich bei der VG-Erstellung errechnet. Somit liegt die Größe zwischen 512 MB bis 1024 TB.

Installation

Hier können sich SuSE Benutzer glücklich schätzen, da LVM bei SuSE 6.4 schon integriert ist. Allerdings nur mit der Version 0.8e, die übrigens auch gut läuft und genauso einsatzfähig ist. Andere Benutzer, bei denen LVM nicht integriert ist, müssen es sich herunterladen (siehe Anhang). Nach dem Download müssen folgende Punkte erfolgreich abgearbeitet werden, um LVM zu installieren:

  1. gzip -dc patch-*.*.*-LVM-*.*.gz | ( cd /usr/src/linux; patch -p1)
  2. cd /usr/src/linux; make menuconfig (LVM aktivieren)
  3. Kernel neu kompilieren
  4. In das Verzeichnis LVM/0.8final/ wechseln und die Datei make.tmpl editieren. Nach dem obersten Makro muß der Pfad angepasst werden, wo LVM entpackt wurde.
  5. Danach erfolgt das übliche make und make install, um LVM zu installieren
  6. Ist LVM als Modul kompiliert, so müssen noch folgende Einstellungen in der /etc/modules.conf vorgenommen werden:

    alias block-major-58 lvm-mod
    alias char-major-109 lvm-mod
    
  7. Nun müssen in dem Startup-Skripten die Befehle vgscan und vgchange -a y hinzugefügt werden.
  8. In das Shutdown-Skript muß der Befehl vgchange -a n eingetragen werden.
  9. Rechner neu starten.

Einrichtung eines LVMs

Bei unserem Beispielsystem (1,2 GB und 10 GB) muß erstmal die Partions-ID auf 8e geändert werden. Dies passiert mit fdisk und sollte kein großes Problem darstellen.

Hinweis: Beim Ändern der Partions-ID gehen alle Daten auf der Partition verloren.

Nun werden die Festplatten vorbereitet:

pvcreate /dev/hdb1 /dev/hdc1

Die Volume Gruppe (VG) mit dem Namen LVM1 wird nun erstellt:

vgcreate LVM1 /dev/hdb1 /dev/hdc1

Nun müssen wir die gewünschte Größe ermitteln:

vgdisplay

Mit vgdisplay bekommt man diverse Informationen über die erstellten Volumes. Bei der Auflistung der Informationen gibt es einen Punkt Total PE. Dahinter steht ein Wert, der die gesamte Größe der Volume Gruppe angibt. Notieren Sie sich bitte diesen Wert, damit Ihre Volumes vollständig genutzt werden können.

Nun wird das logische Volume (LV) erstellt:

lvcreate -l wert_aus_vgdisplay lvm1

Die Gerätedatei des logischen Volumes befindet sich in diesem Fall in dem Verzeichnis /dev/lvm1/lvol1. Zu guter letzt muß das Dateisystem auf dem Volume geschrieben werden. Danach kann es gemountet werden.

mkfs -t ext2 /dev/lvm1/lvol1
mount /dev/lvm1/lvol /lvm_tmp

Jetzt kann das Volume benutzt werden.

LVMs erweitern

Gehen wir jetzt von dem Fall aus, daß Ihre Speicherkapazitäten erschöpft sind und Sie diese mit einer neuen Festplatte erweitern möchten. Nachdem die Festplatte eingebaut (z.B. /dev/hdd) isti, müssen Sie auf dieser mit fdisk die Partition erstellen und die Partions-ID wieder auf 8e ändern. Danach muß wieder die Festplatte vorbereitet werden:

pvcreate /dev/hdd1

Nun muß die Festplatte in die bestehende Volume Gruppe integriert werden:

vgextend lvm1 /dev/hdd

Geben Sie bitte folgendes ein, um jetzt die genaue Größe zu ermitteln, die hinzugefügt werden soll:

pvdisplay /dev/hdd

Hier finden Sie Informationen über das physikalische Volume. Unter dem Punkt Free PE finden Sie wieder einen Wert, den Sie sich ebenfalls notieren sollten, damit das ganze Volume ausgenutzt werden kann. Nun muß nur noch das logische Volume erweitert werden, sowie das Dateisystem:

lvextend -l+wert_aus_pvdisplay /dev/lvm1/lvol1
e2fsadm -l+wert_aus_pvdisplay /dev/lvm1/lvol1

Um e2fsadm erfolgreich einsetzen zu können, müssen erst noch die entsprechenden Tools heruntergeladen und installiert werden.

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung