Basierend auf John Levon Blogeintrag unter:
https://blog.movementarian.org/2018/10/pci-pass-through-support-with-bhyve-and.html?m=0
und meiner SmartOS Mailinglisten Mail unter:
beschreibe ich die notwendigen Schritte um ein GPU / PCI Passthrough unter SmartOS durchführen zu können.
Optional kann man sich zunächst zwei GRUB Anpassungen für sein eigenes SmartOS reinbauen:
https://github.com/ass-a2s/smartos-live/commit/4dae2b742fdbbb8b33995c41c528656a5a04eb12
https://github.com/ass-a2s/smartos-live/commit/11025161b15a73c3ceef88801574b6269e346c04
Als SmartOS Release empfehle ich mindestens den ASS SmartOS Build: 20190223T122310Z
https://datasets.ass.de/public/SmartOS/20190223T122310Z/smartos-20190223T122310Z-USB.img.bz2
Schritt für Schritt Anleitung:
1: SmartOS USB Stick mounten
mount -F pcfs -o foldcase /dev/dsk/c1t0d0p1 /mnt
2: Verzeichnis- und Dateistruktur erstellen
mkdir -p /mnt/overlay/etc
touch /mnt/overlay/etc/ppt_matches
touch /mnt/overlay/etc/ppt_aliases
3: Jetzt sucht man die passende PCI ID
prtpicl -v -c display
prtpicl -v | grep -A 15 -B 15 "display"
4: Wurden die passenden Werte in die Dateien geschrieben, erfolgt darauf ein Reboot des Servers. Im GRUB Menü wählt man die Bhyve PPT Option aus.
umount /mnt
sync
reboot
5: Die zwei NVIDIA P400 GPU Karten sind jetzt an den PPT gebunden
6: Jetzt kann die Virtuelle Maschine mit Passthrough der ersten GPU Karte erstellt werden.
Beispiel anhand einer Ubuntu Bhyve VM
- ubuntu-certified-18.04 ac99517a-72ac-44c0-90e6-c7ce3d944a0a
- https://dsapid.root1.ass.de/ui/#!/configure/ac99517a-72ac-44c0-90e6-c7ce3d944a0a
GPU Zugriff innerhalb der VM