LVM Anleitung · 9 min read · Sep 22, 2025

Ein Anfängerleitfaden zu LVM

Version 1.0
Autor: Falko Timme
Letzte Aktualisierung: 2015-02-09

Dieser Leitfaden zeigt, wie man mit LVM (Logical Volume Management) unter Linux arbeitet. Er beschreibt auch, wie man LVM zusammen mit RAID1 in einem zusätzlichen Kapitel verwendet. Da LVM ein eher abstraktes Thema ist, kommt dieser Artikel mit einem Debian Etch VMware-Image, das Sie herunterladen und starten können. Auf diesem Debian Etch-System können Sie alle Befehle ausführen, die ich hier ausführe, und Ihre Ergebnisse mit meinen vergleichen. Durch diesen praktischen Ansatz sollten Sie sich sehr schnell an LVM gewöhnen.

Ich gebe jedoch keine Garantie, dass dieses Tutorial bei Ihnen funktioniert!

1 Vorbemerkung

Dieses Tutorial wurde von zwei Artikeln inspiriert, die ich gelesen habe:

Das sind großartige Artikel, aber schwer zu verstehen, wenn Sie noch nie mit LVM gearbeitet haben. Deshalb habe ich dieses Debian Etch VMware-Image erstellt, das Sie herunterladen und in VMware Server oder VMware Player ausführen können (siehe https://www.howtoforge.com/import_vmware_images, um zu erfahren, wie das geht).

Ich habe alle Werkzeuge, die wir während des Kurses dieses Leitfadens benötigen, auf dem Debian Etch-System installiert (indem ich

apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs

) ausgeführt habe, sodass Sie sich darüber keine Sorgen machen müssen.

Das Netzwerk des Debian Etch-Systems ist über DHCP konfiguriert, sodass Sie sich keine Sorgen über Konflikte mit IP-Adressen machen müssen. Das Root-Passwort ist howtoforge. Sie können sich auch mit einem SSH-Client wie PuTTY mit diesem System verbinden. Um die IP-Adresse des Debian Etch-Systems herauszufinden, führen Sie

ifconfig

aus.

Das System hat sechs SCSI-Festplatten, /dev/sda - /dev/sdf. /dev/sda wird für das Debian Etch-System selbst verwendet, während wir /dev/sdb - /dev/sdf für LVM und RAID verwenden werden. /dev/sdb - /dev/sdf haben jeweils 80 GB Speicherplatz. Zu Beginn werden wir so tun, als ob jede nur 25 GB Speicherplatz hätte (und somit nur 25 GB auf jeder von ihnen verwenden), und im Verlauf des Tutorials werden wir unsere 25 GB-Festplatten durch 80 GB-Festplatten “ersetzen”, um zu demonstrieren, wie Sie kleine Festplatten in LVM durch größere ersetzen können.

Der Artikel http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html verwendet Festplatten mit 250 GB und 800 GB, aber einige Befehle wie pvmove benötigen bei solchen Festplattengrößen viel Zeit, weshalb ich mich entschieden habe, Festplatten mit 25 GB und 80 GB zu verwenden (das reicht aus, um zu verstehen, wie LVM funktioniert).

1.1 Zusammenfassung

Laden Sie dieses Debian Etch VMware-Image (~310MB) herunter und starten Sie es wie folgt. Melden Sie sich als root mit dem Passwort howtoforge an.

2 LVM-Layout

Grundsätzlich sieht LVM so aus:

Sie haben ein oder mehrere physische Volumes (/dev/sdb1 - /dev/sde1 in unserem Beispiel), und auf diesen physischen Volumes erstellen Sie eine oder mehrere Volume-Gruppen (z.B. fileserver), und in jeder Volume-Gruppe können Sie ein oder mehrere logische Volumes erstellen. Wenn Sie mehrere physische Volumes verwenden, kann jedes logische Volume größer sein als eines der zugrunde liegenden physischen Volumes (aber natürlich darf die Summe der logischen Volumes den gesamten Speicherplatz, der von den physischen Volumes angeboten wird, nicht überschreiten).

Es ist eine gute Praxis, den gesamten Speicherplatz nicht für logische Volumes zuzuweisen, sondern etwas Speicherplatz ungenutzt zu lassen. So können Sie eines oder mehrere logische Volumes später vergrößern, wenn Sie das Bedürfnis danach haben.

In diesem Beispiel werden wir eine Volume-Gruppe namens fileserver erstellen, und wir werden auch die logischen Volumes /dev/fileserver/share, /dev/fileserver/backup und /dev/fileserver/media erstellen (die vorerst nur die Hälfte des von unseren physischen Volumes angebotenen Speicherplatzes verwenden - so können wir später zu RAID1 wechseln (was ebenfalls in diesem Tutorial beschrieben wird)).

3 Unser erstes LVM-Setup

Lassen Sie uns mehr über unsere Festplatten herausfinden:

fdisk -l

Die Ausgabe sieht so aus:

server1:~# fdisk -l  
   
 Disk /dev/sda: 21.4 GB, 21474836480 bytes  
 255 heads, 63 sectors/track, 2610 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sda1   *           1          18      144553+  83  Linux  
 /dev/sda2             19        2450    19535040   83  Linux  
 /dev/sda4            2451        2610     1285200   82  Linux swap / Solaris  
   
 Disk /dev/sdb: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sdb doesn't contain a valid partition table  
   
 Disk /dev/sdc: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sdc doesn't contain a valid partition table  
   
 Disk /dev/sdd: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sdd doesn't contain a valid partition table  
   
 Disk /dev/sde: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sde doesn't contain a valid partition table  
   
 Disk /dev/sdf: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sdf doesn't contain a valid partition table

Es gibt noch keine Partitionen auf /dev/sdb - /dev/sdf. Wir werden die Partitionen /dev/sdb1, /dev/sdc1, /dev/sdd1 und /dev/sde1 erstellen und /dev/sdf vorerst unberührt lassen. Wir tun so, als ob unsere Festplatten nur 25 GB Speicherplatz anstelle von 80 GB hätten, daher weisen wir 25 GB /dev/sdb1, /dev/sdc1, /dev/sdd1 und /dev/sde1 zu:

fdisk /dev/sdb

server1:~# fdisk /dev/sdb

Die Anzahl der Zylinder für diese Festplatte ist auf 10443 eingestellt.
Es ist nichts falsch damit, aber dies ist größer als 1024,
und könnte in bestimmten Setups Probleme verursachen mit:

  1. Software, die beim Booten läuft (z.B. alte Versionen von LILO)
  2. Boot- und Partitionierungssoftware von anderen OSs
    (z.B. DOS FDISK, OS/2 FDISK)

Befehl (m für Hilfe): <– m
Befehlsaktion
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Befehl (m für Hilfe): <– n
Befehlsaktion
e extended
p primary partition (1-4)
<– p
Partitionsnummer (1-4): <– 1
Erster Zylinder (1-10443, Standardwert 1): <–
Standardwert 1 verwenden
Letzter Zylinder oder +size oder +sizeM oder +sizeK (1-10443, Standardwert 10443): <– +25000M

Befehl (m für Hilfe): <– t
Ausgewählte Partition 1
Hex-Code (Typ L zum Auflisten der Codes): <– L

0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot
1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Hidden W95 FAT3 75 PC/IX
Hex-Code (Typ L zum Auflisten der Codes): <– 8e
Systemtyp der Partition 1 auf 8e (Linux LVM) geändert

Befehl (m für Hilfe): <– w
Die Partitionstabelle wurde geändert!

Aufruf von ioctl(), um die Partitionstabelle erneut zu lesen.
Festplatten synchronisieren.

Jetzt machen wir dasselbe für die Festplatten /dev/sdc - /dev/sde:

fdisk /dev/sdc  
 fdisk /dev/sdd  
 fdisk /dev/sde

Führen Sie dann erneut aus

fdisk -l

Die Ausgabe sollte so aussehen:

server1:~# fdisk -l  
   
 Disk /dev/sda: 21.4 GB, 21474836480 bytes  
 255 heads, 63 sectors/track, 2610 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sda1   *           1          18      144553+  83  Linux  
 /dev/sda2             19        2450    19535040   83  Linux  
 /dev/sda4            2451        2610     1285200   82  Linux swap / Solaris  
   
 Disk /dev/sdb: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sdb1               1        3040    24418768+  8e  Linux LVM  
   
 Disk /dev/sdc: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sdc1               1        3040    24418768+  8e  Linux LVM  
   
 Disk /dev/sdd: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sdd1               1        3040    24418768+  8e  Linux LVM  
   
 Disk /dev/sde: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
    Device Boot      Start         End      Blocks   Id  System  
 /dev/sde1               1        3040    24418768+  8e  Linux LVM  
   
 Disk /dev/sdf: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cylinders of 16065 * 512 = 8225280 bytes  
   
 Disk /dev/sdf doesn't contain a valid partition table

Jetzt bereiten wir unsere neuen Partitionen für LVM vor:

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
   Physisches Volume "/dev/sdb1" erfolgreich erstellt  
   Physisches Volume "/dev/sdc1" erfolgreich erstellt  
   Physisches Volume "/dev/sdd1" erfolgreich erstellt  
   Physisches Volume "/dev/sde1" erfolgreich erstellt

Lassen Sie uns diese letzte Aktion zu Trainingszwecken rückgängig machen:

pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
   Labels auf physischem Volume "/dev/sdb1" erfolgreich gelöscht  
   Labels auf physischem Volume "/dev/sdc1" erfolgreich gelöscht  
   Labels auf physischem Volume "/dev/sdd1" erfolgreich gelöscht  
   Labels auf physischem Volume "/dev/sde1" erfolgreich gelöscht

Führen Sie dann erneut aus

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
   Physisches Volume "/dev/sdb1" erfolgreich erstellt  
   Physisches Volume "/dev/sdc1" erfolgreich erstellt  
   Physisches Volume "/dev/sdd1" erfolgreich erstellt  
   Physisches Volume "/dev/sde1" erfolgreich erstellt

Führen Sie jetzt aus

pvdisplay

um den aktuellen Zustand Ihrer physischen Volumes zu erfahren:

server1:~# pvdisplay  
   --- NEUES Physisches Volume ---  
   PV Name               /dev/sdb1  
   VG Name  
   PV Größe               23.29 GB  
   Zuweisbar             NEIN  
   PE Größe (KByte)     0  
   Gesamt PE            0  
   Freie PE             0  
   Zugewiesene PE       0  
   PV UUID               G8lu2L-Hij1-NVde-sOKc-OoVI-fadg-Jd1vyU  
   
   --- NEUES Physisches Volume ---  
   PV Name               /dev/sdc1  
   VG Name  
   PV Größe               23.29 GB  
   Zuweisbar             NEIN  
   PE Größe (KByte)     0  
   Gesamt PE            0  
   Freie PE             0  
   Zugewiesene PE       0  
   PV UUID               40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B  
   
   --- NEUES Physisches Volume ---  
   PV Name               /dev/sdd1  
   VG Name  
   PV Größe               23.29 GB  
   Zuweisbar             NEIN  
   PE Größe (KByte)     0  
   Gesamt PE            0  
   Freie PE             0  
   Zugewiesene PE       0  
   PV UUID               4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B  
   
   --- NEUES Physisches Volume ---  
   PV Name               /dev/sde1  
   VG Name  
   PV Größe               23.29 GB  
   Zuweisbar             NEIN  
   PE Größe (KByte)     0  
   Gesamt PE            0  
   Freie PE             0  
   Zugewiesene PE       0  
   PV UUID               3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.