LXC vs. VM in Proxmox
Was dieser Artikel über LXC und VM in Proxmox behandelt
- Die technischen Unterschiede zwischen LXC und VM.
- Wann sich ein Container eignet und wann eine VM.
- Vor- und Nachteile bei Ressourcen, Sicherheit und Verwaltung.
- Wie GPU-Passthrough bei beiden Varianten funktioniert.
- Tipps für den praktischen Einsatz mit KI-Diensten.
Einleitung: LXC vs. VM in Proxmox
Proxmox VE bietet zwei Arten der Virtualisierung: Linux-Container (LXC) und virtuelle Maschinen (VM). Beide haben ihre Berechtigung, und die Wahl hängt von der Anforderung ab. Container sind leichtgewichtiger, VMs bieten bessere Isolation. Für lokale KI-Projekte ist die Entscheidung besonders wichtig, wenn es um GPU-Passthrough, Sicherheit und Ressourceneffizienz geht.
Dieser Artikel vergleicht beide Varianten und zeigt, wann man welche für KI-Dienste wie Ollama, OpenClaw, OpenHands oder Datenbanken wählt.
Wichtige Begriffe
- LXC: Linux-Container, teilt den Kernel mit dem Host.
- VM: Virtuelle Maschine mit eigenem Betriebssystem und Kernel.
- KVM: Kernel-based Virtual Machine, Virtualisierungstechnik hinter Proxmox-VMs.
- CT: Container in Proxmox.
- Passthrough: Durchreichen physischer Hardware an Gast.
- Overhead: Zusätzlicher Ressourcenverbrauch durch Virtualisierung.
- Snapshot: Speicherabbild eines laufenden oder gestoppten Zustands.
Was ist ein LXC?
Ein LXC ist ein isolierter Prozessbereich, der den Kernel des Hosts teilt. Container starten schnell, verbrauchen wenig Speicher und lassen sich einfach verwalten. Sie sind ideal für Linux-Anwendungen, die keinen eigenen Kernel brauchen, zum Beispiel Webserver, Datenbanken oder Monitoring-Tools.
Was ist eine VM?
Eine VM emuliert einen vollständigen Computer mit eigenem Kernel, eigenem Netzwerkstack und eigenen Geräten. Sie bietet stärkere Isolation, ist aber ressourcenintensiver und langsamer beim Start. VMs sind sinnvoll für Windows, spezielle Kernel-Anforderungen, GPU-Passthrough und höchste Sicherheit.
Vergleich
| Kriterium | LXC | VM |
|---|---|---|
| Startzeit | Sekunden | Minuten |
| Overhead | Sehr gering | Höher |
| Isolation | Geringer | Stark |
| Kernel | Geteilt | Eigener |
| GPU-Passthrough | Schwierig, aber möglich | Einfacher |
| Snapshots | Schnell | Langsamer |
| Speicher | Effizient | Mehr Overhead |
| Sicherheit | Container-Escape möglich | Stärker isoliert |
| Betriebssystem | Nur Linux | Beliebig |
Wann LXC wählen?
- Ollama: Läuft gut in einem LXC, Docker kann mit
nesting=1genutzt werden. - Datenbanken: PostgreSQL oder SQLite sind Container-freundlich.
- Reverse Proxy: Nginx Proxy Manager oder Traefik.
- Monitoring: Grafana, Prometheus.
- OpenClaw: LXC reicht, solange Sicherheitsmassnahmen eingehalten werden.
Wann VM wählen?
- Windows-Gast: LXC kann kein Windows ausführen.
- GPU-Passthrough: VMs bieten einfachere PCI-Durchreichung.
- Sichere Trennung: Höheres Sicherheitsniveau bei kritischen Diensten.
- Besondere Kernel-Module: Wenn der Gast einen eigenen Kernel benötigt.
- OpenHands mit Docker: VMs vereinfachen den Docker-Socket-Betrieb.
GPU-Passthrough
In einer VM
GPU-Passthrough in VMs ist der etablierte Weg. Man bindet die GPU per PCI-Passthrough ein und installiert im Gast den passenden Treiber. AMD- und Nvidia-Karten funktionieren, erfordern aber oft Workarounds wie VBIOS- oder Reset-Bug-Fixes.
In einem LXC
In LXC ist GPU-Passthrough komplizierter. Man muss Gerätedateien wie /dev/dri oder /dev/nvidia* an den Container durchreichen. Das funktioniert bei manchen Karten, ist aber nicht so stabil wie bei VMs.
Sicherheit
- VMs: Bessere Isolation, Kernel-Exploits im Gast bleiben meist im Gast.
- LXC: Teilt den Host-Kernel. Ein Container-Breakout kann den Host gefährden.
- Privilegierte LXC: Vermeiden, wenn möglich.
- AppArmor und Seccomp: Standardmässig bei LXC aktiviert, prüfen.
Ressourcenverwaltung
- LXC teilen Kernel-Ressourcen effizient.
- VMs reservieren RAM beim Start.
- Bei LXC kann dynamisch Speicher zugewiesen werden, bei VMs ist die Festlegung strenger.
Praktische Empfehlungen für KI
| Dienst | Empfohlene Variante |
|---|---|
| Ollama | LXC oder VM, VM bei GPU |
| OpenClaw | LXC, später VM bei höheren Sicherheitsanforderungen |
| OpenHands | LXC mit Docker, bei GPU VM |
| PostgreSQL für RAG | LXC |
| Open WebUI | LXC |
| Windows mit GPU | VM |
Typische Stolpersteine
- LXC will nicht starten: Features wie
nestingoderkeyctlfehlen. - VM bootet nicht: UEFI statt SeaBIOS gewählt, VBIOS fehlt.
- GPU-Passthrough in LXC: Gerätedateien nicht richtig durchgereicht.
- Netzwerk nicht erreichbar: Bridge
vmbr0falsch konfiguriert. - Zu wenig RAM: VM oder LXC hat zu wenig zugewiesen.
Weiterführende Links und Infos
- BotServ.de Proxmox Grundlagen
- BotServ.de Proxmox Backups und Restore
- BotServ.de OpenClaw auf Proxmox
- BotServ.de Ollama verwalten
- BotServ.de OpenHands auf Proxmox
FAQ: LXC vs. VM
Ist ein LXC schneller als eine VM? Ja, weil es den Host-Kernel teilt und weniger Overhead hat.
Brauche ich für Ollama unbedingt eine VM? Nein, ein LXC reicht meist. Für GPU-Passthrough ist eine VM aber einfacher.
Wann ist eine VM sicherer? Wenn starke Isolation und eigener Kernel nötig sind.
Kann ich GPU-Passthrough in LXC machen? Ja, aber es ist aufwendiger und weniger stabil als in VMs.
Was ist einfacher zu warten? LXC sind einfacher und schneller zu verwalten, besonders für Linux-Dienste.
Quellen und weiterführende Literatur
- Proxmox LXC: https://pve.proxmox.com/wiki/Linux_Container
- Proxmox VM: https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
- Proxmox GPU Passthrough: https://pve.proxmox.com/wiki/PCI_Passthrough
Zusammenfassung: LXC vs. VM in Proxmox
LXC und VMs in Proxmox haben beide ihre Stärken. Container sind ressourcenschonend, schnell und einfach, bieten aber weniger Isolation. VMs sind sicherer und besser für GPU-Passthrough sowie Windows geeignet. Für KI-Dienste wie Ollama, OpenClaw und OpenHands reichen meist LXC, während GPU-beschleunigte Workloads und höchste Sicherheitsanforderungen oft eine VM erfordern. Wer die Unterschiede kennt, trifft die passende Entscheidung für jeden Dienst.


