1. LVM Grundlagen

Aufbau und Funktionsweise lassen sich an einem einfachen hierarchischen Model verdeutlichen.

Modelaufbau Logical Volumen Management

Auf der unteren Ebene befinden sich die physikalischen Partitionen (PP). Auch wenn der verfügbare Speicher später dynamisch zugewiesen werden soll, müssen die Daten auf physikalischen Partitionen, Festplatten oder einem Raid-Verbund abgelegt werden. Es ist möglich, hier eine Festplatte ohne Partitionierung zu verwenden. Aus administrativen Gründen sollte aber eine Partition für die Verwendung eingerichtet sein. Denn eine Festplatte ohne Partitionierung sieht leer aus und verleitet dazu, partitioniert und genutzt zu werden. Die physikalischen Partitionen (PP) bilden die Basis für das physikalische Volumen (PV). Diese kapseln den Speicherplatz in Verwaltungseinheiten, den physikalischer Extents (PE). Sie nehmen die Daten auf und bilden die Granularität, mit der Speicherplatz an die logischen Volumen zugewiesen wird. Damit beeinflussen sie auch maßgeblich die maximale Volumengröße und die Performance. Das physikalische Volumen hält in Metabereichen Platz für die spätere Volumengruppenkonfiguration bereit. Die Volumengruppe stellt den ihr anvertrauten Speicherplatz über die physikalischen Verwaltungseinheiten den logischen Volumen zur Verfügung. Sie organisiert ihn in logische Verwaltungseinheiten, den logischen Extents (LE). Die Größe dieser Verwaltungseinheiten entspricht der Größe der physikalischen Extents (PE), die beim Anlegen der Volumengruppe festgelegt wird. Hierbei ist es möglich, einer Volumengruppe mehrere physikalische Volumen (PV) zuzuweisen und damit den verfügbaren Gesamtspeicherplatz zu vergrößern. Physikalische Volumen (PV) können der Volumengruppe auch zu einem späteren Zeitpunkt hinzugefügt werden, womit der Speicherplatz der Gruppe bei Bedarf erweitert werden kann. Das Logische Volumen (LV) wird innerhalb einer Volumengruppe angelegt und später vom System als Blockgerät angesprochen. Damit dient es als flexibler Ersatz für Partitionen, Blockgeräte und Laufwerke und kann mit einem Dateisystem versehen oder durch eine zusätzliche Verschlüsselung gesichert werden. Die Speicherzuteilung erfolgt durch eine interne Verknüpfung der vorhandenen Verwaltungseinheiten. Die Basis bilden die physikalischen Verwaltungseinheiten, deren Größe bei der Zuordnung des physikalischen Volumens zu einer Volumengruppe festgelegt wird. Die Volumengruppe erhält bei der Zuordnung die Autorität über die physikalischen Verwaltungseinheiten und verknüpft diese beim Anlegen eines logischen Volumen entsprechend auf die logischen Verwaltungseinheiten des logischen Volumens.

Verknüpfen von Verwaltungseinheiten

Die Verknüpfung der Verwaltungseinheiten ist beim Zugriff auf das logische Volumen transparent. Die Zuteilung und damit die physikalische Lage der Verwaltungseinheiten erfolgt in Abhängigkeit einer Zuweisungsrichtlinie, die für Volumengruppen oder logische Volumen eingestellt werden kann. Die Standardrichtlinie für Volumengruppen ist die Richtlinie „Normal“ und enthält ausgewogene Regeln. Die „contiguous“ Richtlinie versucht neu angeforderte Verwaltungseinheiten in der Nähe bereits vorhandener Verwaltungseinheiten zusammenhängend abzubilden, was Kopfbewegungen der Festplatte reduziert und die Zugriffsgeschwindigkeit erhöht. Die Richtlinie „cling“ versucht neu angeforderte Verwaltungseinheiten auf dem gleichen physikalischen Volumen abzubilden, auf dem sich bereit Verwaltungseinheiten des anfordernden Volumens befinden. Volumen können damit auf einer physikalischen Partition ihre Daten ablegen. Im Gegensatz zur Richtlinie „normal“ unterstützt diese Richtlinie das Einrichten von Stripe Sets auf Volumengruppen mit nur einem physikalischen Volumen. Logische Volumen besitzen als Standard die Zuweisungsrichtlinie „inherit“ sie übernehmen damit die Richtlinienkonfiguration ihrer Volumengruppe. Die Zuweisungsrichtlinie kann mit den entsprechenden Werkzeugen geändert werden.

LVM Praxis

Nachdem einige theoretischen Grundlagen geschaffen wurden, gilt es diese mit der Praxis zu verfestigen. Hierbei ist es hilfreich, die Elemente, verschiedene administrative Tätigkeiten und verfügbare Werkzeuge aus dem LVM-Werkzeugkasten in einer Matrix zusammenzufassen. Die Tabelle wurde um eine Spalte mit einer subjektiven Einschätzung der administrativen Relevanz ergänzt.

Physikalisches Volumen (PV) Volumengruppe (VG) Logisches Volumen (LV) Adm. Relevanz
Entfernen (create) pvcreate vgcreate lvcreate * * * * *
Entfernen (remove) -/- vgremove lvremove * * * * *
Vergrößern (extend) -/- vgextend lvextend, lvresize * * * * *
Verkleinern (reduce) -/- vgreduce lvreduce, lvresize * * * * *
Umbenennen (rename) -/- vgrename lvrename *
Anzeigen (display) pvdisplay vgdisplay lvdisplay * * * * *
Ändern (change) pvchange -/- lvchange * *
Verschieben (move) pvmove -/- -/- * *
Zusammenführen (merge) -/- vgmerge -/- *
Exportieren (export) -/- vgexport -/- *
Importieren (import) -/- vgimport -/- *
Status pvs vgs lvs * * * * *

Der Einsatz von LVM2 auf einer lokalen Maschine ist relativ einfach. Als Voraussetzung müssen die LVM-Module für den Kernel kompiliert, geladen und der LVM-Werkzeugkasten installiert sein. Ersteres sollte heute der Standard bei allen größeren Distributionen sein und Letzteres muss gegebenenfalls nach Art des Hauses nachinstalliert werden. Unter Debian und Ubuntu ist das mit einer einfachen Zeile durchführbar.

~:# apt-get install lvm2

Im nächsten Schritt müssen Datenträger oder Partitionen zur Aufnahme der Daten bereitgestellt werden. Hier bietet sich eine Partition oder ein RAID-Verbund an, der auch für eine erhöhte Zuverlässigkeit sorgen kann. Für einen Test können auch externe über USB angebundene Laufwerke verwendet werden. Hierbei ist aber auf die USB-Reihenfolge zu achten, da die Laufwerke beim Booten in der Slot-Reihenfolge eingebunden werden, was eventuell zu einem Laufwerkschaos führen kann. Deshalb sollten die Laufwerke im ausgeschalteten Zustand einstecken und dann der Rechner gestartet werden. Für die durchgeführten Übungen kommen drei 2GB USB-Sticks zum Einsatz.


Weiter zu Teil 2. - Einrichten und Anlegen der Grundelemente


wiki/seminare/workshops/lvm2/wst01.txt · Zuletzt geändert: 2011-12-20 10:48 von Marek Walther