Jan Taplick Architektur

VFIO-Bindung

Damit bestimmte Geräte (z. B. GPU, Netzwerkkarte, USB-Controller) vom Host nicht verwendet und stattdessen exklusiv an die VM durchgereicht werden können, müssen sie an den vfio-pci-Treiber gebunden werden.


1. Geräte-IDs herausfinden

Zuerst die PCI-Adressen und Hersteller-IDs der betroffenen Geräte ermitteln:

lspci -nn

Achte auf eine Zeile wie:

03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X540-AT2 [8086:1528]

Wichtiger Teil: 8086:1528 ist die Geräte-ID.


2. VFIO-Konfigurationsdatei anlegen

sudo nano /etc/modprobe.d/vfio.conf

Beispiel-Inhalt für GPU und Netzwerkkarte:

options vfio-pci ids=10de:2705,10de:22bb,8086:1528

3. Treiberkonflikte vermeiden

Folgende Blacklist-Dateien können erstellt werden, um zu verhindern, dass der Host diese Treiber lädt:

sudo nano /etc/modprobe.d/blacklist-nvidia.conf

Inhalt:

blacklist nouveau
blacklist nvidia

Analog z. B. für Intel-Netzwerk:

sudo nano /etc/modprobe.d/blacklist-ixgbe.conf

Inhalt:

blacklist ixgbe

4. Initramfs neu erstellen

sudo mkinitcpio -P

5. Reboot

sudo reboot

6. Prüfung nach Neustart

Nach dem Reboot:

lspci -nnk | grep -A 3 '03:00'

Die Ausgabe sollte z. B. enthalten:

Kernel driver in use: vfio-pci

Wenn stattdessen weiterhin ein anderer Treiber steht, ist die Bindung noch nicht korrekt.


Tipps


Weiter mit: Gerätezuweisung