> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/de/modul-6-virtuelle-maschinen/03-gpu-passthrough.md).

# GPU- & Geräte-Passthrough

## Überblick

VergeOS unterstützt mehrere Formen des Device-Passthrough und ermöglicht es virtuellen Maschinen, direkt auf physische Hardware zuzugreifen, die an Host-Knoten angeschlossen ist. Dies ermöglicht Workloads, die Bare-Metal-Gerätezugriff erfordern -- GPU-beschleunigtes Rendering, AI/ML-Training, Hardware-Sicherheitsschlüssel, Hochleistungsnetzwerke -- und profitiert dabei weiterhin von VergeOS-Orchestrierung, Snapshots und Multi-Tenancy.

Alle Passthrough-Typen teilen sich eine gemeinsame Architektur auf Basis von **Ressourcengruppen** und **Ressourcenregeln**, was unabhängig vom Gerätetyp ein konsistentes Verwaltungserlebnis bietet.

```mermaid
flowchart TB
    subgraph host["Host-Knoten"]
        PCI["PCI-Geräte"]
        GPU["NVIDIA-GPU"]
        NIC["SR-IOV-NIC"]
        USB["USB-Geräte"]
    end

    subgraph rm["Ressourcen-Manager"]
        RG["Ressourcengruppen"]
        RR["Ressourcenregeln"]
    end

    subgraph targets["Zuordnungsziele"]
        VM["Virtuelle Maschinen"]
        TN["Mandanten"]
    end

    PCI --> RG
    GPU --> RG
    NIC --> RG
    USB --> RG
    RG --- RR
    RG --> VM
    RG --> TN
```

## BIOS-Voraussetzungen

Bevor Sie irgendein PCI-basiertes Passthrough konfigurieren (1:1-PCI, NVIDIA vGPU oder SR-IOV), muss im Server-BIOS Hardwarevirtualisierung und IOMMU-Unterstützung aktiviert sein:

| Hersteller | Erforderliche Einstellungen                                      |
| ---------- | ---------------------------------------------------------------- |
| **Intel**  | **VT-d** und **VT-x** aktiviert; **SR-IOV** aktiviert            |
| **AMD**    | **AMD-Vi / AMD-V** und **IOMMU** aktiviert; **SR-IOV** aktiviert |

{% hint style="success" %}
Die Bezeichnungen der BIOS-Einstellungen variieren je nach Hersteller. Achten Sie auf Begriffe wie *Virtualisierungstechnologie*, *PCI-Passthrough*, *IOMMU*, oder *PCIe ACS*. Konsultieren Sie die Dokumentation Ihres Hardwareherstellers, wenn die Einstellungen nicht sofort ersichtlich sind.
{% endhint %}

### IOMMU-Gruppierung

Alle PCI-Geräte innerhalb derselben **IOMMU-Gruppe** werden gemeinsam durchgereicht -- eine einzelne IOMMU-Gruppe kann nicht auf verschiedene Gäste aufgeteilt werden. Häufige Beispiele für gemeinsam genutzte IOMMU-Gruppen sind:

* Eine GPU und ihr zugehöriger Audiocontroller
* Beide Ports einer Dual-Port-NIC
* Mehrere Geräte, die sich eine PCI-Riser-Karte im selben Slot teilen

Sie können die Mitgliedschaft in IOMMU-Gruppen in der VergeOS-UI unter **Infrastruktur > Ressourcen > PCI-Geräte**. Klicken Sie auf die **IOMMU** Spaltenüberschrift, um zu sortieren und gruppierte Geräte zu identifizieren.

{% hint style="warning" %}
**Kritische Host-Geräte**

**Niemals** Boot-Geräte, primäre Systemcontroller oder zentrale Fabric-Netzwerkcontroller durchreichen. Das Durchreichen eines hostkritischen Geräts macht es dem Host unzugänglich und kann einzelne Knoten oder das gesamte System instabil machen. Stellen Sie immer sicher, dass Sie **Zugriff auf IPMI oder die physische Konsole** haben, bevor Sie Passthrough-Änderungen vornehmen.
{% endhint %}

## Ressourcengruppen und Ressourcenregeln

VergeOS verwendet für alle Device-Passthroughs eine Abstraktion auf zwei Ebenen:

### Ressourcengruppen

Ein **Ressourcengruppe** ist ein benannter Pool aus einem oder mehreren physischen (oder Virtual-Function-)Geräten desselben Typs. Wenn Sie einem VM oder einem Mandanten ein Gerät zuweisen, wählen Sie die Ressourcengruppe aus -- das System weist beim Einschalten der VM automatisch ein verfügbares Gerät aus dem Pool zu.

Typen von Ressourcengruppen:

* **PCI** -- exklusives 1:1-Passthrough
* **NVIDIA vGPU** -- gemeinsam genutzte virtuelle GPU-Slices
* **SR-IOV-NIC** -- Netzwerkadapter als virtuelle Funktionen
* **USB** -- USB-Geräte-Passthrough

### Ressourcenregeln

**Ressourcenregeln** definieren die Filterkriterien, die bestimmen, welche physischen Geräte zu einer Ressourcengruppe gehören. Jede Regel kann Attribute wie Gerätename, Hersteller, Steckplatz, Seriennummer und mehr abgleichen. Verfügbare Filterfelder variieren je nach Gerätetyp.

| Erstellungsmethode        | Beschreibung                                                                                                                   |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Automatisch generiert** | Wählen Sie ein Gerät aus und klicken Sie auf **Ressource erstellen** -- das System erstellt die Regeln automatisch (empfohlen) |
| **Manuell**               | Erstellen Sie Regeln über **Infrastruktur > Ressourcen > Regeln > Neu** mit benutzerdefinierten Filterausdrücken               |

Zu den Filteroperatoren gehören: Gleich, Ungleich, Kleiner/Größer als, Beginnt mit, Endet mit, Enthält (groß-/kleinschreibungsabhängig oder -unabhängig) und Regex.

## Typen des Device-Passthroughs

### 1:1-PCI-Passthrough

Beim 1:1-PCI-Passthrough wird einem einzelnen physischen PCI-Gerät jeweils eine einzelne VM exklusiv zugewiesen. Das Gastbetriebssystem sieht das Gerät und steuert es, als wäre es physisch angeschlossen.

**Häufige Anwendungsfälle:** dedizierte GPUs für Rendering, spezialisierte HBAs, FPGA-Beschleuniger oder jedes Gerät, das direkten Hardwarezugriff erfordert.

#### Konfigurationsanleitung

**Host-seitig:**

1. Navigieren Sie zu **Infrastruktur > Ressourcen** (Dashboard des Ressourcen-Managers).
2. Klicken Sie auf **PCI-Geräte** um alle erkannten Geräte auf allen Knoten aufzulisten.
3. Wählen Sie das/die Zielgerät(e) aus und klicken Sie auf **Ressource erstellen**.
4. Wählen Sie eine vorhandene PCI-Ressourcengruppe aus oder erstellen Sie eine neue (Typ: **PCI**).
5. Starten Sie die zugehörigen Knoten neu, wenn Sie dazu aufgefordert werden (verwenden Sie **Wartungsmodus** um Unterbrechungen der Workloads zu vermeiden).

**VM-seitig:**

1. Öffnen Sie das Dashboard der Ziel-VM (**Virtuelle Maschinen > Liste > VM auswählen**).
2. Klicken Sie auf **Geräte > Neu**.
3. Setzen Sie Typ auf **PCI**, wählen Sie die Ressourcengruppe aus und geben Sie die Geräteanzahl an.
4. Klicken Sie auf **Senden**, dann **starten Sie** die VM neu, um das Gerät anzubinden.
5. Installieren Sie die erforderlichen Gasttreiber vom Hardwarehersteller.

{% hint style="info" %}
**Migrationsbeschränkung**

VMs mit 1:1-PCI-Passthrough-Geräten **können nicht per Live-Migration verschoben werden** zwischen Knoten. Die VM ist an den Knoten gebunden, auf dem sich das physische Gerät befindet. Planen Sie die Wartung der Knoten entsprechend -- die VM muss heruntergefahren und auf einem anderen Knoten neu gestartet werden, auf dem ein entsprechendes Gerät in derselben Ressourcengruppe verfügbar ist.
{% endhint %}

### NVIDIA vGPU (Virtuelle GPU)

Die NVIDIA-vGPU-Technologie teilt eine einzelne physische NVIDIA-GPU in mehrere virtuelle GPUs auf und ermöglicht es mehreren VMs, gleichzeitig dieselbe GPU-Hardware zu nutzen. Dies ist ideal für VDI-Bereitstellungen, AI/ML-Inferenz und GPU-beschleunigte Anwendungen, bei denen keine vollständige Zuweisung des Geräts erforderlich ist.

**Wichtige Vorteile gegenüber 1:1-GPU-Passthrough:**

* Mehrere VMs teilen sich eine einzelne physische GPU
* **Unterstützt Live-Migration (experimentell)** -- vGPU-VMs können ohne Ausfallzeit zwischen Knoten verschoben werden (experimentelle Funktion ab 4.13+)
* Flexible Dimensionierung über NVIDIA-vGPU-Profile (unterschiedliche Mengen an Framebuffer pro VM)

{% hint style="info" %}
**Voraussetzungen für vGPU-Live-Migration**

Für die vGPU-Live-Migration muss auf Clusterebene die Einstellung **vGPU-Live-Migration zulassen** aktiviert sein (**Cluster > \[Clustername] > Bearbeiten**). Wenn Zielknoten nicht über kompatible vGPU-Kapazität verfügen, können Workloads während der Wartung vorübergehend ausgeschaltet statt live migriert werden.
{% endhint %}

{% hint style="warning" %}
**Lizenzierung**

NVIDIA GRID-Lizenzen sind für vGPU erforderlich. Beziehen Sie Lizenzen über das [NVIDIA Licensing Portal](https://nvidia.com/en-us/data-center/resources/vgpu-evaluation) oder registrieren Sie sich für eine Evaluierung.
{% endhint %}

{% hint style="info" %}
**AMD-GPUs**

vGPU ist eine **NVIDIA-exklusive** Funktion. AMD-GPUs werden in VergeOS nicht für virtuelles GPU-Slicing unterstützt. AMD-GPUs können weiterhin über 1:1-PCI-Passthrough verwendet werden.
{% endhint %}

#### MIG und heterogene vGPU-Profile

Ab VergeOS 26.1.3 können unterstützte NVIDIA-GPUs mit zusätzlichen vGPU-Partitionierungsoptionen konfiguriert werden:

* **Multi-Instance GPU (MIG)** -- eine einzelne unterstützte GPU kann in bis zu sieben hardwareisolierte Instanzen partitioniert werden und bietet pro Instanz garantierte Rechenleistung, Speicher und Speicherbandbreite ohne Ressourcenstreit. Erfordert Geräteunterstützung (empfohlen wird der neueste NVIDIA-Data-Center-Treiber).
* **Heterogene vGPU-Profile** -- mehrere traditionelle vGPU-Profiltypen und -größen können gleichzeitig auf demselben physischen Gerät laufen. Erfordert NVIDIA-Treiberversion 17.2 oder höher und Geräteunterstützung. MIG und traditionelle Profile können nicht auf demselben physischen Gerät gemischt werden.

#### Konfigurationsanleitung

**Host-seitig:**

1. Beziehen Sie den passenden **NVIDIA Linux-KVM-Bundle-Treiber** für Ihre GPU-Hardware über das NVIDIA Licensing Portal.
2. Laden Sie das Treiberpaket auf **VergeOS vSAN** (System > Dateien oder per Drag-and-drop hochladen).
3. Navigieren Sie zu **Infrastruktur > Ressourcen** und klicken Sie auf **PCI-Geräte**, und filtern Sie dann nach Typ = **Anzeigecontroller** um kompatible physische GPUs anzuzeigen.
4. Wählen Sie die Ziel-GPU(s) aus und klicken Sie auf **Ressource erstellen**.
5. Wählen Sie eine vorhandene NVIDIA-vGPU-Ressourcengruppe aus oder erstellen Sie eine neue (Typ: **NVIDIA vGPU**).
6. Wählen Sie beim Erstellen der Ressourcengruppe das **vGPU-Profil** (legt die Framebuffer-Zuweisung pro VM fest).
7. Starten Sie die zugehörigen Knoten neu, wenn Sie dazu aufgefordert werden.

{% hint style="success" %}
**Unterstützte Treiber prüfen**

Navigiere in der VergeOS-Oberfläche zu **Ressourcen-Manager > Gruppen > Neu**, setzen Sie Typ auf *NVIDIA vGPU*, und klicken Sie auf die Schaltfläche, um kompatible Treiber von Drittanbietern anzuzeigen. Verwenden Sie den neuesten mit Ihrer Hardware kompatiblen Treiber.
{% endhint %}

**VM-seitig:**

1. Öffnen Sie das Dashboard der Ziel-VM und klicken Sie auf **Geräte > Neu**.
2. Setzen Sie Typ auf **NVIDIA vGPU** und wählen Sie die Ressourcengruppe aus.
3. Klicken Sie auf **Senden** und **starten Sie** die VM.
4. Installieren Sie den **NVIDIA GRID-Gasttreiber** innerhalb der VM (passend zum Host-Treiber-Branch).
5. Erstellen Sie auf dem NVIDIA-Lizenzierungsserver ein Client-Konfigurationstoken, laden Sie es in den VM-Gast herunter und starten Sie dann die VM neu.

### SR-IOV-Virtual-Function-NICs

Single Root I/O Virtualization (SR-IOV) erstellt mehrere **virtuelle Funktionen (VFs)** aus einem einzelnen physischen, SR-IOV-fähigen Netzwerkadapter. Jede VF verhält sich wie eine eigenständige NIC, die einer VM zugewiesen werden kann und durch Umgehen des Software-Netzwerkstapels nahezu native Netzwerkleistung liefert.

**Häufige Anwendungsfälle:** latenzsensible Workloads, Datenpipelines mit hohem Durchsatz, NFV (Network Function Virtualization) und Szenarien, die direkten NIC-Zugriff erfordern.

{% hint style="info" %}
VergeOS bietet integrierte virtualisierte Netzwerkadapter mit vollständiger Portabilität, Redundanz und Orchestrierungsfunktionen. SR-IOV-VF-NICs umgehen das VergeOS-Netzwerk, was bedeutet, dass Sie die inhärente Portabilität, Failover-Funktionen und andere verwaltete Netzwerkfunktionen verlieren. Verwenden Sie SR-IOV nur, wenn direktes NIC-Passthrough zwingend erforderlich ist.
{% endhint %}

#### Konfigurationsanleitung

1. Navigieren Sie zu **Infrastruktur > Ressourcen** und klicken Sie auf **SR-IOV-NICs**.
2. Klicken Sie auf **NIC-PCI-Geräte** um kompatible physische Geräte aufzulisten.
3. Wählen Sie die Ziel-NIC(s) aus und klicken Sie auf **Ressource erstellen**.
4. Erstellen Sie eine neue SR-IOV-Ressourcengruppe (Typ: **SR-IOV-NIC**) und konfigurieren Sie:
   * **Anzahl der VF-Geräte** pro physischem Gerät
   * **Native VLAN** Tag (optional)
   * **Bandbreitenbegrenzungen** (minimale und maximale Sende-Mbit/s)
   * **Virtueller Link-Status** (Auto, Aktivieren oder Deaktivieren)
   * **Spoofing-Prüfung**, **Vertrauen**, und **QoS-Priorität** Einstellungen
5. Hängen Sie die SR-IOV-VF an eine VM an über **Geräte > Neu > SR-IOV-NIC**.
6. Installieren Sie den passenden NIC-Treiber im Gastbetriebssystem.

### USB-Geräte-Passthrough

USB-Passthrough ermöglicht es einer VM, auf ein an den Host angeschlossenes USB-Gerät zuzugreifen, als wäre es direkt angeschlossen. Dies ist nützlich für Hardware-Lizenzdongles, Sicherheitskameras, Tastaturen/Mäuse und andere USB-Peripheriegeräte.

#### Konfigurationsanleitung

1. Navigieren Sie zu **Infrastruktur > Ressourcen** (oder ein spezifisches Knoten-Dashboard).
2. Klicken Sie auf **USB-Geräte** um erkannte USB-Peripheriegeräte aufzulisten.
3. Wählen Sie das/die Zielgerät(e) aus und klicken Sie auf **Ressource erstellen**.
4. Erstellen Sie eine USB-Ressourcengruppe oder wählen Sie eine aus (Typ: **USB**).
5. Konfigurieren Sie optionale Einstellungen: **Gast-Reset zulassen** und **Gast-Reset für alle zulassen**.
6. Hängen Sie das USB-Gerät an eine VM an über **Geräte > Neu > USB**.

## Geräte an Mandanten durchreichen

Alle vier Passthrough-Typen (PCI, NVIDIA vGPU, SR-IOV-NIC, USB) können an **Mandanten**, wodurch Mandantenadministratoren Geräte ihren eigenen VMs zuweisen können. Wenn Geräte an einen Mandanten durchgereicht werden:

* Ein **neue Ressourcengruppe** wird automatisch innerhalb des Mandanten erstellt.
* Geräte werden **dick provisioniert** -- der Mandant besitzt die Geräte exklusiv, auch wenn sie nicht verwendet werden.
* Die VM des Mandanten muss auf dem **Mandantenknoten** laufen, an dem das Gerät angehängt ist.

**Schritt-für-Schritt-Anleitung:**

1. Navigieren Sie zum **Mandanten-Dashboard** (**Mandanten > Liste > Mandant auswählen**).
2. Klicken Sie auf **Knoten**, dann doppelklicken Sie auf einen Mandantenknoten.
3. Klicken Sie auf **Geräte > Neu**.
4. Wählen Sie das Gerät aus **Typ** und konfigurieren Sie die Anzahl.
5. Klicken Sie auf **Senden**. Die Ressourcengruppe ist jetzt innerhalb des Mandanten verfügbar.

## Vergleich der Passthrough-Typen

| Funktion                   | 1:1-PCI                   | NVIDIA vGPU                    | SR-IOV-NIC                         | USB                             |
| -------------------------- | ------------------------- | ------------------------------ | ---------------------------------- | ------------------------------- |
| **Freigabe**               | 1 Gerät : 1 VM            | 1 GPU : viele VMs              | 1 NIC : viele VFs                  | 1 Gerät : 1 VM                  |
| **Live-Migration**         | Nein                      | **Ja (experimentell, 4.13+)**  | Nein                               | Nein                            |
| **IOMMU erforderlich**     | Ja                        | Ja                             | Ja                                 | Nein                            |
| **Treiber erforderlich**   | herstellerspezifisch      | NVIDIA GRID                    | herstellerspezifisch               | Variiert                        |
| **Mandantenunterstützung** | Ja (dick provisioniert)   | Ja (dick provisioniert)        | Ja (dick provisioniert)            | Ja (dick provisioniert)         |
| **Anwendungsfälle**        | Dedizierte GPU, FPGA, HBA | VDI, AI/ML-Inferenz, Rendering | Netzwerke mit geringer Latenz, NFV | Lizenzdongles, Peripheriegeräte |

## Anwendungsfälle und Empfehlungen

### VDI und Remote-Desktops

Verwenden Sie **NVIDIA vGPU** um eine einzelne GPU über Dutzende virtueller Desktops zu teilen. vGPU-Profile ermöglichen es Ihnen, die Framebuffer-Zuweisung pro Benutzer auszubalancieren. Unterstützt Live-Migration für Wartungen ohne Ausfallzeit.

### KI-/ML-Training

Für dedizierte Trainings-Workloads verwenden Sie **1:1-PCI-Passthrough** um einer VM vollen Zugriff auf eine physische GPU zu geben. Für partitionierten Zugriff auf Rechenzentrums-GPUs mit MIG-Unterstützung (z. B. NVIDIA A100 oder H100) verwenden Sie **MIG-gestütztes vGPU** Profile. Für Inferenz oder leichtere Workloads bietet **vGPU** eine effiziente gemeinsame Nutzung.

### Hochleistungsnetzwerke

**SR-IOV-VF-NICs** liefern nahezu nativen Netzwerkdurchsatz für latenzsensible Anwendungen wie Echtzeit-Analysen, Finanzhandel oder Netzwerkfunktionsvirtualisierung.

### Hardware-Peripheriegeräte

**USB-Passthrough** ermöglicht es VMs, auf Lizenzdongles, Sicherheitskameras, Barcode-Scanner und andere USB-Geräte zuzugreifen, als wären sie direkt verbunden.

## Wichtige Erkenntnisse

* **Ressourcengruppen und Ressourcenregeln** sind der universelle Mechanismus für allen Device-Passthrough in VergeOS -- lernen Sie sie einmal, wenden Sie sie überall an.
* **BIOS-Konfiguration** (VT-d/VT-x für Intel, AMD-Vi/IOMMU für AMD) ist eine Voraussetzung für sämtlichen PCI-basierten Passthrough.
* **NVIDIA vGPU ist der einzige Passthrough-Typ, der Live-Migration unterstützt (experimentell, 4.13+)** -- und damit die bevorzugte Wahl für GPU-Workloads, die Hochverfügbarkeit erfordern, obwohl diese Funktion vor dem produktiven Einsatz in Ihrer Umgebung validiert werden sollte.
* **1:1-PCI-Passthrough** bietet maximale Geräteleistung, bindet die VM jedoch an einen bestimmten Knoten.
* **SR-IOV-NICs** umgeht das virtuelle VergeOS-Netzwerk für nahezu nativen Durchsatz, verzichtet jedoch auf verwaltete Netzwerkfunktionen.
* Alle Gerätetypen können **an Mandanten weitergegeben werden** per Thick-Provisioning, sodass MSPs einzelnen Kunden GPU- oder Spezialhardware anbieten können.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/de/modul-6-virtuelle-maschinen/03-gpu-passthrough.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
