| LVM - Logical Volume Manager |
|
|
|
|
Von Diese E-Mail-Adresse ist gegen Spam-Bots geschützt, du musst Javascript aktivieren, damit du sie sehen kannst
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. 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. 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:
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. 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. 6. Festplatten aus einem bestehenden LVM entfernen Jetzt kann es mit der Zeit auch passieren, daß Ihre Festplatte evtl. defekt ist und sie ausgetauscht werden muß, oder daß Sie eine Festplatte durch eine größere ersetzen möchten. Auch dafür gibt es Möglichkeiten. pvmove /dev/hdd1 vgreduce lvm1 /dev/hdd1 Mit dem Befehl pvmove werden alle Daten von der Festplatte /dev/hdd1 auf den restlichen Volumes verschoben. Voraussetzung ist dabei, daß genügend Platz auf den anderen Volumes ist, damit der Vorgang problemlos durchläuft. Laut Autor gibt es keine Performance-Unterschiede bei Systemen mit LVM und ohne LVM. Ich habe mit dem Programm bonnie eine Festplatte ohne LVM und mit LVM gestestet. Danach habe ich ein LV bestehend aus zwei Festplatten auf Performance-Unterschiede getestet. Getestet wurde auf jeder Festplatte bzw. auf jedem Volume mit einer 500 MB großen Datei. Die Ergebnisse sind bei allen Tests bis auf geringe Toleranzwerte identisch. Aus dieser Sicht ist also ein Performanceverlust mit LVM nicht festzustellen. LVM ist auf seinen Gebiet sehr flexibel einsetzbar. Die Konfiguration eines LVMs erwies sich nicht als besonders schwierig, so daß auch Einsteiger recht gut damit zurecht kommen. Selbstverständlich gibt es noch mehr Möglichkeiten, allerdings, so denke ich, sind die hier aufgelisteten Beispiele die gängigsten Methoden, wie ein LVM betrieben werden kann. Weitere Informationen finden Sie dazu in den LVM Dokumenationen auf der LVM-Webseite. Weiterhin möchte ich darauf aufmerksam machen, daß ich keine Verantwortung für die Richtigkeit bzw. für evtl. Datenverluste durch diese Dokumentation übernehme. Ich empfehle auf jeden Fall, ein Backup zu machen, falls Sie wichtige Daten auf den Festplatten bzw. auf den Volumes haben.
LVM manpages |
||||||
| < Zurück | Weiter > |
|---|



