Mit Hilfe des LVM können Sie Partitionen, Festplatten oder RAIDs zu einer logischen Festplatte zusammenschließen. Dies klingt im ersten Moment nach einer Software-Raid-Lösung, ist es jedoch nicht, da Sie weder die Sicherheits- noch die Geschwindigkeitssteigerung erreichen können, auch wenn mit LVM eine Art Striping (RAID 0) machbar ist.
Sie können mit dem LVM jedoch "Reste" von Platten zusammenschließen und so eine große Partition erzeugen. Diese dürfen Sie übrigens, anders als bei den RAIDs, auch wieder partitionieren.
Beispiel:
Sie haben 6 Festplatten in Ihrem System. 2 Schließen Sie zu einem RAID 1 zusammen und installieren auf der ersten das Betriebssystem. Die restlichen Vier teilen Sie in zwei RAID 0 auf. Die beiden RAID-Devices schließen Sie zu einem logischen Volumen zusammen und geben dies per NFS frei.
LVM existierte schon für das Kernelrelease 2.4 in der Version 1 (LVM1) und wurde im Kernel 2.6 durch LVM2 abgelöst. Die beiden LVMs unterscheiden sich durch Ihren Aufbau: Während der LVM1 sich auf den externen "Device Mapper" verlassen musste, realisiert beim LVM2 der Kernel (d.h. der Device Mapper ist integriert) die Verwaltung der Volumes. Dabei werden die einzelnen freien Bereiche in einer Map/Target Table zusammengefasst. Sobald ein Zugriff auf das logsche Volume passiert, wird anhand der Target Table das korrekte Ziel herausgesucht und angesprochen.
Device Mapper LVMs erkennen Sie in der Regel an dem vorangestellten /dev/mapper/
Zum Verständnis
Um mit dem LVM korrekt arbeiten zu können, müssen Sie wissen, was ein Physical Volume, eine Volume Group und ein Logical Volume ist. Ein Physical Volume (PV)ist eine "echte" Partition, Festplatte oder aber auch ein RAID. Eine Volume Group (VG) ist eine Zusammenfassung von PVs und ein Logical Volume (LV) ist eine Partition innerhalb der VG.
Vorbereitung
Bevor Sie sich an Ihren Rechner setzen und wild LVMs erzeugen, sollten Sie in der Lage sein, die entsprechenden Vorbereitungen umzusetzen.
Um ein LVM einrichten zu können, sind gewisse Schrittfolgen zu beachten, ähnlich wie bei der Einrichtung von RAID. Zunächst sollten Sie die PVs vorbereiten. Wie bei der RAID Einrichtung beginnen Sie mit fdisk. Allerdings setzen Sie hier den Partitionstyp auf 8e.
Achtung: Sollten Sie die gesamte Platte verwenden wollen, muss der MBR entfernt werden!
Beispiel: fdisk /dev/hdb
(m für Hilfe): t
Nummer (1-4): 1
Hexcode (L für Liste): 8e
PVs initialisieren
Damit der LVM die PVs auch als solche erkennen kann, sollten Sie diese mit Hilfe des Kommandos pvcreate als PV initialisieren.
Beispiel: pvcreate /dev/hdb1 /dev/hdb2 /dev/hdc1 /dev/hdc2
Initialisiert die PVs /dev/hdb1, /dev/hdb2, /dev/hdc1 und /dev/hdc2
VG erzeugen
Als nächstes erzeugen Sie die Volumegroup zu der Sie die PVs hinzufügen wollen. Sie müssen nicht sofort alle PVs hinzufügen. Anders als beim RAID ist es beim LV möglich und sogar gewollt, nachträglich die Kapazität zu erhöhen. Um eine VG zu erzeugen, verwenden Sie vgcreate. Beim erzeugen der VG fügen Sie die PVs gleich hinzu. Die Volumengruppe ist über /dev/VG-Name ansprechbar.
Beispiel: vgcreate testvg /dev/hdb2 /dev/hdc1 /dev/hdc2
Erzeugt die VG testvg und fügt die vier PVs hinzu.
LV erzeugen
Mit lvcreate erzeugen Sie auf der Volumengruppe eine oder mehrere Partitionen, welche Ihnen nach dem Anlegen eines Dateisystems zur vollen Verfügung stehen.
Hier sollten Sie darauf achten, dass Sie beim Anlegen sinnvolle Namen vergeben und auch gleich die gewünschten Größen einrichten.
Beispiel: lvcreate -L 2G -n testlv /dev/testvg
Erzeugt eine 2 GB große LV mit Namen testlv. Über /dev/testvg/testlv kann diese LV angesprochen werden.
Dateisystem einrichten
Sie sollten daran denken, Ihren LVs auch noch ein Dateisystem zu geben, da Sie sonst keine Daten darauf ablegen können. Achten Sie darauf, dass Ihr Dateisystem bei Bedarf mitwachsen kann. resize2fs, xfs_growfs und resize_reiserfs sind Werkzeuge, die Ihnen dabei helfen, die Größe Ihres FS an das LV anzupassen.
Beispiel: mkreiserfs /dev/testvg/testlv
In /etc/lvm/lvm.conf finden Sie grundlegende Einstellungen zu Ihrem LVM2. Hier können Sie u.a. definieren, ob die neuen Volumes in /dev erzeugt werden sollen, wo die Device-Dateien der einzubindenden Geräte liegen...
Für LVM1 finden Sie ähnliche Konfigurationsmöglichkeiten in /etc/lvmtab und /etc/lvm.d/. Sie können die "alte" Konfiguration mit vgconvert -M2 VOLUMENGRUPPE die Einstellungen in LVM2 konvertieren.
Tools
| pvscan |
Durchsucht alle Platten nach PVs |
| pvchange | Ändert Attribute eines PV (z.B. Erweiterbarkeit) |
| pvdisplay | Zeigt Attribute eines PV an |
| pvremove | Löscht ein PV, sofern es nicht mehr Bestandteil einer VG ist. |
| pvmove | Verschiebt PEs (Datenblöcke einer LVM-Partition) auf anderes PV |
| vgscan | Durchsucht alle Platten nach VGs, verwendet lvm.conf. LVM2 scant automatisch |
| vgchange | Ändert Attribute einer VG (meist Aktiv/Inaktiv) |
| vgdisplay | Zeigt Attribute einer VG an (PVs, LVs, Größe...) |
| vgextend | Fügt PVs zu einer existierenden VG zu |
| vgreduce | Entfernt PVs aus einer VG |
| vgrename | Benennt VG um |
| vgexport | Exportiert VGs (z.B. zum portieren in ein anderes System) |
| vgimport | Importiert VGs |
| vgmerge | Fasst mehrere VGs zusammen |
| vgsplit | Verschiebt PVs aus einer VG in eine andere |
| lvscan | Sucht auf allen Platten nach LVs |
| lvchange | Ändert LV Attribute |
| lvdisplay | Zeigt LV Attribute an |
| lvextend | Vergrößert LVs |
| lvreduce | Verkleinert LVs |
| lvremove | Entfernt LVs |
| lvrename | Benennt LVs um |
LVM-Backups
Datensicherung von LVs lässt sich mit Hilfe eines LVM-Snapshot realisieren. Ein LVM-Snapshot ist eine exakte Kopie einer LVM Partition, der die gesamten Daten des LVM-Volume von dem Moment wiedergibt, in dem der Speicherauszug erstellt wurde. Der große Vorteil der LVM-Snapshots ist, dass man sich keine Sorgen mehr um geöffnete Dateien und Datenbankverbindungen machen muss und auch nicht die Dienste der Partition unterbrechen muss, die gerade genutzt werden. Um einen Snapshot durchführen zu können, erzeugen Sie innerhalb Ihrer VG ein LV mit fester Größe für den Snapshot, d.h. Sie sollten, sofern Sie mit LVM-Snapshots arbeiten wollen, immer daran denken, sich Platz für den Snapshot zu erhalten. Der Snapshot wird nach dem Mounten der Snapshotdatei automatisiert erzeugt und stellt einen aktuellen IST-Zustand des LVM dar, welcher mit tar oder dd gesichert werden sollte. Nach dem Snapshot hängen Sie die Snapshotdatei wieder aus und es empfiehlt sich, diese auch gleich zu löschen, um beim nächsten Snapshot wieder Platz zu haben.
Keine Kommentare:
Kommentar veröffentlichen