Files
chemenu/kb/entities/technologies/LVM.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

189 lines
4.6 KiB
Markdown

---
type: types/entity.md
entity_type: technology
tags: [storage, volume-management, linux, disks]
created: 2026-07-31
modified: 2026-08-29
related: [Arch Linux, Disk Encryption, AUR]
sources: [Source - Arch Linux Cheat Sheet]
confidence: 0.90
confidence_base: 0.90
provenance: sourced
summary: Device-Mapper-Framework unter Linux für flexible Datenträgerverwaltung mit Logical Volumes, Snapshots und Online-Vergrößerung jenseits klassischer Partitionierung.
---
# LVM
**Typ:** technology
## Beschreibung
Logical Volume Manager (LVM) ist ein Device-Mapper-Framework für Linux, das eine logische Volumenverwaltung für Festplattenspeicher bietet. Es ermöglicht flexible Speicherzuweisung, Größenänderung und Verwaltung über die Grenzen traditioneller Partitionierungsschemata hinaus.
## Kerndaten
- **Vollständiger Name:** Logical Volume Manager
- **Zweck:** Flexible Disk-Speicherverwaltung
- **Status:** Aktiv, reife Technologie
- **Kernel-Komponente:** Device Mapper
- **Upstream:** Teil des Linux-Kernels
- **Paket:** `lvm2` in den meisten Distributionen
## Komponenten
### Physical Volumes (PV)
Roh-Speichergeräte oder Partitionen, die für LVM-Nutzung initialisiert werden. Dies sind die Bausteine von LVM-Speicherpools.
### Volume Groups (VG)
Sammlungen von physischen Volumes, die einen Speicherpool bilden. Mehrere PVs können in einem einzigen VG kombiniert werden.
### Logical Volumes (LV)
Virtuelle Partitionen, die aus Volume Groups erstellt werden. LVs erscheinen dem System als normale Block-Geräte.
## Funktionen
- **Flexible Größenanpassung:** Größe von Volumes online ändern (auch während des Betriebs)
- **Dynamische Zuweisung:** Speicher nach Bedarf zuweisen
- **Snapshots:** Zeitpunktgenaue Kopien von Volumes erstellen
- **Thin Provisioning:** Speicher bei Bedarf zuweisen
- **Striping:** Daten auf mehrere Festplatten für Leistung verteilen
- **Mirroring:** Redundante Kopien für Zuverlässigkeit erstellen
## Häufige Befehle
### Physical Volumes
```bash
# Initialize a disk or partition as PV
pvcreate /dev/sdX1
# Display PV information
pvdisplay
pvs
# Remove PV
pvremove /dev/sdX1
```
### Volume Groups
```bash
# Create VG from one or more PVs
vgcreate myvg /dev/sdX1 /dev/sdX2
# Display VG information
vgdisplay
vgs
# Extend VG with additional PV
vgextend myvg /dev/sdX3
# Remove VG
vgremove myvg
```
### Logical Volumes
```bash
# Create LV
lvcreate -n mylv -L 10G myvg
# Display LV information
lvdisplay
lvs
# Resize LV
lvresize -L +5G myvg/mylv
lvresize -L 15G myvg/mylv
# Remove LV
lvremove myvg/mylv
```
## Ändern der Größe verschlüsselter LVM-Disks
Bei Verwendung von LVM mit LUKS-Verschlüsselung (häufige Konfiguration) ist der vollständige Größenänderungs-Workflow:
**Example from [[Source - Arch Linux Cheat Sheet]]:**
```bash
# 1. Expand the disk in virtualization layer (ESXi, etc.)
# 2. Rescan SCSI bus to see expanded disk
echo "1" > /sys/class/block/sdb/device/rescan
# 3. Verify disk size
fdisk -l /dev/xyz
# 4. Check LUKS status
cryptsetup status crypted
# 5. Resize LUKS container
cryptsetup resize crypted
# 6. Verify LUKS status
cryptsetup status crypted
# 7. Resize LVM Physical Volume
pvresize /dev/mapper/crypted
# 8. Verify PV size
pvdisplay
# 9. Allocate additional space to Logical Volume
lvresize -L+750g /dev/isp/owncloud
# 10. Verify LV size
lvs
# 11. Resize filesystem
resize2fs /dev/mapper/isp-owncloud
# 12. Verify
df -h
```
## Snapshot-Verwaltung
```bash
# Create snapshot
lvcreate -L 1G -s -n mysnap /dev/myvg/mylv
# Mount snapshot (read-only)
mount /dev/myvg/mysnap /mnt/snapshot
# Remove snapshot
lvremove /dev/myvg/mysnap
```
## Thin Provisioning
```bash
# Create thin pool
lvcreate -L 100G --thinpool mypool myvg
# Create thin LV
lvcreate -V 10G --thin mypool -n mythinlv
```
## Beziehungen
- **Verwendet mit:** [[Disk Encryption]] (dm-crypt/LUKS) für verschlüsselte Volumes
- **Läuft auf:** [[Arch Linux]] und andere Linux-Distributionen
und andere Infrastruktur
- **Teil von:** Speicherverwaltung in Linux-Systemen
## Bewährte Praktiken
1. **Aussagekräftige Namen verwenden:** VG- und LV-Namen sollten ihren Zweck beschreiben
2. **Freien Speicher überwachen:** `vgs` und `lvs` regelmäßig verwenden
3. **Metadaten sichern:** `vgcfgbackup` und `vgcfgrestore`
4. **Partitionen ausrichten:** Richtige Ausrichtung für SSDs verwenden (normalerweise 1 MiB)
5. **Redundanz erwägen:** Mirroring für kritische Daten verwenden
## Siehe auch
- [[Disk Encryption]] - dm-crypt/LUKS für verschlüsselte LVM
- [[Arch Linux]] - Distribution mit LVM-Unterstützung
- [[Source - Arch Linux Cheat Sheet]]
- https://wiki.archlinux.org/title/LVM
- https://sourceware.org/lvm2/