Ein LVM-System manuell aufsetzen bei einer Neuinstallation

Begriffserklärungen

Der Logical Volume Manager, kurz LVM genannt, ist eine logische Schicht zwischen der Hardware (Festplatte), der Partition und dem Dateisystem. Logische Volumes, mit den darin enthaltenen Dateisystemen, können sich über mehrere physikalische Festplatten erstrecken. Eine nachträgliche Größenänderung ist im laufenden Betrieb durchführbar.

Im folgenden stößt man auf die Begriffe

  • PhysicalVolume (PV), die logische Einheit die die Disk aufnimmt
  • VolumeGroup (VG), der Container für alle Logical Volumes
  • LogicalVolume (LV), der Container für die Aufnahme des Dateisystems

Eine Volumegruppe enthält Physical Volumes (physikalische Disk) und kann durch hinzufügen einer neuen Disk erweitert werden. In einer Volumegruppe sind die dynamischen Logical Volumes enthalten. Im LV kann wiederum ein Dateisystem angelegt werden oder ein Swapdevice.


Sollzustand nach der LVM Installation

In diesem Artikel wird die Einrichtung bei einer Neuinstallation von einer beliebigen Distribution dokumentiert. Ein nachträglicher Umbau ist mit sehr viel Mehraufwand verbunden. Ziel soll sein die gesamte Festplatte(n) unter der Kontrolle LVM zu bringen und darin verschiedene Dateisysteme anzulegen.

Die Systemverzeichnisse sind hier alle in einem Logical Volume LVroot, desweiteren /home im LVhome, /var im LVvar und ein Datenverzeichnis /mnt/data im LVdata sind jeweils eigene Dateisysteme.

Mountpunkt VG Name LV Name LV Größe
/ VGsystem LVroot 10 GByte
/var VGsystem LVvar 5 GByte
/home VGsystem LVhome 5 GByte
/mnt/data VGsystem LVdata 50 GByte

Bei der Benennung der Volumegruppe hat sich das Namensschema VG plus eine freie Bezeichnung bewährt, z.B VGsystem für die System-Volumegruppe oder VGbackup für eine Volumegruppe die nur Backupdaten enthalten soll.

Bei der Benennung der LV’s stellt man besten das Kürzel LV voran und danach den Namen des Einhängepunkt für das LV (z.B. LVhome in dem das Dateisystem /home enthalten ist). Das erleichtert die eindeutige Zuordnung von LV zu Dateisystem.


Vorteile einer LVM Installation

  • sparsame Einteilung der Festplatten-Ressource
  • sehr flexible Handhabung des Plattenplatzes, keine starren Partitionsgrenzen mehr
  • Sicherung aller Daten durch sogenannte Snapshots, auch der Rootpartition, im laufenden Betrieb möglich
  • seit GRUB2 ist auch ein Booten von einem Dateisystem, das innerhalb des LVM läuft, möglich


Vorarbeiten zur LVM Installation

Man startet wie einer Standardinstallation die aktuelle Live-CD seiner Linuxdistribution und öffnet eine Konsole. Alle nachfolgenden Arbeiten werden als root durchgeführt, also mit dem Kommando sudo su - zu root werden. Man man sich nur vergewissern das LVM standardmäßig im Livesystem installiert (Paketname lvm2 bei debianbasierten Distributionen) ist.

In der Konsole müssen wir als root nun noch die Partitionierung der Festplatte erledigen. Dazu öffnen wir fdisk oder cfdisk und legen eine primäre Partition sda1 an. Der Typ der Partition ist wichtig und muss mit Linux LVM (ID: 8e) bezeichnet werden. Die Platte bleibt vorerst unformatiert. Die Einstellungen abspeichern und das Partitionierungstool verlassen.


Konfiguration und Einrichtung des LVM Systems

In der Konsole führen wir als root folgende Kommandos aus um den LVM zu initialisieren für die weiteren Arbeiten.

# vgscan
# vgchange -a y

Im nächsten Schritt wollen wir die physikalische Disk (hier: /dev/sda1) dem LVM bekannt machen.

# pvcreate /dev/sda1

Nun erzeugen wir den Container (VG) für die Aufnahme der Logical Volume’s (LV) mit dem Namen VGsystem.

# vgcreate VGsystem /dev/sda1

Nun die LV’s anlegen, dazu nutzen wir den Befehl lvcreate. Für jedes später zu erzeugende Dateisystem wird ein LV angelegt. Das Swap LV wird ebenso wie die anderen erzeugt.

# lvcreate -L 10G -n LVroot /dev/VGsystem
# lvcreate -L 5G -n LVvar /dev/VGsystem
# lvcreate -L 5G -n LVhome /dev/VGsystem
# lvcreate -L 50G -n LVdata /dev/VGsystem
# lvcreate -L 2G -n LVswap /dev/VGsystem

Zur Kontrolle und zu Detailinformationen können wir uns PV, VG und LV mit folgenden Kommandos ansehen.

Listet alle angelegten PV’s auf.

# pvdisplay

Listet alle angelegten VG’s auf.

# vgdisplay

Listet alle angelegten LV’s auf.

# lvdisplay

Nun sind die Voraussetzungen für das anlegen der Dateisysteme gelegt die wir nun per mkfs erzeugen können. Alle Dateisysteme werden so formatiert.

# mkfs.ext4 /dev/VGsystem/LVroot
# mkfs.ext4 /dev/VGsystem/LVvar
# mkfs.ext4 /dev/VGsystem/LVhome
# mkfs.ext4 /dev/VGsystem/LVdata

Das Swapdevice wird wie gewöhlich mit dem mkswap Kommando angelegt.

# mkswap /dev/VGsystem/LVswap

Das war die komplette Konfiguration für ein LVM gestütztes System, die man jetzt mit dem Installer der jeweiligen Distribution zu Ende bringt. Dazu muss der Installer natürlich eine manuelle Partitionierung anbieten wo man die oben angelegten LV’s mit ihren Dateisystemen zur Installation auswählen kann. Dies ist zB. bei KDE Neon oder Siduction, beides debianbasierte Distributionen, der Fall.