Lession Learned: Mainboard-Tausch beim Proxmox Host

Confluencer

Well-known member
Ich möchte hier meine Erfahrungen teilen, die ich beim Maiboard-Tausch mit einem meiner Proxmox gemacht habe. Er ist Teil eines 3 Knoten Proxmox-Clusters.

Ursprünglich war ein Intel Xeon E3-1275x5 Board im Rechner, dass ich jetzt gegen ein Ryzen 7 7700 ausgetauscht habe. Die Boot NVME und einen zusätzlichen SATA-Controller habe ich ebenfalls übernommen. Auf dem Host ist eine NAS-VM, an den der SATA-Controller via PCI(e)-Passthrough durchgereicht wird.

Natürlich habe ich keinerlei Vorbereitungen gemacht und einfach nur Mainboard/CPU/RAM getauscht und die NVME und den SATA-Controller verbaut und mich von Problem zu Problem gehangelt.

Generell

1. PVE Node nach Boot nicht übers Netzwerk erreichbar.
  • Ursache: im neuen Board laut die Network Device Names anders.
  • Lösung: Network Device Names in /etc/network/interfaces anpassen und dann mittels ifreload -a scharfschalten
    • Die neuen Device Names habe ich mit ip a und dmesg | grep "{device name}" identifziert.
  • Lesson Learned: Muss jeder machen nach einem Mainboard-Tausch; kann nicht vorbereiten werden.

2. Unwirksame Grub-Parameter für Intel-Iommu
  • Ursache: Faulheit
  • Lösung: Einstellung in /etc/defaults/grub entfernen, und dann mittels update-grub übernehmen.
  • Lesson Learned: Hätte man vorbereiten können.

PCI(e)-Passthrough

3. Direkt nach dem Boot wirf PVE Buffer I/O Error und re-mounted das Root-Filesystem Read-Only
  • Ursache: Das PCI(e)-Passthrough der NAS-VM hat das Problem verursacht, sobald die VM gestartet wurde, da die Device-ID jetzt nicht mehr richtig ist.
  • Lösung: Auf einem der anderen Nodes in /etc/pve/nodes/${nodename}/qemu-server/${vmid}.conf Onboot deaktivieren, danach erst den entsprechenden Node booten. Die Einstellungen werden aus dem verteilten Config Folder übernommen. Nach dem Start des Nodes kann man über die UI an der ausgeschalteten VM die Device-ID konfigurieren.
  • Lesson Learned: In Vorbereitung hätte vor dem Umbau des Mainboards "onboot" für die VM ausgeschaltet werden müssen!

4. NAS VM mit PCIe-Passthrough führt zu merkwürdigen Verhalten: Eine der Netzwerkkarten ist plötzlich inaktiv und alle Geräte die an der Bridge hingen nicht mehr erreichbar, sodass der PVE Node plötzlich nicht mehr Teil des Clusters war
  • Ursache: die Iommu Group der Netzwerkkarte und des SATA-Controllers waren identisch. Interessanterweise war Iommu im Bios des Ryzen Boards scheinbar nicht aktiviert?
  • Lösung:: Iommu und alles wovon die Aktivierung abhängt aktivieren
  • Lesson learned: Ich hätte im Bios des Ryzen Boards vorab genauer danach schauen müssen.

Gerade die Probleme mit PCI(e)-Passthough haben mich etliche Stunden gekostet und wären mit Vorbereitung vermeidbar gewesen.
 
Zuletzt bearbeitet:
Heute hatte ich nach einem Firmware Update vom Board (bei dem alles auf Werkseinstellung gesetzt wurde) das Problem, dass netzwerkseitig nichts mehr ging.

Ich hatte schon im Verdacht, dass sich, warum auch immer, die Interfacenamen für die Netzwerkkarten geändert haben. Da muss im Bios wohl vorher eine Einstellung aktiv gewesen sein, die dafür gesorgt hatte, das es vorher enp2s0 und enp6s0 waren, denn jetzt sind daraus enp112s0 und enp107s0 geworden.

Mit dmesg | grep enp konnte ich mir die neuen Interfacenamen heraussuchen und dann in /etc/network/interfaces eintragen und mit ifreload -a scharfschalten.
 
... und schon wieder wurde es nach einem Bios-Update auf einem AMD Board komisch.
  • aus enp107s0 wurde enp2s0
  • aus enp112s0 wurde enp7s0
Diesmal lief ifreload -a auf einen Fehler, sodass ich das System neu starten musste. Seitdem läuft es wie vorher.

Auf den anderen beiden Intel Board habe ich sowas bisher noch nicht gehabt (eins davon wurde heute auch aktualisiert).
 
Moinsen,
ich hab hier zwar kein Proxmox laufen...
...möchte aber trotzdem mal ein "Danke" sagen fürs Teilen deiner Erfahrungen.
Sowas ist für mich ein super GAU. Da bekomme ich schon beim Lesen feuchte Hände und Weglauftendenz.
 
Naja, entweder bleibt alles beim alten, oder man hat halt den sauren Apfel erwischt, aber solange man damit auch umzugehen weiss... und bei einem BIOS-Update ist das System ja normalerweise auch nicht unbeaufsichtigt bzw. remote macht man sowas ja auch nicht grade. Ärgerlich ist es aber allemal...
 
Hätte ich wegen des BIOS-Updates nicht eh zum Rechner rennen müssen, dann hätte mich das schon ziemlich angenervt, wenn die Kiste plötzlich nicht mehr erreichbar ist. So war es einfach nur leicht nervig, weil ich ein paar Minuten länger vor dem Rechner verbringen musste. Ich hatte natürlich erstmal die Interfaces verdreht eingetragen und mich gewundert, warum nur eine von zwei IPs ansprechbar waren..

...möchte aber trotzdem mal ein "Danke" sagen fürs Teilen deiner Erfahrungen.
Gerne!
 
Auf dem Node mit Ryzen 7700 CPU/Board mit B650M Chipsatz, geht es fröhlich weiter mit Umbenennung von Interfaces.
Diesmal hab ich einfach nicht mitbekommen, dass eins der Interfaces (das über das PVE rausgeht) schon umbenannt war. Das über das Gesynched wird und die VMs laufen, war davon diesmal nicht betroffen.

Ich kann mich nicht daran erinnre, ob ich vor dem letzten Neustart ein Bios-Update gemacht habe.

Die passende Einstellung im Bios zu finden habe ich schon lange aufgegeben, es sind einfach viel zu viele Optionen bei (halbwegs) modernen Boards. Ich weiß auch nicht, ob es ein Problem von Boards mit dem Chipsatz ist, oder ein generelles Ding bei modernen AMD Boards. Ich weiß nur, dass es nervt wie Sau.. Immerhin konnte ich es diesmal über das Terminal in der PVE-UI lösen.

Kennt hier jemand zufällig das Problem und eine Lösung dafür?

Update: mir fällt ein, das ich den SATA-Controller ausgebaut habe. Aber das sollte doch eigentlich den "predictable interface name" nicht beeinflussen, da der sich doch eigentlich nach der Adresse des PCIe Slots richten sollte, und nicht danach, ob in einem anderne PCIe Slot noch Karten installiert sind.
 
Zuletzt bearbeitet:
Moinsen,
ich hab ja da eher wenig Ahnung, aber eben dazu das hier gefunden im proxmox Supportforum: https://forum.proxmox.com/threads/changed-pcie-cards-new-network-names.129072/
Also scheint es durchaus dazu zu kommen (unter Umständen), dass sich da die Bezeichnungen ändern, wenn PCI Geräte hinzugefügt oder entfernt werden.
Als Lösungsidee: den Interface Names fest die MAC Adresse zuweisen, wird da im link jedenfalls vorgeschlagen...
Hab ich selber hier noch nicht erlebt, habe aber auch seit Installation nix an der hardware ändern müssen / wollen.
Vielleicht hilft dir das ja etwas weiter? :)
 
Das mit der MAC-Adresse sieht doch nett aus. Das ist jetzt bestimmt das dritte oder vierte Mal, dass sich die Adressen ändern. Lustigerweise auch nur auf diesem einen Gerät.

Ich bin bisher immer davon ausgegangen, dass die "predictable interface names" statisch für PCIe Slots/Ports wären... falsch gedacht :D
 
Seit Proxmox 9 gibt es wohl ein Hilfstool, das einem die Arbeit abnimmt:
Code:
root@pve3:~# pve-network-interface-pinning generate
This will generate name pinning configuration for all interfaces - continue (y/N)?
y
Name for link 'enp3s0' (enxa8a159f98024) will change to 'nic0'
Name for link 'enp1s0' (enxec0d9ab9c1c0) will change to 'nic1'
Generating link files
Successfully generated .link files in '/usr/local/lib/systemd/network/'
Updating /etc/pve/nodes/pve3/host.fw.new
Updating /etc/network/interfaces.new
Updating /etc/pve/sdn/controllers.cfg
Updating /etc/pve/sdn/fabrics.cfg
Successfully updated Proxmox VE configuration files.

Please reboot to apply the changes to your configuration
Ich hätte hier noch Einfluss auf die Prefixes nehmen können, oder auch nur ein einzelnes Interface "festnageln" können.

Auszug aus der Hilfe:
Code:
root@pve3:~# pve-network-interface-pinning help
USAGE: pve-network-interface-pinning generate  [OPTIONS]

  Generate systemd.link files to pin the names of one or more network
  interfaces and update all network-related configuration files.

  --interface <string>   (default=<all>)
             Only pin a specific interface.

  --prefix   ^[a-zA-Z][a-zA-Z0-9-_]{0,7}$   (default=nic)
             Use a specific prefix for automatically choosing the pinned
             name.

  --target-name <string>
             Pin the interface to a specific name.

             Requires option(s): interface
...
 
Jetzt habe ich auch den notwendigen Reboot gemacht.

Nachdem /etc/network/interfaces.new angelegt wurde und die eigentliche Konfigurationsdatei /etc/network/interfaces für die Netzwerk-Interfaces nicht aktuallisiert wurde. Was ich etwas misstrauisch, ob ich die Dateien mit .new noch umbennen muss nach dem Neustart: war nicht notwendig.

Es läuft direkt, ohne das ich etwas tun musste. Die Interfaces heißen jetzt wie oben im Output angezeigt. Damit sollte das gerne sein Ende haben.
 
Moinsen,
Sehr schön, dann sollte das Problem ja hoffentlich aus der Welt sein...Und danke für das walk thru. ;)
 

Letzte Anleitungen

Statistik des Forums

Themen
7.410
Beiträge
72.311
Mitglieder
7.911
Neuestes Mitglied
euro01
Zurück
Oben