• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

NFS Server einrichten fuer OS-9 NFS Client

VolkerD

Newbie
Hallo,

ich versuche mich neuerdings mit SuSe 11.2 als NFS Server fuer einen NFS Client des OS-9 Betriebssystems, bislang mit maessigem Erfolg.

Netzwerk geht, die beiden Rechner sehen sich, und ich kann das Laufwerk sogar mounten, aber Lese- und Schreibzugriffe wollen so gar nicht funktionieren. Wenn ich ls mache sehe ich nur manche Files, schreiben geht, aber ich sehe sie nachher nicht und wenn ich mal ein File sehe, hat es nicht den erwarteten Inhalt. Kurzum, Mist das Ganze.

Ich habe NFSv4 abgewaehlt und bei den export Optionen rw,root_squash,anonuid=1000,anongid=1000 angegeben und als host ein *.

Nun kann man natuerlich sagen, liegt wohl am NFS Client fuer OS-9. Nur so einfach ist das nicht, wir nutzen den NFS Client schon seit mindestens 10 Jahren erfolgreich mit Solaris als NFS Server. Was macht denn der Linux NFS Server anders als der Solaris Server?

Volker
 

stka

Guru
Was immer auch OS9 ist ohne deine /etc/exports geht hier gar nichts. Wie sollen wir deine Konfiguration prüfen wenn wir weder deine Server noch deine Clienteinstellungen kennen. Auch die Ausgabe von "rpcinfo" von beiden Seiten wäre hilftreich.
 
OP
V

VolkerD

Newbie
OS-9 ist ein Echtzeitbetriebssystem, hat wenig mit Linux gemeinsam.

Die /etc/exports schaut sehr uebersichtlich aus:
/home/data *(rw,root_squash,anonuid=1000,anongid=1000)

rpcinfo auf Linux sagt:
linux-m5cx:/home/data/os9_test # rpcinfo
program version netid address service owner
100000 4 tcp6 ::.0.111 portmapper superuser
100000 3 tcp6 ::.0.111 portmapper superuser
100000 4 udp6 ::.0.111 portmapper superuser
100000 3 udp6 ::.0.111 portmapper superuser
100000 4 tcp 0.0.0.0.0.111 portmapper superuser
100000 3 tcp 0.0.0.0.0.111 portmapper superuser
100000 2 tcp 0.0.0.0.0.111 portmapper superuser
100000 4 udp 0.0.0.0.0.111 portmapper superuser
100000 3 udp 0.0.0.0.0.111 portmapper superuser
100000 2 udp 0.0.0.0.0.111 portmapper superuser
100000 4 local /var/run/rpcbind.sock portmapper superuser
100000 3 local /var/run/rpcbind.sock portmapper superuser
100005 1 udp 0.0.0.0.133.134 mountd superuser
100005 1 tcp 0.0.0.0.136.244 mountd superuser
100005 2 udp 0.0.0.0.133.134 mountd superuser
100005 2 tcp 0.0.0.0.136.244 mountd superuser
100005 3 udp 0.0.0.0.133.134 mountd superuser
100005 3 tcp 0.0.0.0.136.244 mountd superuser
100024 1 udp 0.0.0.0.206.163 status superuser
100021 1 udp 0.0.0.0.195.30 nlockmgr unknown
100021 3 udp 0.0.0.0.195.30 nlockmgr unknown
100021 4 udp 0.0.0.0.195.30 nlockmgr unknown
100021 1 tcp 0.0.0.0.218.15 nlockmgr unknown
100021 3 tcp 0.0.0.0.218.15 nlockmgr unknown
100021 4 tcp 0.0.0.0.218.15 nlockmgr unknown
100021 1 udp6 ::.181.177 nlockmgr unknown
100021 3 udp6 ::.181.177 nlockmgr unknown
100021 4 udp6 ::.181.177 nlockmgr unknown
100021 1 tcp6 ::.232.183 nlockmgr unknown
100021 3 tcp6 ::.232.183 nlockmgr unknown
100021 4 tcp6 ::.232.183 nlockmgr unknown
100003 2 udp 0.0.0.0.8.1 nfs unknown
100003 3 udp 0.0.0.0.8.1 nfs unknown
100003 2 tcp 0.0.0.0.8.1 nfs unknown
100003 3 tcp 0.0.0.0.8.1 nfs unknown
100024 1 tcp 0.0.0.0.134.209 status superuser
linux-m5cx:/home/data/os9_test #

Kann ich jetzt nicht viel mit anfangen.


Der mount auf dem OS-9 System geht so: mount 192.9.200.11:/home/data /data

Wie rpcinfo auf OS-9 geht weiss ich nicht. Es kennt den System Call, scheint aber anders zu tun:

[lcd] /dd/lcd/sys>rpcinfo
Syntax: rpcinfo [<opts>]
Function: Call RPC server and report results.
IP Stack: SPF
Options:
-p [<host>]
Call portmap on <host> and display list of registered
programs. (<host> defaults to result of gethostname())
-t <host> <prognum> [<version>]
Use TCP to report all versions of <prognum> that respond.
If <version> specified only request that version.
-u <host> <prognum> [<version>]
The same as -t only use UDP instead of TCP.
-n <port>
Use <port> as the port number for the -t and -u options.
-n must be placed before the -t or -u option.
[lcd] /dd/lcd/sys>
[lcd] /dd/lcd/sys>rpcinfo -p
rpcinfo: can't contact portmapper: RPC: Remote system error - Error 458778

Egal welche Option ich nutze, es tut nicht, ist vielleicht auch nicht richtig eingerichtet.

Volker
 

stka

Guru
Du musst ein "rpcinfo -p localhost" machen. Du hast zwar einen NFS-4 Server aber du hast ihn nur für NFS-3 konfiguriert. NFS-4 ist etwas aufwendiger ;-) Siehe hier:
http://www.crazysquirrel.com/computing/debian/servers/setting-up-nfs4.jspx
 
OP
V

VolkerD

Newbie
Ich brauche kein NFS-4, NFS-3 waere voellig ausreichend. Ich habe den NFS Server mit Absicht nicht fuer NFS-4 konfiguriert, weil ich nicht weiss, ob das OS-9 das kann.

Wie dem auch sei, es geht bislang weder mit NFS-3 noch mit NFS-4.

Hier die Anzeige der Daten unter Linux

data/os9_test> ls -l
total 4
-rw-rw-rw- 1 1000 1000 0 2010-08-02 11:33 data.tst
-rw-rw-rw- 1 1000 1000 31 2010-08-02 12:54 test.data
data/os9_test>

Und hier die Ausgabe von OS-9

[lcd] /data/os9_test>ls -l
Directory of . 11:33:43
Owner Last modified Attributes Block Bytecount Name
--------- ------------- ---------------- ------- --------- ----
1000.1000 10/08/02 0933 ------wr--wr--wr 316004 0 data.tst
[lcd] /data/os9_test>

Die Datei test.data sieht es nicht, und die Datei hat den falschen Inhalt. In data.tst muesste das aktuelle Datum stehen, aber die Datei ist leer. Dafuer steht in test.data das Datum drinne wo ich eigentlich eine ganz andere Datei kopiert habe????

Aber, ich kann auch unter OS-9 test.data oeffnen obwohl ein ls sie mir nicht anzeigt:

[lcd] /data/os9_test>list test.data
August 2, 2010 Monday 10:54:54

Mysterioes???

Volker
 
OP
V

VolkerD

Newbie
Hmm, so wie es aussieht sehe ich unter OS-9 bei einem dir oder ls einfach immer die letzte Datei nicht, warum auch immer. Bug oder Inkompatiblitaet, keine Ahnung. Oder es gibt doch noch eine export Funktion die mir das ermoeglicht.

Wenn man allerdings weiss, wie die letzte Datei heist kann man sie oeffnen und auch editieren :???:

Ich werde mal unseren OS-9 Support bemuehen.

Volker
 
OP
V

VolkerD

Newbie
Habe jetzt die erste Datei auf den Linux NFS Server kopiert, hat zwar funktioniert aber elend langsam: 144 Sekunden fuer etwa 1 MByte. :irre:

Ich weiss dass die OS-9 Leute auch mit Linux arbeiten, die Frage ist nur ob sie auch NFS nutzen. So mit Sicherheit nicht.

Volker
 

stka

Guru
Das sieht ja alles ziemlich strange aus. Schon alleine das "ls -l" nur die UID und NICHT den Benutzername anzeigt. Stimmen die Benutzerdaten? Auf beiden Systemen müssen die Benutzer die selbe UID haben sonst geht das ganze sowieso in die Hose.
 
OP
V

VolkerD

Newbie
Die User und Group ID stimmen, nur ist die Anzeige etwas anders.

Ich habe heute den Gegentest mit einer Solaris Maschine als NFS Server gemacht und es zeigt sich, dass es wohl am OS-9 liegt.

Unter beiden NFS Servern ist das OS-9 langsam, allerdings nur wenn ich zwei Netzwerkanschluesse benutze. Das ist irgendwie eigenartig, aber wohl ein Problem vom OS-9 oder der Netzwerkkonfiguration dort.

Das Fehlen der Anzeige der letzten Datei bei einem ls wurde mittlerweile vom OS-9 Support bestaetigt, passiert aber auch nur mit Linux als NFS Server.

Volker
 

stka

Guru
Komisches OS ;-) Also kommst du auf Grund dessen, dass das OS9 den Bug hat im Moment auch nicht weiter?
 
OP
V

VolkerD

Newbie
Ja, ich warte derzeit auf eine Antwort vom Support.

Das OS ist schon gut, fuer Echtzeitanwenungen sicher eines der besseren. Aber NFS war schon immer deren Schwaeche, das wird eben auch nicht so oft genutzt.

Ich denke es liegt daran, dass ich nun zwei Mounts auf zwei verschiedenen Ethernetcontrollern and zwei verschiedene Server nutze. Entweder ich mache da was falsch oder aber das OS-9 hat einen Bug.

Wenn ich die Testdatei mit ca. 1 MByte auf Server 1 kopiere dauert es etwa 0.25 sec, kopiere ich sie auf Server zwei dauert es ca. 90 sec. Dabei ist es ziemlich egal ob Server 2 eine Linux oder eine Solaris Kiste ist.

Kann eigentlich hier einer mit diesen Ausgaben was anfangen:

udp:
9791 datagrams received
0 with incomplete header
0 with bad data length field
0 with bad checksum
0 dropped due to no socket
2 broadcast/multicast datagrams dropped due to no socket
0 dropped due to full socket buffers
9789 delivered
9791 PCB hash misses
9882 datagrams output

Das stammt von einem netstat Aufruf der vom OS-9 Support angefragt wurde nachdem ich so einen NFS Datentransfer versucht hatte.

Volker
 
OP
V

VolkerD

Newbie
Das Problem lichtet sich: es liegt wohl an einem Treiber fuer die verwendete GBit Schnittstelle. Mit einer anderen Hardware und damit verbunden einem anderen Treiber tritt das Problem nicht auf.

Volker
 
Oben