Proxmox: Wann LXC-Container und wann KVM-VMs die bessere Wahl sind
Einleitung: Die Entscheidung, die jedes Proxmox-Team plagt
Wer Proxmox einsetzt, steht irgendwann vor der Gretchenfrage: Soll ich diesen Workload als LXC-Container oder als vollwertige KVM-VM betreiben? Nach 10 Jahren und Hunderten von Installationen sage ich: Es gibt keine pauschale Antwort – aber klare Entscheidungskriterien, die ich Ihnen zeige.
Performance-Vergleich: Reale Zahlen statt Marketing-Blabla
LXC-Benchmark (nginx auf einem Ryzen 9 5950X):
# LXC direkt mit Host-Kernel
$ wrk -t12 -c400 -d30s http://lxc-instanz
Requests/sec: 28.543
KVM-Benchmark (gleiche Hardware):
# KVM mit virtio Netzwerk
$ wrk -t12 -c400 -d30s http://kvm-instanz
Requests/sec: 24.771
Meine Einschätzung: Der 15% Performance-Vorteil von LXC ist real – aber für viele Workloads irrelevant. Entscheidender ist der Overhead bei I/O-Operationen, wo LXC durch direkten Device-Zugriff glänzt.
Sicherheit: Der oft übersehene Elefant im Raum
Szenario 1: Ein kompromittierter LXC-Container
# Innerhalb des Containers:
cat /proc/self/mountinfo | grep /var/lib/lxc # Erkennt Container-Umgebung
findmnt --kernel # Listet Host-Mounts auf
Meine Einschätzung: KVM bietet durch vollständige Isolation bessere Security Boundaries. LXC erfordert zusätzliches AppArmor/SELinux Hardening – das wird oft vernachlässigt.
Kosten vs. Komfort: Rechenzentrums-Mathematik
Beispiel-Host mit 128GB RAM:
- LXC: ~200 Container (je 512MB overhead)
- KVM: ~40 VMs (je 3GB overhead)
Meine Einschätzung: Die bessere Auslastung durch LXC verführt – aber VMs bieten bessere Isolation und Migrationsmöglichkeiten. Für Dev/Test sind Container ideal, Produktivdaten gehören oft in VMs.
Häufige Fehler und wie man sie vermeidet
- Übergabe von raw Devices an LXC:
# Falsch:
lxc.mount.entry = /dev/sdb /mnt ext4 rw 0 0
# Besser:
lxc.mount.entry = /mnt/backup /var/backups none bind 0 0
- Unterschätzte VM-Startzeiten:
# KVM: 15-30 Sekunden Boot vs. LXC: <1 Sekunde
- Shared Kernel-Inkompatibilitäten:
# LXC-Log:
"Failed to load module aufs" # Host-Kernel fehlt Modul
Mein Fazit nach 10 Jahren Praxis
Nutzen Sie LXC für:
- Stateless Services (Load Balancer, Proxy)
- CI/CD Builder
- Entwicklerumgebungen
Setzen Sie auf KVM für:
- Datenbanken mit kritischen Daten
- Legacy-Software mit eigenem Kernel-Bedarf
- PCIe-Passthrough Anwendungen
Nächster Schritt: Erstellen Sie eine Matrix Ihrer Workloads – und testen Sie beides mit Ihren echten Anwendungsfällen. Proxmox macht den Vergleich einfach.
Profi-Tipp: Mit
pct configundqm configsehen Sie die technischen Unterschiede Ihrer Instanzen – mehr Transparenz geht nicht.
Top comments (0)