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.
#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.
#LXC vs. VM: Welche Lösung für Ollama wählen?
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).
#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.
- 01NVIDIA-Treiber auf dem Host installierenInstallieren 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.
- 02Einen nicht privilegierten LXC-Container erstellenEin 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).
- 03GPU-Geräte identifizierenListen 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.
- 04Geräte in der LXC-Konfiguration einbindenBearbeiten 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.
- 05Denselben Treiber im Container installierenInstallieren 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.
- 06Ollama installierenDas offizielle Skript erkennt die GPU automatisch. Ollama startet seinen Daemon und lädt die Modelle auf die gemeinsam genutzte Grafikkarte.
#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.
- 01IOMMU beim Boot aktivierenFü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.
- 02GPU für VFIO isolierenIdentifizieren 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.
- 03Initramfs neu generieren und neu startenAktualisieren 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.
- 04VM erstellen und GPU zuweisenErstellen 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).
- 05Treiber + Ollama in der VM installierenInstallieren 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.
#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.
#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.
#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.
#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.
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.