Filesystem Choices: Ext4, XFS, Btrfs & LVM (Artikel 019)
Vergleich der gängigen Linux-Dateisysteme. Entscheidungshilfe für Enterprise-Szenarien unter Berücksichtigung von Performance, Skalierbarkeit und Features wie Snapshots.
# Filesystem Deep Dive: Das richtige Fundament für Ihre Daten
TL;DR / Management Summary Die Wahl des Dateisystems beeinflusst die Performance, Datensicherheit und Wartbarkeit eines Servers massiv. Während Ext4 der robuste Allrounder bleibt, ist XFS der König für große Dateien und High-Performance-Workloads. Btrfs bietet moderne Features wie Copy-on-Write und Snapshots, während LVM als Abstraktionsschicht darunter unverzichtbar für flexibles Resizing ist. Empfehlung: XFS auf LVM für Datenbanken/General Purpose; Btrfs für Workstations oder Backup-Targets.
# 1. Einführung & Architektur
Wie Daten auf die Disk kommen.
Das Dateisystem ist die Logik, die dem Kernel sagt, wo welcher Block auf dem physikalischen Datenträger liegt.
# Der Storage Stack (Mermaid)
graph TD
A[Applikation: Write File] --> B[VFS: Virtual File System]
B --> C[Filesystem: Ext4/XFS/Btrfs]
C --> D[Device Mapper / LVM]
D --> E[Block Layer: I/O Scheduler]
E --> F[Hardware: SSD / NVMe / HDD]
# 2. Die Kontrahenten im Detail
Stärken und Schwächen.
# Ext4 (Fourth Extended Filesystem)
Der Standard für fast alles.
- Vorteil: Extrem stabil, kann online vergrößert werden, sehr geringer Overhead.
- Nachteil: Kein natives Snapshotting (braucht LVM), Skalierung bei sehr großen Dateisystemen (>16TB) schlechter als XFS.
# XFS (The Enterprise Giant)
Standard bei RHEL und ideal für große Datenmengen.
- Vorteil: Exzellente Performance bei parallelen I/O Zugriffen, extrem schnelle Check-Zeiten (xfs_repair).
- Nachteil: Kann nicht verkleinert werden (nur vergrößert!).
# Btrfs (B-Tree Filesystem)
Das “Next Gen” Dateisystem (ähnlich wie ZFS).
- Vorteil: Copy-on-Write (CoW), native Snapshots, integriertes RAID, Checksummen gegen “Silent Data Corruption”.
- Nachteil: Komplexer zu verwalten, Performance-Einbußen bei Datenbanken (wegen CoW Fragmentation).
# 3. LVM: Die Rettung für Admins
Warum wir fast nie direkt auf Partitionen formatieren.
LVM (Logical Volume Manager) fügt eine Schicht zwischen Disk und Dateisystem ein.
- PV (Physical Volume): Die echte Disk.
- VG (Volume Group): Ein Pool aus Disks.
- LV (Logical Volume): Die “virtuelle” Partition, auf der das Filesystem liegt.
Enterprise-Regel: Installieren Sie Server immer auf LVM. Es erlaubt Ihnen, im laufenden Betrieb Speicherplatz von einer Partition (z.B. /home) zu einer anderen (z.B. /var/lib/mysql) zu schieben.
# 4. Entscheidungs-Matrix (Enterprise)
| Use Case | Empfehlung | Grund |
|---|---|---|
| OS Root (/) | Ext4 auf LVM | Stabil, pflegeleicht, schmerzfreies Resizing. |
| Datenbanken | XFS auf LVM | Optimiert für parallele Zugriffe und große Files. |
| Backup-Server | Btrfs | Snapshots und Kompression sparen massiv Platz. |
| Virtualisierung | Ext4 oder XFS | Konsistente Performance (Latenz ist wichtig). |
# 5. Day-2 Operations: Resizing im Alltag
Wenn der Platz knapp wird.
# Vergrößern (Online - Ohne Downtime!)
# 1. Physical Volume vergrößern (nachdem die VM-Disk vergrößert wurde)
pvresize /dev/sda2
# 2. Logical Volume vergrößern (+10GB)
lvextend -L +10G /dev/vg0/lv_root
# 3. Filesystem anpassen (Ext4)
resize2fs /dev/vg0/lv_root
# 3. Filesystem anpassen (XFS)
xfs_growfs /
# 6. Troubleshooting & “War Stories”
Wenn der Superblock stirbt.
# Story 1: “XFS und die Einbahnstraße”
Symptom: Ein Kunde hat versehentlich 1TB für /boot reserviert und will den Platz zurück.
Ursache: XFS unterstützt kein Shrinking.
Lösung: Backup der Daten, Dateisystem löschen, LV verkleinern, XFS neu erstellen, Daten zurückspielen. Lektion: Planen Sie XFS-Größen konservativ oder nutzen Sie Ext4, wenn Verkleinerungen wahrscheinlich sind.
# Story 2: “Btrfs Metadata Full”
Symptom: df -h sagt 50% frei, aber beim Schreiben kommt “No space left on device”.
Ursache: Btrfs trennt zwischen Daten- und Metadaten-Chunks. Die Metadaten-Chunks sind voll.
Lösung: btrfs balance start / ausführen, um den Speicher neu zu organisieren.
# 7. Fazit & Empfehlung
Für 90% aller Linux-Server ist Ext4 auf LVM die sicherste Wahl. Wenn Sie hohe I/O Lasten haben (Datenbanken), nutzen Sie XFS. Experimentieren Sie mit Btrfs nur, wenn Sie die Snapshot-Features wirklich brauchen und die Komplexität verstehen.
# Anhang: Cheatsheet
| Tool | Zweck |
|---|---|
lsblk -f |
Zeigt Dateisystem-Typen und Mountpoints. |
pvs / vgs / lvs |
Schnelle Übersicht der LVM-Struktur. |
xfs_info /dev/mapper/... |
Zeigt Details zu einem XFS Volume. |
tune2fs -l /dev/... |
Zeigt Details zu einem Ext4 Volume. |
fsck -n /dev/... |
Dateisystem-Check im Read-Only Modus (sicher). |