PXE Boot mit "MultiNIC"-Client

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
mpcore
Beiträge: 4
Registriert: 24.06.2007 17:53:41

PXE Boot mit "MultiNIC"-Client

Beitrag von mpcore » 12.04.2016 16:17:14

Hallo zuzsammen,

ich hab immer mal wieder folgendes Problem:
Wenn ich nen PXE Client booten möchte, der aber mehr als eine NIC hat (also nicht nur NIC Ports, sondern mehrere Karten, z.B. onboard + eine weitere zusätzlich), werden beim booten die NIC Bezeichnungen "fröhlich durcheinandergewürfelt", sodass eth0 einem Port zugewiesen wird, der gar nicht angesclossen ist. Dann läuft der Client beim init in nen Timeout beim Initialisieren der NIC (klar, "eth0" ist in diesem Moment ja nich angeschlossen), und dann findet der Kernel beim booten natürlich gar nix mehr und bleibt mit nem Panic stehen (manchmal auch in der busybox)...

Ich denke, ursache ist die initrd Konfig: Beim Client muss ja beim Erstellen der initrd für den PXE Boot das Device angegeben werden, in der initramfs.conf steht also "DEVICE=eth0". Mache ich das nicht, bootet der Client später auch nicht vollständig durch, entweder bleibt beim init der NICs mit timeout stehen, oder bootet in die busybox.

Im Gegensatz dazu funktioniert es z.B. mit nem GRML über PXE ganz anders: Dort wird einfach jeder Port jeder NIC "geprüft", wenn innerhalb einer bestimmten Zeit nicht initialisiert werden kann, gehts einfach mit der nächsten weiter... Basis ist dort allerdinsg auch Debian-Live glaube ich, also root wird während boot über squashfs eingebunden...

Hat jemand eine Idee, wie ich eine initrd ausgehend von einer "normalen" Installation so erzeugen kann, dass sie beim PXE boot alle vorhanden NICs "durchtestet" und ggf z.B. eth1 weiter verwendet, anstatt stehen zu bleiben?

Besten Dank schonmal
Martin

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von hec_tech » 12.04.2016 16:41:19

Einfach folgende Konfiguration verwenden:

Code: Alles auswählen

DEFAULT linux
timeout 100
PROMPT 1
DISPLAY debian.txt
F1 f1.txt
LABEL linux
  KERNEL vmlinuz-jessie-3_16
    APPEND vga=normal initrd=initrd-jessie-3_16 root=/dev/nfs nfsroot=xxx.xxx.xxx.xxx:/NFSPATH ip=:::::eth0:dhcp console=tty0 elevator=noop showopts apm=off rw selinux=0 clock=pit -rw
Damit kannst du das Interface angeben.

mpcore
Beiträge: 4
Registriert: 24.06.2007 17:53:41

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von mpcore » 12.04.2016 17:01:09

Hi, danke für die Antwort - aber vermutlich habe ich mich zu umständlich ausgedrückt...

Das wäre ne Lösung, wenn ich vorher wüsste, welchen Namen das zu verwendende Interface bekommt...

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von hec_tech » 12.04.2016 17:15:49

Der Name sollte sich nicht ändern. Das hätte ich zumindest noch nie beobachtet.

mpcore
Beiträge: 4
Registriert: 24.06.2007 17:53:41

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von mpcore » 12.04.2016 17:25:48

Hm, wie erklär ich das am Besten...
Angenommen der Client hat nur eine NIC mit einem Port - dann funktioneirt alles wie gewünscht (NIC"1"= eth0).
Wird in diesen Client noch ne 2te NIC eingebaut (also zusätzliche Karte = NIC2), dann passiert es rel. oft, dass beim booten NIC1=eth1 und NIC2=eth0 wird - und dann läuft es nicht weiter, wenn NIC2 nicht angeschlossen ist...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von rendegast » 12.04.2016 17:59:03

Vielleicht
Predictable Network Interface Names
net.ifnames=1

Die fedora-Version davon (zumindest ~ 2011)
biosdevname=1
mit einem udev-Hilfsprogramm 'biosdevname'


In
https://www.kernel.org/doc/Documentatio ... meters.txt
ist keins der beiden aufgeführt.
Ist wohl ein reines systemd/udev-Ding,
im Kernel findet sich "ifnames" nur in
linux-4.4/drivers/staging/lustre/lnet/lnet/config.c.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

mpcore
Beiträge: 4
Registriert: 24.06.2007 17:53:41

Re: PXE Boot mit "MultiNIC"-Client

Beitrag von mpcore » 13.04.2016 15:39:42

Hi,

Achtung, jetzt kommt evtl mein gefährliches Halbwissen zum Tragen...

biosdevname hilft dabei, dass die "alten" Bezeichnungen (aka ethX) verwendet werden, und nicht die hübschen neuen (z.B. "ensXXX") - oder? Hilft dagegen nicht dabei, einer NIC einen bestimmten Namen zuzuordnen - da wäre vermutlich udev der richtige Ansatz, was hier in dem Fall aber auch nicht funktioneiren würde, da udev später startet...

Der Lösungsansatz geht auch am eigentlichen Problem vorbei: Gibt es eine Möglichkeit, (vermtulich) die initrd für den PXE boot so umzubauen, dass Sie eine beliebige NIC verwendet? Und eben nicht hängen bleibt, wenn die irgendwo konfigurierte nur nicht angeschlossen ist?

Wie gesagt, ich kenn das vom GRML PXE Boot, da ist das super hübsch gemacht...

Grüße
Martin

Antworten