Ich habe einen Debian Server 20.04 LTS laufen. Mit einer Quad Nic von
Sun. Die Ports laufen im Bond (RR) und alles lief bis gestern tadellos.
Nach der Server die aktuellen Updates gezogen hat, das System sich neu
bootete, weigert nun die Netzwerkkarte jegliche Arbeit.
Ausgabe über "ip a" ergibt folgendes:
1
draconix@server-home:~$ ip a
2
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
Wie kann ich die Treiber dazu finden, bzw... wo kann ich finden wo der
Fehler eventuell liegen könnte? Gibt es da ein Log?
Ein Testweises rausnehmen der einzelnen Nics aus dem Bond funktioniert
auch nicht, auch die einzelnen nics (ens3fx) werden nicht angezeigt.
Draco schrieb:> Ich habe einen Debian Server 20.04 LTS laufen.
Hast du nicht. Die Versionsnummer deutet auf Ubuntu hin, kann aber auch
Mint oder sowas sein.
Ansonsten wär’s sinnvoll, den Networkmanager mal als Fehlerquelle
auszuschließen, indem die Interfaces auf altmodische Art konfiguriert
werden. Da sieht man dann auch, an welcher Stelle ein Fehler auftritt –
und welcher genau.
Draco schrieb:> Gibt es da ein Log?
Das Journal, mit den passenden Filtern.
Draco schrieb:> auch die einzelnen nics (ens3fx)
Da wird der Hund begraben sein. Hast du schon in dmesg nachgesehen, ob
eventuell irgendwelche firmware oder so fehlt?
Draco schrieb:> Wie kann ich die Treiber dazu finden, bzw... wo kann ich finden wo der> Fehler eventuell liegen könnte? Gibt es da ein Log?
Die Ausgabe von dmesg nach dem booten nach Meldungen bzgl. Ethernet
prüfen.
mii-tool oder ethtool liefert Infos zum Linkstate der Karten.
lspci als root bzw. mit ordentlich -v liefert den Treiber zum
pci-device.
modinfo liefert Infos zu Parameter zu Kernelmodulen.
Unter /sys findet sich auch einiges.
/proc/net/bonding/bondx liefert Infos zum Status vom Bond Interface.
Jack V. schrieb:> Hast du nicht. Die Versionsnummer deutet auf Ubuntu hin, kann aber auch> Mint oder sowas sein.
Richtig, es ist Ubuntu Server 😊
Ich bin am verzweifeln. lspci zeigt mir niu als Treiber an. Mit modprobe
und modinfo bekomme ich den kernel Treiber auch angezeigt.
Über dmesg | grep SUN (oder ens etc) zeigt er mir überhaupt nicht an,
garnichts.
Einen kleinen Fortschritt habe ich allerdings:
Der Kernel wurde auf 5.4.0-80 aktualisiert - ab da trat das Problem auf.
Ich habe nunmal in den Kernel 5.4.0-77 gebootet und siehe da: dort läuft
alles wie gewohnt. Der Bond ist up und die Nics stehen auch alle in der
Liste (IP a).
Kann ich, das Kernel Update wieder rückgängig machen, so daß ich auf
Kernel 5.4.0-77 bleibe? Oder kann ich den niu Treiber daraus auf
5.4.0-80 ziehen?! Gibt es da Wege?
🐧 DPA 🐧 schrieb:> Alten kernel in hold nehmen und neuen entfernen.> dpkg-query -l 'linux-image-*'> apt-mark hold linux-image-alt-bla-bla> apt-get remove linux-image-neu-bla-bla
Wunderbar, danke dir.
Hat funktioniert. Nun bootet er in den alten Kernel. 😊 Was mich jetzt
aber wundert.
Ich habe ja den alten Kernel als zurück gehalten. Ist das dafür das er
nicht gelöscht werden kann?
Ich habe den neuen Kernel gelöscht, ich ging davon aus das ich nun über
apt update/upgrade den Kernel angeboten bekomme zum erneuten
herunterladen. Dies ist aber nicht so. (Was ja aktuell gut ist) Wundert
mich allerdings ein bisschen.
Oder ist das apt-mark hold dafür zuständig das nicht über diese Version
hinaus geupdatet wird?
Vielen Dank für Infos. 😊
Draco schrieb:> Ich habe ja den alten Kernel als zurück gehalten. Ist das dafür das er> nicht gelöscht werden kann?
...
> Oder ist das apt-mark hold dafür zuständig das nicht über diese Version> hinaus geupdatet wird?
Auf das konkrete Paket und apt-get install / autoremove bezogen, ja,
beides. Auf den Kernel bezogen, ist das etwas komplexer, siehe unten.
> Ich habe den neuen Kernel gelöscht, ich ging davon aus das ich nun über> apt update/upgrade den Kernel angeboten bekomme zum erneuten> herunterladen. Dies ist aber nicht so. (Was ja aktuell gut ist) Wundert> mich allerdings ein bisschen.
Anders als bei anderen Paketen, beinhaltet das Kernel Paket die
Kernelversion. Es gibt dann ein Metapaket, das vom neusten Kernel
abhängt. Unter Debian ist das "linux-image-amd64", ubuntu hat vermutlich
auch sowas, scheint dort aber anders zu heissen.
Der Installationsmodus des Kernelpakets ist "auto", der vom Metapaket
normalerweise "manual", glaube ich. Das Metapaket wird von autoremove
deshalb also normalerweise nicht deinstalliert, während neue
Kernelpakete installiert (bei apt-get upgrade) und alte Kernelpakete
deinstalliert werden können.
Man kann parallel mehrere Kernel installieren, da diese ja andere Namen
haben, weil die Version im Paketnamen ist, unabhängig vom Metapaket. Das
Paket ist dann "manual" statt "auto", wird also auch nicht automatisch
deinstalliert bei autoremove. (man kann das mit apt-mark ändern,
apt-mark auto/manual paket und apt-mark hold/unhold paket).
Das "apt-get remove" vom neuesten Kernelpaket (sowohl lokal als auch im
Repo), führt dazu, dass auch das Metapaket deinstalliert werden muss,
weil das ja davon abhängt. Damit wird dieses natürlich später auch nicht
mehr geupdatet, womit auch keine neuen Kernel mehr automatisch
installiert werden. Um das wieder zu aktivieren, muss man also nur das
Metapaket wieder installieren.