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:
- http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html
- http://www.debian-administration.org/articles/410
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
ifconfigaus.
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 -lDie 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 tableEs 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/sdbserver1:~# 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:
- Software, die beim Booten läuft (z.B. alte Versionen von LILO)
- 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/sdeFühren Sie dann erneut aus
fdisk -lDie 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 tableJetzt bereiten wir unsere neuen Partitionen für LVM vor:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# 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 erstelltLassen Sie uns diese letzte Aktion zu Trainingszwecken rückgängig machen:
pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# 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öschtFühren Sie dann erneut aus
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1server1:~# 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 erstelltFühren Sie jetzt aus
pvdisplayum 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-EKdRK6Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.