Discussion:
linux-l: root-fs per nfs mounten
Alexander Stielau
2001-02-08 18:30:01 UTC
Permalink
Moin,
vielleicht kann mir mal jemand einen Schubs geben:

Ich möchte einen Client aus dem Netz booten, und ich bekomme das
Rootfile-System nicht gemountet.

Konfiguration Server:

/etc/exports
# zum Test habe ich auch mal mit dem Server-Root gespielt...
/ *(ro)
/tftpboot/192.168.20.64 *(rw)
/tftpboot/192.168.20.109 192.168.20.109(rw,no_root_squash)

relevantes aus /etc/dhcpd.conf:
# Global
option domain-name "blablub";
option domain-name-servers 192.168.20.14;
# option nis-domain ".ether";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.20.255;
# Das nachfolgende ist das Grub-Boomenu
option option-150 "/tftpboot/menu.1st";
option root-path "/tftpboot/192.168.20.64/";
#option root-path "/"; # auch probiert, gleiches Ergebnis.
[...]
host oemcomputer {
option host-name "oemcomputer";
fixed-address 192.168.20.64;
hardware ethernet 00:D0:B7:B0:0E:82;
server-name "engel";
filename "/tftpboot/pxegrub";
}

pxegrub ist ein Bootloader für grub, der auf Intels PXE aufbaut (die
Karte ist eine EEpro).

Der Client bootet erst pxe, dann grub, dann den Kernel.
Der Kernel initalisiert so vor sich hin, zieht nocheinmal per DHCP die
notwendigen Infos, und versucht dann sein Rootfilesystem zu mounten,
dabei passiert folgendes:

[...]
Sending DHCP an RARP requests .. OK
IP-Config: Got DHCP answer from 192.168.10
IP-Config: Complete:
device=eth0, addr=192.168.20.64, mask=255.255.255.0, gw=192.168.20.18,
host=oemcomputer, domain=blablub, nis-domain=(none),
bootserver=192.168.20.10, rootserver=192.168.20.10, rootpath=/tftpboot/192.168.20.64
Parttion check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 >
Looking up port of RPC 100003/2 on 192.168.20.10
Looking up port of RPC 100005/1 on 192.168.20.10
mount: server 192.168.20.10 not responding, timed out
Root-NFS: Server returned error -5 while mounting /tftpboot/192.168.20.64
VFS: Cannot open root device 02:00
Kernel panic: VFS: Unable to mount root fs on 02:00

Kurz bevor auf dem Client die Zeile 'Looking up port...' auftaucht,
steht im Log auf dem Server:

NFS mount of /tftpboot/192.168.20.64 attempted from 192.168.20.64
/tftpboot/192.168.20.64 has been mounted by 192.168.20.64
(3mal mit einer Sekunde Abstand)

Dann passiert bis zum Timeout des Clients nichts.
Das Verzeichnis kann normal gemountet werden.
Was ist Fehler -5? Wie kann ich das Logging auf dem Server
ausführlicher machen?

server:~ # rpc.nfsd -v
Universal NFS Server 2.2beta47
Kernel ist ein 2.2.16

Mal Kernel-NFS versuchen?

Etwas ratlos,
Aleks
--
***@11, heute Matthias K. aus B. an der S.:

Und ich habe mir jetzt eine Quota auf /dev/null gelegt...
Jan-Benedict Glaw
2001-02-09 09:23:59 UTC
Permalink
Post by Alexander Stielau
Moin,
Ich möchte einen Client aus dem Netz booten, und ich bekomme das
Rootfile-System nicht gemountet.
[...]
Post by Alexander Stielau
[...]
Sending DHCP an RARP requests .. OK
IP-Config: Got DHCP answer from 192.168.10
device=eth0, addr=192.168.20.64, mask=255.255.255.0, gw=192.168.20.18,
host=oemcomputer, domain=blablub, nis-domain=(none),
bootserver=192.168.20.10, rootserver=192.168.20.10, rootpath=/tftpboot/192.168.20.64
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 >
Looking up port of RPC 100003/2 on 192.168.20.10
Looking up port of RPC 100005/1 on 192.168.20.10
mount: server 192.168.20.10 not responding, timed out
Root-NFS: Server returned error -5 while mounting /tftpboot/192.168.20.64
VFS: Cannot open root device 02:00
Kernel panic: VFS: Unable to mount root fs on 02:00
Hmmm. Versucht er da, die Floppy zu mounten?

[***@min:/dev] $> ls -l|grep ' 2,'|grep ' 0 ' | grep '^b'
brw-rw---- 1 root floppy 2, 0 Feb 3 2000 fd0
Post by Alexander Stielau
Kurz bevor auf dem Client die Zeile 'Looking up port...' auftaucht,
NFS mount of /tftpboot/192.168.20.64 attempted from 192.168.20.64
/tftpboot/192.168.20.64 has been mounted by 192.168.20.64
(3mal mit einer Sekunde Abstand)
Das Ding wird gemountet - versucht er dann auch, das als *root*device
zu benutzen? Dazu mußt Du den Kernel-Parameter 'root=/dev/nfs' mit
angeben. Tusscht'e datt? Datt isch wischtisch!
Post by Alexander Stielau
server:~ # rpc.nfsd -v
Universal NFS Server 2.2beta47
Kernel ist ein 2.2.16
Mal Kernel-NFS versuchen?
Nein. Userspace-NFS kannst Du mit strace und Co. im Zweifelsfall gut
überwachen, bei kNFSd geht das so einfach nicht.

man rpc.nfsd:
=====================================================================
-d facility or --debug facility
Log operations verbosely. Legal values for facility
are currently call for the logging of RPC calls and
arguments, fhcache for the file handle cache opera-
tion, auth for the authentication routines, and
ugid for the uid mapping code, if used. Debug mes-
sages will be logged to syslog(8) unless the daemon
runs in the foreground.
=====================================================================

MfG, JBG
--
Fehler eingestehen, Größe zeigen: Nehmt die Rechtschreibreform zurück!!!
/* Jan-Benedict Glaw <***@lug-owl.de> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB
"insmod vi.o and there we go..." (Alexander Viro on linux-kernel)
Alexander Stielau
2001-02-09 10:07:44 UTC
Permalink
Post by Jan-Benedict Glaw
Post by Alexander Stielau
Looking up port of RPC 100003/2 on 192.168.20.10
Looking up port of RPC 100005/1 on 192.168.20.10
mount: server 192.168.20.10 not responding, timed out
Root-NFS: Server returned error -5 while mounting /tftpboot/192.168.20.64
VFS: Cannot open root device 02:00
Kernel panic: VFS: Unable to mount root fs on 02:00
Hmmm. Versucht er da, die Floppy zu mounten?
brw-rw---- 1 root floppy 2, 0 Feb 3 2000 fd0
Ja, aber erst als fallback, weil nfs seiner Meinung nach nicht tut.
Post by Jan-Benedict Glaw
Das Ding wird gemountet - versucht er dann auch, das als *root*device
zu benutzen? Dazu mußt Du den Kernel-Parameter 'root=/dev/nfs' mit
angeben. Tusscht'e datt? Datt isch wischtisch!
Ähm. Mal probieren. :-)

Leider sind die Howtos zum Thema bekloppt oder mindestens
widersprüchlich. Und da ich nicht mit ether/netboot arbeite, paßt
einiges nicht.
Post by Jan-Benedict Glaw
=====================================================================
-d facility or --debug facility
Log operations verbosely. Legal values for facility
are currently call for the logging of RPC calls and
arguments, fhcache for the file handle cache opera-
tion, auth for the authentication routines, and
ugid for the uid mapping code, if used. Debug mes-
sages will be logged to syslog(8) unless the daemon
runs in the foreground.
=====================================================================
Bedankt.

Aleks
--
***@11, heute Matthias K. aus B. an der S.:

Und ich habe mir jetzt eine Quota auf /dev/null gelegt...
Loading...