[Eisfair] Update Base 2.7.8 online

Marcus Roeckrath marcus.roeckrath at gmx.de
Sa Dez 10 19:48:22 CET 2016


Hallo Tanne,

Hans-Georg Kiefer wrote:

> Ich hatte eben eine News gesendet mit dem Logeintrag aus messages:

Nein, die hast Du mir als PM zugesandt.

> Dec  9 21:07:02 SERVER kernel: <27>udevd[1728]: Error changing net
> interface name eth1 to eth0: File exists
> Dec  9 21:07:02 SERVER kernel: <28>udevd[1728]: could not rename
> interface '3' from 'eth1' to 'eth0': File exis

Da haben wir die Race Condition.

Mit net.ifnames=1 passiert beim Boot folgendes:

Kernel findet eine Netzwerkkarte und lädt den zuständigen Treiber.

Zunächst heißt dann das Interface eth0, wegen net.ifnames=1 wird darsu ein
eideutiger Name z. B. enp0s1 oder so, die abschliessende User-udev-Regel
macht dann daraus den gewünschten Namen bei Dir eth0.

Nun findet der Treiber auf Deinem System zwei Karten vor, für die er sich
zuständig fühlt und nur der Treiber entscheidet nun, in welcher Reihenfolge
er die nun einbindet, in Deinem Fall nicht die, die den Kernel veranlasst
hat, da Realtek-Modul zu laden.

Generell sollte das egal sein, aber das geschieht nun so schnell und vor
allem parallel, dass die bei Erstinitialisierung gewählten eth0 und eth1
für die beiden Karten auch nach dem Umbenennen in die eindeutigen Namen für
die schlussendliche Benamung noch nicht frei sind.

Ob das in einem von x Fällen dann doch gut gehen kann, ist nicht
vorhersehbar.

Um hier sicherzugehen, darfst Du in der Base-Konfiguration unter ETH_X_NAME
keinenfalls ethX benutzen, ebenso nicht leer lassen, da dann wieder ethX
angenommen wird.

Ich würde nicht generell davon ausgehen, dass bei jedem Boot immer die jetzt
von Dir beobachtete Reihenfolge sichergestellt ist.

Das Problem hatten wir vor Veröffentlichung der Base 2.78 auf einem System
mit zwei verschiedenen Modulen, wo meist eine bestimmte Reihenfolge
manchmal aber auch eine andere zum Tragen kam.

Einzige Vermeidung ist es, schlussendlich ethX-namen zu vermeiden.


> Der Beitrag ist "lost in space"...

Nein, s. o.

>> aufsteigende BusID -> aufsteigend etho -> 1

Das macht der Treiber intern; ob das immer so oder z. B. in einer anderen
Version des Moduls immer noch so sein wird steht in den Sternen.

> Dann wäre zumindest ein Hinweis im Hilfetext sinnvoll, dass die Benamung
> in der Konfigurtion unter Umständen nicht zum gewünschten Ergebnis führt.

Hinweis auf meinen Wiki-artikel, ein Hilfetext kann nicht alle Fälle
abdecken.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair