Skip to content
BotServBotServ
ProxmoxLXCVMContainerVirtualisierung

LXC vs. VM in Proxmox

Container und VMs in Proxmox richtig einsetzen. Unterschiede, Vor- und Nachteile, GPU-Passthrough und Sicherheit.

S

schutzgeist

3 min read
LXC vs. VM in Proxmox

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

KriteriumLXCVM
StartzeitSekundenMinuten
OverheadSehr geringHöher
IsolationGeringerStark
KernelGeteiltEigener
GPU-PassthroughSchwierig, aber möglichEinfacher
SnapshotsSchnellLangsamer
SpeicherEffizientMehr Overhead
SicherheitContainer-Escape möglichStärker isoliert
BetriebssystemNur LinuxBeliebig

Wann LXC wählen?

  • Ollama: Läuft gut in einem LXC, Docker kann mit nesting=1 genutzt 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

DienstEmpfohlene Variante
OllamaLXC oder VM, VM bei GPU
OpenClawLXC, später VM bei höheren Sicherheitsanforderungen
OpenHandsLXC mit Docker, bei GPU VM
PostgreSQL für RAGLXC
Open WebUILXC
Windows mit GPUVM

Typische Stolpersteine

  • LXC will nicht starten: Features wie nesting oder keyctl fehlen.
  • VM bootet nicht: UEFI statt SeaBIOS gewählt, VBIOS fehlt.
  • GPU-Passthrough in LXC: Gerätedateien nicht richtig durchgereicht.
  • Netzwerk nicht erreichbar: Bridge vmbr0 falsch konfiguriert.
  • Zu wenig RAM: VM oder LXC hat zu wenig zugewiesen.

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

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.

Zurück zum KI Blog
Share:

Ähnliche Beiträge