DEV Community

Uhltak Therestismysecret
Uhltak Therestismysecret

Posted on

Proxmox: Wann LXC-Container und wann KVM-VMs die bessere Wahl sind

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
Enter fullscreen mode Exit fullscreen mode

KVM-Benchmark (gleiche Hardware):

# KVM mit virtio Netzwerk
$ wrk -t12 -c400 -d30s http://kvm-instanz
Requests/sec: 24.771
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

  1. Ü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
Enter fullscreen mode Exit fullscreen mode
  1. Unterschätzte VM-Startzeiten:
# KVM: 15-30 Sekunden Boot vs. LXC: <1 Sekunde
Enter fullscreen mode Exit fullscreen mode
  1. Shared Kernel-Inkompatibilitäten:
# LXC-Log:
"Failed to load module aufs" # Host-Kernel fehlt Modul
Enter fullscreen mode Exit fullscreen mode

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 config und qm config sehen Sie die technischen Unterschiede Ihrer Instanzen – mehr Transparenz geht nicht.

Top comments (0)