Um jetzt einmal einen genaueren Blick hinter die Kulissen von LVM zu werfen, müssen wir uns das grundlegende Prinzip einmal vergegenwärtigen. Wir werden also jetzt einmal die Schritte aus dem letzten Kapitel genauer betrachten um zu sehen, was genau sich jeweils dort abgespielt hatte:

Die Vorbereitung der Physikalischen Volumes (PV)

Damit die physikalischen Geräte (Partitionen, Platten, Raid-Arrais oder Loop-Devices) unter LVM nutzbar sind, muß eine Art Verwaltungsstruktur auf den Medien angelegt werden, insbesondere die sogenannte lvmtab, die Tabelle, die die Einbindung des physikalischen Gerätes in die LVM Struktur ermöglicht. Diese Tabelle (und andere Verwaltungsinformationen) wird durch den Befehl pvcreate(8) angelegt.

Aus der Sicht des Logical Volume Managers werden die physikalischen Geräte (PVs) in Speicherbrocken (engl.: chunks) eingeteilt, die den Namen Physical Extend (PE) tragen. Standardmäßig ist die Größe eines Extends 4 Megabyte, das kann aber beim Anlegen der VolumeGroup mit vgcreate(8) verändert werden. Alle Extends einer Gruppe haben die selbe Größe, es ist also die Arbeit der Gruppenverwaltung, diese Größe festzulegen.

Wir können uns ein physikalisches Volume also als eine Menge solcher Speicherbrocken vorstellen, die zwar physikalisch auf einem Gerät liegen (wenn das Gerät kein RAID-Array ist) aber logisch frei zuteilbar sind. Ein vereinfachtes Beispiel könnten wir uns folgendermaßen vorstellen:

Die gezeigten PVs besitzen jeweils 10 Extends, das ist natürlich nur ein Beispielwert, in der Praxis sind es wesentlich mehr und natürlich auch unterschiedlich viele pro Gerät.

Zusammenfassen der Physikalischen Volumes in eine Volume Group

Die vorbereiteten Physikalischen Volumes mit ihren enthaltenen Speicherblöcken (Extends) werden im zweiten Schritt zu einer Volume Group zusammengefasst. Dazu wird der Befehl vgcreate(8) verwendet, der auch die eigentliche Größe der Extends festlegt. Die Größe der Extends kann später nicht mehr verändert werden. Die Volume Group bekommt einen eindeutigen Namen, unter dem sie dann im Verzeichnis /dev ansprechbar ist. Schematisch könnten wir das also folgendermaßen darstellen:

So ist jetzt die Gesamtheit der Physical Extends (PEs) aller Physikalischen Volumes (PVs) zu einer Volume Group (VG) mit Namen „testgrp“ zusammengefasst worden. Aus der Sicht des LVM haben wir jetzt also eine riesige Platte, die – übertragen gesehen – noch nicht partitioniert ist.

Anlegen von Logischen Volumes

Um die Extends der neuen Gruppe jetzt nutzen zu können, ist es notwendig, bestimmte Physical Extends zu logischen Partitionen oder eben – im Jargon von LVM – logische Volumes zusammenzuschließen.

Die ursprünglichen Grenzen der physikalischen Volumes spielen jetzt keine Rolle mehr. Es ist sogar möglich, ähnlich wie bei RAID, ein logisches Volume grundsätzlich auf alle physikalischen Volumes der Volume Group zu verteilen (Striping), um die Zugriffsgeschwindigkeit zu erhöhen.

Die logischen Volumes können jetzt genau wie Partitionen behandelt werden, Dateisysteme können darauf angelegt werden und sie können an beliebige Stellen des Systems gemountet werden.