Fortgeschritten 15 minProxmox

Ollama auf Proxmox: LXC, VM und GPU passthrough

Proxmox VE ist das Schweizer Taschenmesser fürs Homelab: ein freier Hypervisor, der sparsam mit Ressourcen umgeht und leichte Container sowie isolierte virtuelle Maschinen auf einem einzigen Server nebeneinander betreiben kann. Ollama auf Proxmox zu betreiben bedeutet, eine teure GPU für mehrere Dienste gemeinsam zu nutzen und die Inferenz dabei zu 100 % zu Hause zu halten. Dieser Leitfaden behandelt beide Wege – LXC mit gemeinsam genutzter GPU (einfach) und VM mit vollständigem Passthrough (sauber) – einschließlich der detaillierten NVIDIA-Konfiguration und der IOMMU-Fallstricke, die ganze Abende kosten.

Von Mohamed Meguedmi·Aktualisierung 2026-08-27·Unter Windows, macOS und Linux getestet

#Warum Ollama auf Proxmox hosten?

In einem Homelab möchte man selten einen Server ausschließlich für KI reservieren. Proxmox ermöglicht es, Ollama neben Ihren anderen Diensten (NAS, Hausautomation, Reverse Proxy) auf derselben Maschine zu betreiben und dabei jede Arbeitslast zu isolieren. Der Ollama-Daemon läuft dann in einem Container oder einer VM, lauscht auf seinem üblichen Port und ist aus Ihrer gesamten lokalen Infrastruktur erreichbar — von Open WebUI in einem anderen Container, einer n8n-Pipeline oder Ihrem Arbeitsplatzrechner aus.

Entscheidend ist die GPU. LLM-Inferenz ohne Hardwarebeschleunigung ist nutzbar, aber langsam; sobald Sie 14B- oder 32B-Modelle mit akzeptabler Geschwindigkeit betreiben möchten, müssen Sie Ollama Zugriff auf eine NVIDIA-Karte geben. Eine GPU zu virtualisieren ist allerdings nicht trivial: Proxmox bietet zwei grundverschiedene Ansätze mit entgegengesetzten Kompromissen hinsichtlich Einfachheit und technischer Sauberkeit.

i
Voraussetzungen dieses Leitfadens
Proxmox VE 8.x ist installiert und funktionsfähig, eine NVIDIA-GPU (RTX 3060 mit 12 GB oder besser) ist vorhanden, und Sie haben Root-Zugriff auf den Knoten über SSH oder die Webkonsole. Die Befehle sind für einen Debian-12-Host (Basis von Proxmox 8) und ein Debian-/Ubuntu-Gastsystem angegeben.

#LXC vs. VM: Welche Lösung für Ollama wählen?

Das Kit für lokale Agenten

Agenten, die auf Ihrem Rechner handeln: agentisches Cline, MCP, n8n + Ollama und lokale Automatisierungen.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen

Das ist die erste Entscheidung, und von ihr hängt alles Weitere ab. Ein LXC-Container teilt sich den Kernel mit dem Host: Er ist schlank, startet sofort und kann vor allem auf die GPU des Hosts zugreifen, ohne sie ihm zu entziehen. Eine VM hingegen ist eine vollständige, isolierte Maschine; um ihr eine GPU zur Verfügung zu stellen, muss diese ihr per VFIO-Passthrough vollständig zugewiesen werden — der Host verliert dann jeglichen Zugriff auf diese Karte.

LXC + geteilte GPU
Die einfache Lösung. Der NVIDIA-Treiber ist auf dem Host und im Container installiert (jeweils dieselbe Version), und die Geräte /dev/nvidia* werden in den Container eingebunden. Die GPU bleibt gleichzeitig für den Host und andere Container nutzbar. Ideal, wenn Sie eine einzige Grafikkarte gemeinsam nutzen möchten.
VM mit vollständigem Pass-Through
Die saubere Lösung. Die GPU wird vom Host getrennt und der VM über VFIO/IOMMU zugewiesen. Vollständige Isolierung, Treiberverwaltung in der VM wie auf physischer Hardware, keine gegenseitigen Beeinträchtigungen. Allerdings steht die GPU ausschließlich dieser VM zur Verfügung, solange sie läuft.
Das entscheidende Kriterium
Eine einzige Karte, die von mehreren Diensten gemeinsam genutzt werden soll → LXC. Eine dedizierte Karte für die KI (oder mehrere GPUs) und Bedarf an strikter Isolation → VM. Passthrough ist auch zwingend erforderlich, wenn Sie ein anderes Betriebssystem ausführen möchten (Windows, ein Betriebssystem mit speziellen Treibern).
→
Standardempfehlung
Für einen ersten Aufbau mit einer einzigen GPU in einem Homelab beginnen Sie mit LXC. Das lässt sich schneller einrichten, birgt weniger Fallstricke, und die Karte bleibt für andere Zwecke verfügbar. Wechseln Sie zu einer VM, wenn Sie tatsächlich Isolation benötigen oder eine dedizierte GPU haben.

#Hardwarevoraussetzungen und VRAM

Dimensionieren Sie die GPU entsprechend den vorgesehenen Modellen. Bei der Quantisierung Q4_K_M (dem besten Kompromiss zwischen Qualität und Speicherbedarf) wird je nach Modellgröße die folgende VRAM-Kapazität benötigt. Planen Sie immer eine Reserve für den Kontext ein.

3B (≈2 GB)
Eine RTX 3060 12GB reicht mehr als aus. Für Tests lässt sich das Modell auch ausschließlich auf der CPU komfortabel nutzen.
7B (≈5 GB)
RTX 3060 12GB oder RTX 4070 12GB. Der ideale Einstiegspunkt für ein Homelab.
14B (≈9 GB)
RTX 4070 mit 12 GB knapp, RTX 4080 mit 16 GB komfortabel.
32B (≈19 GB)
RTX 4090 mit 24 GB erforderlich, oder zwei Karten mit tensor-split.
70B (≈40 GB)
Multi-GPU (2× RTX 4090) oder Mac M4 Pro/Max mit mindestens 48 GB gemeinsamem Speicher.

Bei der Virtualisierung setzt GPU-Passthrough an eine VM strenge Voraussetzungen voraus, die bei LXC nicht erforderlich sind: eine CPU und ein Mainboard mit Unterstützung für VT-d (Intel) oder AMD-Vi (AMD), eine im BIOS aktivierte IOMMU und idealerweise eine separate IOMMU-Gruppe für die GPU. LXC benötigt nichts davon – lediglich der NVIDIA-Treiber muss sich auf dem Host installieren lassen.


#LXC mit gemeinsam genutzter GPU: der einfache Weg

Das Prinzip: den NVIDIA-Treiber auf dem Proxmox-Host installieren, einen unprivilegierten LXC-Container erstellen, die GPU-Geräte darin einbinden und anschließend denselben Treiber (ohne Kernelmodul) sowie Ollama im Container installieren. Die Treiberversion muss auf Host und Container identisch sein, sonst verweigert der Userspace des Containers die Kommunikation mit dem Kernelmodul des Hosts.

  1. 01
    NVIDIA-Treiber auf dem Host installieren
    Installieren Sie die Kernel-Header und anschließend den Treiber aus dem NVIDIA-Repository (oder über die offizielle .run-Datei). Prüfen Sie mit nvidia-smi, ob die Karte auf dem Host korrekt erkannt wird, bevor Sie fortfahren.
  2. 02
    Einen nicht privilegierten LXC-Container erstellen
    Ein Debian-12- oder Ubuntu-24.04-Template reicht aus. Aktivieren Sie die Verschachtelung (nesting=1), um die Ausführung der GPU-Runtimes zu ermöglichen. Notieren Sie die Container-ID (z. B. 200).
  3. 03
    GPU-Geräte identifizieren
    Listen Sie auf dem Host die Geräteknoten /dev/nvidia* auf und notieren Sie deren Major- und Minor-Nummern. Genau diese Geräteknoten werden wir dem Container zugänglich machen.
  4. 04
    Geräte in der LXC-Konfiguration einbinden
    Bearbeiten Sie /etc/pve/lxc/200.conf, um die cgroups der NVIDIA-Geräte zu erlauben und diese als bind-Mount zu montieren. Starten Sie den Container neu.
  5. 05
    Denselben Treiber im Container installieren
    Installieren Sie im Container den NVIDIA-Treiber mit der Option --no-kernel-module (das Modul kommt vom Host). nvidia-smi muss jetzt auch im Container funktionieren.
  6. 06
    Ollama installieren
    Das offizielle Skript erkennt die GPU automatisch. Ollama startet seinen Daemon und lädt die Modelle auf die gemeinsam genutzte Grafikkarte.
Proxmox-Host
# 1. En-têtes noyau + driver NVIDIA sur l'hôte
apt update && apt install -y pve-headers-$(uname -r)
apt install -y nvidia-driver nvidia-smi

# Vérifier la détection
nvidia-smi

# 2. Repérer les device nodes (relever major:minor)
ls -l /dev/nvidia*
/etc/pve/lxc/200.conf
# Conteneur non privilégié + nesting
features: nesting=1

# Autoriser les cgroups des périphériques NVIDIA (major 195, 234, 508 selon setup)
lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 234:* rwm
lxc.cgroup2.devices.allow: c 509:* rwm

# Monter les device nodes dans le conteneur
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file
Im LXC-Container
# Même version de driver, SANS le module noyau (fourni par l'hôte)
./NVIDIA-Linux-x86_64-<version>.run --no-kernel-module

# nvidia-smi doit répondre à l'intérieur du conteneur
nvidia-smi

# Installer Ollama (détecte le GPU tout seul)
curl -fsSL https://ollama.com/install.sh | sh

# Test : le modèle doit se charger sur le GPU
ollama run qwen3.5:9b
!
Die Stolperfalle bei Treiberversionen
Wenn nvidia-smi im Container „Failed to initialize NVML: Driver/library version mismatch“ anzeigt, stimmt die Treiberversion im Container nicht genau mit der auf dem Host überein. Installieren Sie dieselbe Version erneut oder starten Sie nach einem Update des Hosts den Container neu, um beide wieder zu synchronisieren.

#VM mit vollständigem Passthrough, die saubere Lösung

Hier wird die GPU dem Host entzogen und über VFIO einer virtuellen Maschine (VM) zugewiesen. Die VM erkennt eine echte NVIDIA-Karte und verhält sich wie ein Bare-Metal-System: Der Treiber wird dort ganz normal installiert, ohne Bastelei mit Treiberversionen. Dafür muss der Host so vorbereitet werden, dass er die Karte beim Start freigibt (VFIO-Binding) und der Kernel den nvidia-Treiber auf dem Host nicht lädt.

  1. 01
    IOMMU beim Boot aktivieren
    Fügen Sie intel_iommu=on (oder amd_iommu=on) und iommu=pt den Kernelparametern hinzu, entweder in GRUB oder systemd-boot, je nach Ihrer Proxmox-Installation.
  2. 02
    GPU für VFIO isolieren
    Identifizieren Sie die PCI-IDs der Karte (GPU und deren HDMI-Audiofunktion), tragen Sie sie in vfio-pci ein und setzen Sie die Treiber nouveau/nvidia auf dem Host auf die Sperrliste, damit der Host diese Geräte nicht übernimmt.
  3. 03
    Initramfs neu generieren und neu starten
    Aktualisieren Sie das initramfs, damit die VFIO-Module berücksichtigt werden, und starten Sie anschließend den Host neu. Prüfen Sie, ob die GPU tatsächlich von vfio-pci verwaltet wird.
  4. 04
    VM erstellen und GPU zuweisen
    Erstellen Sie eine VM (Maschinentyp q35, BIOS OVMF/UEFI), fügen Sie das PCI-Gerät der GPU per Passthrough hinzu und aktivieren Sie das Kontrollkästchen PCI-Express. Installieren Sie das Gastbetriebssystem (Ubuntu Server empfohlen).
  5. 05
    Treiber + Ollama in der VM installieren
    Installieren Sie in der VM den üblichen NVIDIA-Treiber (das Kernelmodul ist hier zulässig, da es sich um eine vollwertige Maschine handelt), überprüfen Sie die Installation mit nvidia-smi und installieren Sie anschließend Ollama.
Host – IOMMU aktivieren (GRUB)
# Éditer /etc/default/grub, ligne GRUB_CMDLINE_LINUX_DEFAULT
# Intel :
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
# AMD :
# GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

update-grub
reboot

# Après reboot : vérifier que l'IOMMU est actif
dmesg | grep -e DMAR -e IOMMU
Host — VFIO-Binding
# Trouver les IDs PCI et les vendor:device IDs du GPU
lspci -nn | grep -i nvidia
# ex. 01:00.0 ... [10de:2504]  (GPU)
#     01:00.1 ... [10de:228e]  (audio HDMI de la carte)

# Déclarer les IDs pour vfio-pci
echo "options vfio-pci ids=10de:2504,10de:228e" > /etc/modprobe.d/vfio.conf

# Blacklister les drivers côté hôte
echo -e "blacklist nouveau\nblacklist nvidia\nblacklist nvidiafb" > /etc/modprobe.d/blacklist-nvidia.conf

# Charger vfio au boot puis régénérer l'initramfs
echo -e "vfio\nvfio_iommu_type1\nvfio_pci" >> /etc/modules
update-initramfs -u -k all
reboot

# Après reboot : le GPU doit utiliser vfio-pci
lspci -nnk -d 10de:2504
→
PCI-Gerät in der Proxmox-Oberfläche hinzufügen
Wählen Sie in der VM unter Hardware → Add → PCI Device die GPU aus. Aktivieren Sie „All Functions“, um HDMI-Audio einzubeziehen, und „PCI-Express“ (erfordert eine VM mit dem Maschinentyp q35 und dem BIOS OVMF). Bei neueren NVIDIA-Treibern ist die Umgehung des berüchtigten „Code 43“ in einem Linux-Gastsystem nicht mehr nötig.

#IOMMU, Treiber und klassische Fallen

Passthrough scheitert selten ohne Grund: Fast immer liegt es an der IOMMU oder an einer schlecht isolierten PCI-Gruppe. Hier finden Sie die häufigsten Probleme und erfahren, wie Sie sie diagnostizieren.

Nicht isolierte IOMMU-Gruppen
Wenn die GPU ihre IOMMU-Gruppe mit anderen Geräten (USB-Controller, andere Karte) teilt, verweigert Proxmox das Passthrough. Prüfen Sie die Gruppen; als letztes Mittel trennt der ACS-Override-Patch die Gruppen, allerdings auf Kosten einer weniger strikten Isolation.
Der Host beansprucht die GPU für sich
Wenn lspci nach dem Neustart die GPU unter „nvidia“ oder „nouveau“ statt unter „vfio-pci“ anzeigt, hat die Blacklist nicht gegriffen. Prüfen Sie /etc/modprobe.d und erzeugen Sie das initramfs neu.
IOMMU im BIOS nicht aktiviert
dmesg zeigt keine DMAR/IOMMU-Zeilen: VT-d oder AMD-Vi ist in der Firmware deaktiviert. Aktivieren Sie die Funktion zuerst im BIOS.
Nicht übereinstimmende Treiberversion im LXC-Container
Nur bei LXC: NVML-Versionskonflikt nach einem Update des Hosts. Gleichen Sie die Versionen auf Host und Container wieder aneinander an.
GPU, die von der Konsole des Hosts verwendet wird
Eine einzelne GPU, die zugleich für die Videoausgabe von Proxmox dient, lässt sich nur schwer sauber durchreichen. Behalten Sie idealerweise eine iGPU oder eine zweite Grafikkarte für die Bildausgabe des Hosts.
Host – die IOMMU-Gruppen prüfen
# Lister les groupes IOMMU et leurs périphériques
for g in /sys/kernel/iommu_groups/*; do
  echo "Groupe ${g##*/}:"
  for d in $g/devices/*; do
    echo -n "  "; lspci -nns "${d##*/}"
  done
done

# Le GPU (et son audio) doit idéalement être seul dans son groupe

#Ollama im lokalen Netzwerk bereitstellen

Standardmäßig hört Ollama nur auf http://localhost:11434 – also ausschließlich vom Inneren des Containers oder der VM aus. Um ihn von Open WebUI, der anderswo gehostet ist, oder von Ihrem Rechner aus aufzurufen, muss ihm mit der Variablen OLLAMA_HOST angegeben werden, dass er auf alle Interfaces hört.

Im Container / in der VM
# Écouter sur toutes les interfaces (override du service systemd)
mkdir -p /etc/systemd/system/ollama.service.d
cat > /etc/systemd/system/ollama.service.d/override.conf <<'EOF'
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
EOF

systemctl daemon-reload
systemctl restart ollama

# Depuis un autre hôte du LAN, tester l'API
curl http://<ip-conteneur>:11434/api/tags
!
Ollama nicht ungeschützt im Internet zugänglich machen
Die Ollama-API verfügt über keinerlei Authentifizierung. Wenn sie auf 0.0.0.0 lauscht, beschränken Sie den Zugriff strikt auf Ihr lokales Netzwerk oder betreiben Sie sie hinter einem Reverse-Proxy mit Authentifizierung (Traefik, Caddy). Richten Sie auf Ihrem Router niemals eine direkte Portweiterleitung für Port 11434 ein.

#Fehlerbehebung

nvidia-smi fehlt im Container
Nicht eingehängte Geräte oder falsch gesetzte cgroup-Berechtigungen. Prüfen Sie die Zeilen lxc.mount.entry und lxc.cgroup2.devices.allow, anschließend die tatsächlichen Major-Gerätenummern mit ls -l /dev/nvidia*.
Ollama läuft trotz vorhandener GPU auf der CPU
Prüfen Sie die Ausgabe von ollama ps: Wenn beim Modell „100% CPU“ angezeigt wird, erkennt die CUDA-Laufzeitumgebung die Grafikkarte nicht. Überprüfen Sie nvidia-smi und starten Sie den Ollama-Daemon neu.
Die VM startet nach dem Hinzufügen des PCI-Geräts nicht
Häufig ein Problem mit OVMF/q35 oder einer gemeinsam genutzten IOMMU-Gruppe. Prüfen Sie die VM-Logs und stellen Sie sicher, dass die Karte auf dem Host an vfio-pci gebunden ist.
Leistungsabfall nach Aktualisierung von Proxmox
Ein Update des Host-Kernels kann dazu führen, dass das NVIDIA-Modul (LXC) oder die VFIO-Bindung nicht mehr funktioniert. Installieren Sie die Kernel-Header und den Treiber erneut und erstellen Sie das initramfs neu.
Schnelle Prüfungen
# Le GPU est-il vu par Ollama ?
ollama ps          # doit montrer un % GPU, pas 100% CPU

# État de la carte et VRAM utilisée
nvidia-smi

# Le daemon répond-il ?
curl http://localhost:11434/api/tags

#Weiterführende Informationen

Sobald Ollama auf Proxmox eingerichtet ist, helfen diese Leitfäden auf unserer Website dabei, den Stack fertig einzurichten und die passende Hardware auszuwählen:

Ollama unter Linux installieren
Beschreibt ausführlich die saubere Installation des Daemons, systemd und die NVIDIA/AMD-GPU-Konfiguration – hilfreich für die Einrichtung innerhalb des Containers oder der VM.
Ein LLM mit Docker Compose in einer Produktionsumgebung bereitstellen
Um Open WebUI, Qdrant und einen Reverse-Proxy mit Ihrer Ollama-Installation auf Proxmox zu einem vollständigen Stack zusammenzuführen.
GPU für lokale KI auswählen
Der GPU-Kaufratgeber 2026, um die Karte je nach den vorgesehenen Modellen passend zu dimensionieren und in LXC oder per Passthrough einzubinden.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.