[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: boot mit nfs-root klappt nur bei jedem 2. Versuch



Hallo Jörg,

Am Mittwoch, 26. November 2008 22:27 schrieb Jörg Sommer:
> Andreas Büchel <andreas.buechel@gmx.de> wrote:
> > Am Mittwoch, 26. November 2008 11:43 schrieb Jörg Sommer:
> >> Andreas Büchel <andreas.buechel@gmx.de> wrote:
> >> > Das seltsame ist, dass es bei genau jedem zweiten Boot-Versuch
> >> > einwandfrei funktioniert. In den anderen Fällen erhalte ich nach
> >> >
> >> > Waiting for /dev to be fully populated...
> >> >
> >> > nur noch
> >> >
> >> > Server <server-ip> not responding, still trying...
> >>
> >> Hast Du mal mit tcpdump geschaut, ob Netzwerkverkehr zu der Zeit
> >> herrscht? Öffne auf der Box doch mal frühzeitig eine Shell auf der
> >> zweiten Konsole und wenn das kommt, schau nach, ob Du irgendwelche
> >> Auffälligkeiten finden kannst.
> >
> > Scheinbar erhält der Server die Anfragen, weiß aber nicht, wohin er die
> > Antwort schicken soll.
> > Die letzten Zeilen einer Session, bei der es nicht funktioniert hat
> > lauten:
> >
> > 20:32:00.268568 arp who-has <box-hostname> tell <server-hostname>
> >
> > Bei einer Session, die funktioniert erscheint diese Zeile auch, wird
> > jedoch sofort mit einem
> >
> > 20:33:45.541338 arp reply <box-hostname> is-at <MAC> (oui Unknown)
> >
> > beantwortet. Stellt sich natürlich die Frage, warum entweder die
> > Netzwerkkarte der Box nicht antwortet oder die Antwort nicht durchkommt.
>
> Gibt es LEDs an der NIC der Box? Blinken die? Boote doch den Kernel der
> Box mal mit debug. Dann solltest Du sehen, wenn die Netzwerkkarte
> abgeschaltet wird.
>
Ja, da sind 2 LED's dran. Eine für Verbindung und eine für Traffic. Die 
Verbindung leuchtet unverändert weiter, aber die für Traffic bleibt aus, 
sobald der Fehler auftritt.

> >> Booten mit init=/bin/sh, dann sh </dev/tty2 >/dev/tty2 2>&1 & ausführen,
> >> auf der zweiten Konsole nachsehen, ob die Shell da ist, und dann mit
> >> exec /sbin/init den Bootvorgang fortsetzen.
> >
> > Das funktioniert leider nicht. Ich kann die Konsole zwar öffnen und sie
> > funktioniert prinzipiell, sobald er jedoch versucht, das neue
> > root-directory einzubinden,
>
> Wann passiert das denn? Ist das ein Init‐Skript? Wie ist der Ablauf?
> Init starten, dann rootfs austauschen? Das klingt sehr merkwürdig.
>
Habe mal ein bisschen mit der Shell rumgespielt, bevor ich exec /sbin/init 
ausgeführt habe. Es sieht so aus, als ob das Mounten des nfs-roots für die 
initrd klappt. Auf jeden Fall ist / in dieser frühen Shell das Verzeichnis 
auf dem NFS-Server.

> > --- Irgendwie
>
> Nur so am Rande: Falls Du mit den drei Strichen einen Gedankenstrich in
> Anlehnung an LaTeX meinst, dann ist das falsch. Im Deutschen verwendet
> man einen Halbgeviert, den mit zwei Strichen, als Gedankenstrich mit den
> Leerraum ringsherum. Im Englischen verwendet man den Geviert, den mit
> drei Strichen, ohne Leerraum als Gedankenstrich.
>
Hm, eigentlich wollte ich damit nur deutlich absetzen, aber trotzdem eine 
schöne Randinformation, um es in Zukunft richtig zu machen und ein wenig 
klugscheißen zu können. ;-)

> >> Nur so als Gedanke: Vielleicht ändert udev irgendwas an den
> >> Netzwerkeinstellungen und deswegen klappt's nicht mehr mit dem Server.
> >
> > Ist natürlich möglich, aber wie kann ich das rausfinden?
>
> Hat die Kiste beim Start von Init bereits eine IP‐Adresse? Dann pinge sie
> doch mal an und schau, ob die Antworten auf einmal abreisen. Aber das
> erwarte ich, wenn oben schon ARP‐Anfragen nicht beantwortet werden.
>
Bis zu dem Fehler werden Pings beantwortet, danach laufen sie ins Leere. 
(Destination Host Unreachable.)

> Ich habe erstmal nur die Idee, dass Du Dir die Programme, die Du brauchst
> in eine Ramdisk kopierst, bevor Du Init startest, damit Du während udev
> nachsehen kannst, was passiert. Oder vielleicht kann man udev mit
> --verbose starten, damit Du siehst, was er macht. Schau das doch mal
> nach.
>
Also ein udevd --verbose klappt nicht. Für eine Ramdisk und eine Art Verbose 
für udev muss ich erstmal nachlesen, wie ich das mache.

> Hängt eigentlich die Box direkt am Server? Dann kannst Du mit mii-tool
> auf dem Server nachsehen, ob die Leitung abgeschaltet wurde.
>
Nein, mein Router hängt als Switch dazwischen.
Ich habe jedoch einmal testhalber als die Box mal wieder beim Booten hing das 
Netzwerkkabel abgezogen und wieder angesteckt. Auf der Konsole wurde richtig 
link down und link up angezeigt. Die Netzwerkkarte scheint also zumindest 
noch ansprechbar zu sein.

Weitere praktische Versuche werden leider bis nächste Woche warten müssen, da 
ich ab Morgen nicht zu Hause sein werde.

Viele Grüße,
Andreas


Reply to: