[SOLVED] Nach VM + Proxmox Shutdown kein Boot mehr möglich ohne Stromstecker ziehen

speedbird

Well-Known Member
Nov 3, 2017
73
8
48
Hallo Proxmox Community,
ich habe da ein ziemlich verrücktes Problem derzeit.

Erst mal meine Hardware:

AMD Ryzen 2600X
MSI B450 A Pro (neuestes BIOS drauf)
32GB RAM
1x GeForce GTX 1060 -> GPU Passthrough an Windows 10 VM
1x GeForce GTX 1050 -> GPU Passthrough an Windows 10 VM


So nun habe ich seit einigen Wochen in Verbindung mit Proxmox (neueste Version installiert) folgendes Problem...

Immer dann, wenn ich Proxmox per Shutdown herunterfahre, NACHDEM ich eine der VMs mit GPU-Passthrough benutzt habe und ich schalte dann den Rechner wieder ein, egal ob nach 2 Sekunden oder 2 Tagen, bootet der Rechner nicht mehr und es wird auf dem Mainboard immer nur die VGA Debug LED eingeschaltet, die angeblich bezeugt, dass keine Grafikkarte auf dem Board erkannt werden konnte. Ich muss dann erst kurz den Stecker vom Netzteil ziehen, paar Sekunden warten, wieder rein stecken und der Rechner bootet wieder ganz normal als wäre nichts gewesen.

Fahre ich aber Proxmox herunter ohne, dass ich eine der Windows 10 VMs mit Passthrough benutzt habe, startet der Rechner nach dem Shutdown von Proxmox jedes Mal völlig fehlerfrei ohne Probleme. Ich kann auch andere VMs nutzen ohne Passthrough, alles kein Problem, der Rechner startet immer wieder, aber sobald ich eine der VMs mit Passthrough nutze, diese herunterfahre und anschließend Proxmox herunterfahre, ist beim nächsten Einschalten wieder die VGA Debug LED an und er erkennt keine Grafikkarte mehr bis ich wieder den Stecker ziehe.

Lässt sich beliebig oft reproduzieren.


Folgendes habe ich schon versucht:
  1. Grafikkarten in den Slots getauscht -> keine Änderung
  2. BIOS Update -> keine Änderung
  3. Nur eine Grafikkarte benutzt -> keine Änderung
  4. Anderen Stromanschluss für die Grafikkarte vom Netzteil benutzt -> keine Änderung
  5. Proxmox auf die neueste Version + neuesten Kernel gebracht -> keine Änderung
  6. Windows 10 VM komplett neu aufgesetzt und GPU Passthrough neu eingerichtet -> keine Änderung


Da dieser Fehler ausschließlich immer nur dann auftritt, wenn Proxmox + GPU Passthrough im Zusammenspiel genutzt werden, muss es aus meiner Sicht irgendwas mit Proxmox zu tun haben, irgendwas passiert da beim Herunterfahren, nachdem eine GPU Passthrough VM genutzt wurde, was dann bei einem wieder Einschalten ohne vorheriges stromlos-machen des Rechner zu dem o.g. Problem führt.

Ich bitte daher um Hilfe, Tipps, Ideen, wie ich diesen wirklich extrem nervigen "Bug" behoben bekomme. Wie gesagt, ich kann mir durch Steckerziehen und wieder rein stecken zwar behelfen, aber das kann ja nicht Sinn der Sache sein.

Vielen Dank schonmal :)
 
Wenn nicht bereits geschehen und die Option vorhanden, mal "Fast Boot" (o.Ä.) im Bios/UEFI deaktivieren.

Ansonsten fällt mir aktuell leider auch nichts weiter ein, sorry.
 
  • Like
Reactions: speedbird
Wenn nicht bereits geschehen und die Option vorhanden, mal "Fast Boot" (o.Ä.) im Bios/UEFI deaktivieren.

Danke, aber das ist bereits ausgeschaltet – musste ich bereits zu Anfang irgendwann schonmal machen, damit ich überhaupt beide Grafikkarten korrekt eingebunden bekommen habe.
 
was sagt denn das syslog/journal beim herunterfahren und bei einem frischen neustart?
 
  • Like
Reactions: speedbird
was sagt denn das syslog/journal beim herunterfahren und bei einem frischen neustart?

Habe das Mal als File angehängt.

Darin ist enthalten Neustart nach Stecker ziehen -> Shutdown VM mit Passthrough -> Shutdown Proxmox
 

Attachments

  • syslog.txt
    160.6 KB · Views: 3
das sieht aber nicht vollständig aus, bei einem shutdown sieht man am ende normalerweise zeilen wie:

Code:
systemd[1]: Reached target Shutdown.                       
systemd[1]: Reached target Final Step.                     
systemd[1]: systemd-poweroff.service: Succeeded.           
systemd[1]: Finished Power-Off.                           
systemd[1]: Reached target Power-Off.                     
systemd[1]: Shutting down.                                 
systemd-shutdown[1]: Syncing filesystems and block devices.
systemd-journald[627]: Journal stopped

also vielleicht hängt das system beim herunterfahren?
 
  • Like
Reactions: speedbird
Laufen die VMs dann noch? Ein paar Sekunden ist aber sehr flott für einen Shutdown mit laufenden VMs bei der consumer hardware (ist nicht negativ gemeint).
 
  • Like
Reactions: speedbird
Laufen die VMs dann noch? Ein paar Sekunden ist aber sehr flott für einen Shutdown mit laufenden VMs bei der consumer hardware (ist nicht negativ gemeint).

Der Shutdown läuft absolut problemlos ansich, also ja die Geschwindigkeiten passen.

Ich habe das Problem jetzt eingegrenzt, bzw. noch genauer bestimmt mit viel Testen.

Es ist nicht das GPU-Passthrough Schuld, was ich erst im Verdacht hatte, sondern der Passthrough eines USB-Controllers, aber der Reihe nach:

Jede der GPU-Passthrough VMs hat auch einen USB-Controller durchgereicht, damit per USB-Headset Ton auf der Maschine abgespielt werden kann. Damit das überhaupt funktioniert, muss ich bei dem Passthrough des Controllers "All Functions" aktivieren:

photo_2023-01-11_14-55-39.jpg

photo_2023-01-11_15-08-06.jpg

Dabei macht er einfach eine 0 am Ende weg und genau dann geht das Problem los, dass nach einem Shutdown die Kiste beim nächsten Boot keine GPU mehr erkennt, sondern erst wieder stromlos gemacht werden muss.

Über ein "Add USB Device" kann ich es hingegen nicht machen mit dem Headset, denn dann habe ich nur Rauschen auf meinem H340 Headset, also musste ich schon immer den ganzen Controller durch ziehen, damit es überhaupt geht.


photo_2023-01-11_15-06-00.jpg
--> das geht nicht, nur Rauschen.


Den USB Controller hätte ich in der Konstellation mit dem GPU Problem nie im Verdacht gehabt.

Nun aber stellt sich mir direkt die nächste Frage: Warum ist das so?

Was passiert bei einem "All functions" Passthrough an die VM, ohne dass ich mein USB Headset nicht nutzen kann, dass er beim Shutdown dafür sorgt, dass der Rechner beim nächsten Einschalten keine GPUs mehr erkennen will?

Jemand eine Idee, wie man das beheben kann ODER alternativ eine Idee, wie ich mein USB Headset nutzen kann ohne den All Functions Haken zu setzen?
 
Last edited:
Mal die vollständige Ausgabe auf dem PVE-Host, jeweils in Code-Tags, posten von:
Bash:
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done
und: cat /proc/cmdline
 
  • Like
Reactions: speedbird
Code:
cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.15.83-1-pve root=/dev/mapper/pve-root ro quiet rootdelay=5 amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off initcall_blacklist=sysfb_init

Code:
root@blue-cluster:~# for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done

IOMMU group 0 00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
IOMMU group 10 00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B [1022:1454]
IOMMU group 11 00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 59)
IOMMU group 11 00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
IOMMU group 12 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0 [1022:1460]
IOMMU group 12 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1 [1022:1461]
IOMMU group 12 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2 [1022:1462]
IOMMU group 12 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3 [1022:1463]
IOMMU group 12 00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4 [1022:1464]
IOMMU group 12 00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5 [1022:1465]
IOMMU group 12 00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6 [1022:1466]
IOMMU group 12 00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7 [1022:1467]
IOMMU group 13 01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
IOMMU group 14 03:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 XHCI Controller [1022:43d5] (rev 01)
IOMMU group 15 03:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset SATA Controller [1022:43c8] (rev 01)
IOMMU group 16 03:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Bridge [1022:43c6] (rev 01)
IOMMU group 17 20:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
IOMMU group 18 20:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
IOMMU group 19 20:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
IOMMU group 1 00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge [1022:1453]
IOMMU group 20 22:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
IOMMU group 21 25:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117 [GeForce GTX 1650] [10de:1f82] (rev a1)
IOMMU group 22 25:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
IOMMU group 23 26:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1)
IOMMU group 24 26:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1] (rev a1)
IOMMU group 25 27:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Zeppelin/Raven/Raven2 PCIe Dummy Function [1022:145a]
IOMMU group 26 27:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor [1022:1456]
IOMMU group 27 27:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f]
IOMMU group 28 28:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Zeppelin/Renoir PCIe Dummy Function [1022:1455]
IOMMU group 29 28:00.2 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
IOMMU group 2 00:01.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge [1022:1453]
IOMMU group 30 28:00.3 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller [1022:1457]
IOMMU group 3 00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
IOMMU group 4 00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
IOMMU group 5 00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge [1022:1453]
IOMMU group 6 00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
IOMMU group 7 00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
IOMMU group 8 00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B [1022:1454]
IOMMU group 9 00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
 
Leider verfälscht: pcie_acs_override=downstream,multifunction die IOMMU-Gruppen komplett.

Mit "All Functions" reichst du auch noch weitere Systemkomponenten an die VM weiter und klaust sie somit dem PVE-Host:
Code:
IOMMU group 25 27:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Zeppelin/Raven/Raven2 PCIe Dummy Function [1022:145a]
IOMMU group 26 27:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor [1022:1456]
IOMMU group 27 27:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Zeppelin USB 3.0 Host controller [1022:145f]

Vermutlich funktioniert es ohne "All Functions" nicht, weil die drei Komponenten in Wirklichkeit in einer IOMMU-Gruppe sind und sich trotz des ACS-Override-Patches nicht separat durchreichen lassen.

Gerade den "Platform Security Processor" dem Host zu nehmen ist sicherlich nicht gerade toll...

Ob das dein Problem verursacht oder zumindest damit zusammenhängt, kann ich nicht mit Sicherheit sagen.
 
  • Like
Reactions: speedbird
Danke vielmals für die Information.

D.h. für mein Problem gibt es erstmal so keine wirkliche Lösung außer weiterhin den Controller durchzureichen, damit das Headset geht und dann halt damit leben zu müssen, dass die Kiste nach dem Shutdown nicht mehr an geht?

Bin ich mit dem USB-Headset Problem ein Einzelfall oder gibt es vllt. noch andere Lösungsansätze, die ich gerade hier nicht finde, wo sowas erfolgreich behoben werden konnte ohne die Nachteile?
 
Gerade den "Platform Security Processor" dem Host zu nehmen ist sicherlich nicht gerade toll...

Ob das dein Problem verursacht oder zumindest damit zusammenhängt, kann ich nicht mit Sicherheit sagen.

Du hast Recht mit deiner Idee.

Ich betrachte das Problem ab sofort erstmal für gelöst.


Was habe ich getan?

Nach der IOMMU Gruppen-Analyse bin ich drauf gestoßen, dass die Gruppe 14 nur einen USB Controller beinhaltet, nicht aber noch weitere Geräte, wie den vorhin genannten Security Processor.

photo_2023-01-11_17-02-31.jpg


Also habe ich den Controller mal durchgereicht:

photo_2023-01-11_17-01-30.jpg

Und was soll ich sagen? -> Success!

Selbst mit "All Functions" ausgeschaltet kann ich nun mein Headset ohne Rauschen benutzen UND die Maschine lässt sich nun nach einem Shutdown ohne Probleme und beliebig reproduzierbar wieder einschalten.


Es lag also tatsächlich an diesen Gruppen. Vielen Dank für den Hinweis darauf!!
 
  • Like
Reactions: kleinp and Neobin

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!