<< Zurück

KI lernen: Von Installation bis Einsatz

Wie installiere ich Ollama effektiv auf Proxmox?

Ollama and proxmox

Seitenaufrufe: 63 Aufrufe

Wie installiere ich Ollama effektiv auf Proxmox?

Was ist Ollama?

Ollama ist eine moderne Plattform, die es ermöglicht, leistungsfähige KI-Sprachmodelle wie LLaMA 3 lokal auszuführen – ohne Daten an externe Server zu senden. Die Software bietet eine einfache Handhabung, automatische Modellverwaltung und GPU-Unterstützung, was die Verarbeitung von großen Modellen deutlich beschleunigt.

Welche Vorteile bietet Ollama auf Proxmox?

Durch die Kombination von Ollama mit Proxmox und GPU-Passthrough kann die volle Rechenleistung einer NVIDIA-Grafikkarte genutzt werden, während der Ressourcenverbrauch durch den Einsatz eines LXC-Containers gering bleibt. Dies ermöglicht eine effiziente und kostengünstige lokale KI-Nutzung ohne Cloud-Abhängigkeit.

Voraussetzungen und wichtiger Hinweis

Für die Installation von Ollama auf Proxmox sind folgende Voraussetzungen nötig:

  • Eine funktionierende Proxmox VE-Installation (Version 7 oder 8) mit aktiviertem IOMMU (VT-d/AMD-V)

  • Eine NVIDIA-Grafikkarte mit GPU-Passthrough-Funktion

  • Grundlegende Kenntnisse im Umgang mit Proxmox

Falls keine Proxmox-Installation vorhanden ist, verweist dieser Beitrag auf eine ausführliche Anleitung zur Installation von Proxmox in einem vorherigen Blogartikel:

Schnell & einfach erklärt: Wie installiere ich Proxmox VE?

 

Schritt 1: Anmeldung am Proxmox VE Host

Im ersten Schritt erfolgt die Anmeldung am Proxmox VE Host. Dies geschieht entweder über SSH oder über die Weboberfläche von Proxmox.

Wie installiere ich Ollama effektiv auf Proxmox?

Schritt 2: Installation der NVIDIA-Treiber auf dem Proxmox-Host

Im nächsten Schritt wird auf dem Proxmox-Host der NVIDIA-Treiber installiert, um die Grafikkarte für das GPU-Passthrough vorzubereiten. Die korrekten Treiber sorgen dafür, dass die GPU sowohl vom Host als auch vom später erstellten LXC-Container genutzt werden kann.

Dazu lädt man zunächst den passenden NVIDIA-Treiber von der offiziellen NVIDIA-Webseite herunter.

nvidia treiber 1nvidia treiber 2nvidia treiber

Mit dem rechten Klick können sie den Link in die Zwischenablage kopieren.

Jetzt offen wir das Shell Fenster von Proxmox.

proxmox schell

Danach fügen wir unser kopierten link mit dem wget Befehl aus, um die Nvidia Treiber auf den Proxmox Host herunterzuladen.

wget https://de.download.nvidia.com/XFree86/Linux-x86_64/570.153.02/NVIDIA-Linux-x86_64-570.153.02.run

proxmox shell 002

nvidia driver download

Damit der NVIDIA-Treiber korrekt auf dem Proxmox-Host installiert und verwendet werden kann, müssen zunächst wichtige Systempakete installiert werden.

Dazu gehören die passenden Kernel-Header sowie grundlegende Werkzeuge zum Kompilieren von Software.

apt install pve-headers make gcc build-essential

pve-headers install

NVIDIA-Installer ausführbar machen und mit DKMS installieren

Um den NVIDIA-Installer auf dem Proxmox-Host ausführen zu können, muss die Installationsdatei zunächst ausführbar gemacht werden. Dies geschieht mit folgendem Befehl:

chmod +x NV*

chmod +x

Anschließend wird der Installer mit dem Parameter --dkms gestartet:

./NV* --dkms

dkms installnvidia installer 1nvidia installer 2 nvidia installer 3

Überprüfung der NVIDIA-Treiber mit nvtop

Nach der Installation der NVIDIA-Treiber empfiehlt es sich, zu überprüfen, ob die Grafikkarte korrekt erkannt und genutzt wird. Hierfür eignet sich das Tool nvtop, ein interaktiver Prozess- und GPU-Monitor für NVIDIA-Grafikkarten.

Mit nvtop kann man in Echtzeit sehen, ob die GPU aktiv ist und welche Prozesse darauf zugreifen. Um nvtop zu installieren, verwendet man folgenden Befehl:

apt install nvtop

Nach der Installation wird nvtop einfach durch Eingabe von

nvtop

nvtop

Schritt 3: Start der Ollama LXC-Container Installation

Nachdem die NVIDIA-Treiber erfolgreich installiert und überprüft wurden, kann mit der eigentlichen Installation des Ollama LXC-Containers begonnen werden. Dieser Container ermöglicht die Ausführung von Ollama mit GPU-Beschleunigung innerhalb von Proxmox, wobei die Ressourcen effizient genutzt werden.

Im nächsten Schritt wird ein vorkonfiguriertes Skript verwendet, das automatisch einen passenden Ubuntu-basierten LXC-Container erstellt und Ollama einsatzbereit macht.

proxmox user scripts

Nützliche Ressourcen: Proxmox Community-Skripte

Eine hilfreiche Anlaufstelle für Proxmox-Nutzer ist die Webseite https://community-scripts.github.io/ProxmoxVE/. Dort werden zahlreiche praktische Skripte bereitgestellt, die die Verwaltung und Einrichtung von Containern und virtuellen Maschinen erheblich erleichtern.

Ausführung des Ollama-Installationsskripts

Um das Ollama-Installationsskript auszuführen, meldet man sich zunächst in der Proxmox-Shell an. Dort wird anschließend folgender Befehl eingegeben und ausgeführt:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/ollama.sh)"

Dieser Befehl lädt das Skript direkt von der offiziellen Community-Skripte-Seite herunter und startet die automatische Installation. Das Skript erstellt einen Ubuntu-basierten LXC-Container, und richtet Ollama vollständig ein.

Durch die Nutzung dieses Skripts wird der Installationsprozess erheblich vereinfacht und beschleunigt.

ollama proxmox script install

Wichtige Hinweise zur Installation

Während der Installation ist es entscheidend, dass die IP-Adressen der LXC-Container fest (statisch) vergeben werden. Nur so ist sichergestellt, dass der Container dauerhaft unter derselben Adresse erreichbar ist, was insbesondere für den späteren Zugriff und die Nutzung von Ollama wichtig ist.

Zudem muss der Root-Zugang im Container aktiviert sein. Dies ermöglicht eine unkomplizierte Verwaltung und Installation weiterer Komponenten im Container, die für den Betrieb von Ollama erforderlich sind.

Die korrekte Konfiguration dieser Punkte ist unerlässlich, damit die Installation reibungslos verläuft und der Ollama-Container stabil läuft.

Start des Installationsskripts nach Grundkonfiguration

Nachdem die grundlegenden Konfigurationen wie die Vergabe einer festen IP-Adresse und die Aktivierung des Root-Zugangs vorgenommen wurden, startet das Installationsskript automatisch mit der Einrichtung des Ollama LXC-Containers.

install script 01 install script 2

install script 3

NVIDIA-Treiber im LXC-Container installieren

Nach Abschluss der Installation auf dem Proxmox-Host ist es notwendig, einen Teil der NVIDIA-Treiber auch im LXC-Container zu installieren. Nur so kann der Container direkt auf die GPU zugreifen und Ollama die Hardware-Beschleunigung nutzen.

Dieser Schritt stellt sicher, dass die GPU-Treiber sowohl auf dem Host als auch innerhalb des Containers korrekt eingerichtet sind, um eine reibungslose und leistungsfähige Nutzung der Grafikkarte zu gewährleisten.

Bevor der NVIDIA-Treiber im LXC-Container installiert werden kann, muss die bereits heruntergeladene Treiberdatei vom Proxmox-Host in den Container kopiert werden. Dafür wird der Befehl pct push verwendet.

pct push 300 NVIDIA-Linux-x86_64-570.133.07.run /root/NVIDIA-Linux-x86_64-570.133.07.run

Nachdem die Treiberdatei in den Container kopiert wurde, muss man nun in den Container wechseln, um die Installation durchzuführen. Das gelingt mit folgendem Befehl:

pct enter 300

Dabei steht 300 für die ID des jeweiligen LXC-Containers.

Im Container angekommen, wird die Installationsdatei ausführbar gemacht:

chmod +x NVIDIA-Linux-x86_64-570.133.07.run

Anschließend startet man die Installation mit speziellen Optionen, um die Kernel-Module im Container zu überspringen:

./NV* --no-kernel-modules

Der Parameter --no-kernel-modules ist wichtig, da die Kernel-Module bereits auf dem Proxmox-Host installiert sind und im Container nicht erneut kompiliert werden müssen.

Sobald die Installation des NVIDIA-Treibers im LXC-Container abgeschlossen ist, wird der Container mit folgendem Befehl heruntergefahren:#

shutdown now

GPU-Passthrough an den LXC-Container einrichten

Um die NVIDIA-Grafikkarte(n) an den LXC-Container durchzureichen, muss man zunächst auf dem Proxmox-Host die vorhandenen NVIDIA-Geräte überprüfen. Dazu wird im Terminal des Hosts folgender Befehl eingegeben:

ls -la /dev/nvidia*

ls dev nvidia

Im Proxmox-Webinterface wählt man zunächst den LXC-Container aus, beispielsweise mit der ID 300 (oder dem entsprechenden Namen/der Nummer). Anschließend navigiert man zum Reiter „Ressourcen“.

Dort klickt man auf „Hinzufügen“ und wählt „Geräte-Passthrough“ aus. In diesem Schritt können die zuvor identifizierten NVIDIA-Geräte ausgewählt und dem Container zugewiesen werden.

Durch diese Konfiguration erhält der Container direkten Zugriff auf die GPU-Hardware, was für die optimale Leistung von Ollama unerlässlich ist.

Proxmox Gui Devices

Nach der Zuweisung der NVIDIA-GPU-Geräte kann der LXC-Container gestartet werden. Anschließend meldet man sich in der Container-Shell an.

Dort wird das Tool nvtop installiert, um zu überprüfen, ob die Grafikkarten korrekt übernommen wurden und die GPU im Container verfügbar ist.

GPU-Passthrough dauerhaft aktivieren: Crontab für Neustart anlegen

Damit der LXC-Container auch nach einem Neustart oder Reboot des Proxmox-Hosts weiterhin korrekt auf die NVIDIA-Grafikkarten zugreifen kann, sollte ein Crontab-Eintrag erstellt werden, der beim Systemstart ausgeführt wird.

Dazu öffnet man auf dem Proxmox-Host im Terminal den Crontab-Editor mit folgendem Befehl:

crontab -e

Beim ersten Öffnen wird man gefragt, welchen Editor man verwenden möchte. Hier wählt man nano aus, indem man die entsprechende Nummer eingibt.

Im Editor angekommen, drückt man einmal die Enter-Taste, um eine freie Zeile am Anfang zu schaffen, und fügt folgende Zeile ein:

@reboot nvidia-smi

Diese Anweisung sorgt dafür, dass der Befehl nvidia-smi bei jedem Systemstart automatisch ausgeführt wird. Dadurch werden die NVIDIA-GPU-Treiber neu initialisiert und der Passthrough bleibt auch nach einem Neustart bestehen.

Anschließend speichert man die Datei mit Strg + O und beendet den Editor mit Strg + X.

Bereit für das erste LLM-Modell: Verfügbare Modelle prüfen

Nachdem die GPU-Passthrough-Konfiguration erfolgreich abgeschlossen ist, ist der Container bereit, das erste große Sprachmodell (LLM) herunterzuladen und zu nutzen.

Um einen Überblick zu bekommen, welche Modelle aktuell verfügbar sind, empfiehlt es sich, die offizielle Ollama-Webseite zu besuchen. Dort finden Nutzer eine Liste aller unterstützten Modelle sowie weiterführende Informationen zu deren Einsatzmöglichkeiten.

Dieser Schritt ist wichtig, um das passende Modell für die eigenen Anforderungen auszuwählen und direkt mit der Nutzung zu starten.

Beispiel: Download des LLM-Modells „DeepSeek-1:14b“

In diesem Beispiel wird das Modell DeepSeek-1:14b heruntergeladen. Die Bezeichnung „14b“ steht dabei für die Anzahl der Parameter des Modells – nämlich 14 Milliarden.

Je mehr Parameter ein Modell hat, desto komplexer und leistungsfähiger kann es sein, da es mehr Informationen und Zusammenhänge verarbeiten kann. Das Modell DeepSeek-1:14b bietet daher eine hohe Qualität und Genauigkeit bei der Verarbeitung natürlicher Sprache.

depseek-r114b

Schritt 4: Installation und Start des Modells DeepSeek-1:14b

Um das Modell DeepSeek-1:14b zu installieren und direkt zu starten, gibt man im Ollama-Shell innerhalb des Containers einfach folgenden Befehl ein:

ollama run deepseek-r1:14b

deepseek installmanifest

Nach dem Ausführen des Befehls beginnt Ollama automatisch mit dem Herunterladen eines sogenannten Manifests. Dieses Manifest enthält alle wichtigen Informationen und Ressourcen, die für die Installation des großen Sprachmodells (LLM) erforderlich sind.

Sobald das Manifest vollständig heruntergeladen ist, startet Ollama die Installation des Modells und richtet es im Container ein. Danach steht das LLM bereit, um genutzt zu werden.

chat

Herzlichen Glückwunsch – Ihr lokales LLM läuft!

Mit diesen Schritten wurde erfolgreich ein leistungsfähiges, lokales großes Sprachmodell (LLM) auf Proxmox eingerichtet. Dank des GPU-Passthroughs und der Containerinstallation läuft Ollama jetzt mit voller Hardware-Beschleunigung, was eine schnelle und effiziente Verarbeitung ermöglicht.

So steht nun ein lokal gehostetes LLM bereit, das unabhängig von externen Diensten genutzt werden kann – ideal für Datenschutz, Flexibilität und maximale Kontrolle.

Wenn Sie mehr über Künstliche Intelligenz, spannende Projekte und praxisnahe Anleitungen erfahren möchten, bleiben Sie dran und besuchen Sie regelmäßig unseren Blog. Wir freuen uns darauf, Sie auf Ihrer KI-Reise zu begleiten!

To top