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

NFS-Zugriff auf NAS

harley

Hacker
Hallo,

ich habe folgendes Problem: Ich möchte eine Freigabe auf meiner NAS (N2A2DD2 von LG, aktuelle FW 8423) per NFS einbinden. Die Freigabe ist im NAS eingerichtet und für alle Hosts freigegeben. Ich kann sowohl den Server als auch die Freigabe sehen, aber beim mounten bleibt der Prozess immer hängen. Dies habe ich von zwei Rechnern aus testen können (sowohl unter openSUSE Tumbleweed als auch unter knoppix 6.7). Der Zugriff zwischen den Rechnern per NFS klappt ohne Probleme. Mein Mountbefehl sieht so aus:
Code:
mount -t nfs 192.168.100.16:/export/NAS-LW1 /home/harley/NAS/
Ein Analysieren der Netzwerkpakete zeigt mir, daß immer die selben Anfragen und Antworten zwischen Rechner und NAS kursieren. Leider sagen die mir nicht viel. Auf der NAS komme ich leider mangels SSH-Zugriff bzw. fehlendem root-PW nicht an die Konfigurationsdateien bzw. Logfiles.

Hat jemand eine Idee, wie ich das weiter untersuchen kann?

Michael :-D
 
OP
harley

harley

Hacker
Code:
Rechner1:~ # showmount --exports 192.168.100.16
Export list for 192.168.100.16:
/export/NAS-LW1 *
Rechner1:~ #

Michael :-D
 
OP
harley

harley

Hacker
Auf dem Client :???:
Code:
Rechner1:~ # ps -ef | egrep "rpc|mount|stat|port"
root      1334     1  0 08:56 ?        00:00:00 /sbin/rpcbind
mysql     2120  1659  0 08:56 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysql/mysqld.log --pid-file=/var/run/mysql/mysqld.pid --socket=/var/run/mysql/mysql.sock --port=3306
root      5291  5257  0 09:04 pts/1    00:00:00 egrep --color=auto rpc|mount|stat|port

Auf der NAS habe ich mir inzwischen lesenden Zugriff auf "/" verschafft. Schreiben kann ich leider nicht und eine Konsole habe ich auch nicht. Hat jemand ein paar Tipps, welche Dateien ich mir dort anschauen soll?

Michael :-D
 
OP
harley

harley

Hacker
Hier die /etc/exports:
Code:
######
/export/NAS-LW1 *(rw,root_squash,all_squash,no_subtree_check,anonuid=1000,anongid=100) 
######

Mehr fällt mir gerade nicht ein.
Michael :-D
 

spoensche

Moderator
Teammitglied
Bei dir ist nur der rpcbind gestartet, aber kein Portmap. Der Portmapper muss auch gestartet werden, weil er die zu verwendenden Ports an den entsprechenden Mountd- Prozess übergibt. (es können mehrere Mountd-Prozesse existieren).

Du weisst was es mit root_squash auf sich hat oder?
 
OP
harley

harley

Hacker
Auf dem Client muss ebenfalls der Portmapper aktiv sein :???: Ich dächte das dies nur dann der Fall ist, wenn ich mit Dateisperren arbeite? Zumindest sollte ich doch eine Verbindung aufbauen können.

spoensche schrieb:
Du weisst was es mit root_squash auf sich hat oder?

Root werden auf der NAS die Rechte von nobody zugewiesen. Dies war die Standardeinstellung auf der NAS, welche ich auch nicht ändern konnte. Mit einer neuen FW (9595) sind zumindest hier weitere Einstellmöglichkeiten hinzugekommen. Unter anderem auch die Frage der Rechtezuordnung für root bzw. einfache Benutzer. Nach dem FW-Update funktionierte einmalig die Verbindung per NFS. Nach einem Neustart der NAS war dieses wieder Geschichte. Bei dieser Gelegenheit erreichte die Verbindung eine Geschwindigkeit von mageren rund 6MB/sec. (schreibend auf NAS). Im Gegenzug dazu habe ich per SMB/CIFS immerhin um die 30MB/sec.

Michael :-D
 
OP
harley

harley

Hacker
Inzwischen hatte ich schon ein paar stabile Verbindungen - aber jeweils nur magere 3-6 MB/s.

Noch jemand eine Idee?

Michael :-D
 
OP
harley

harley

Hacker
Ich habe wieder ein paar Minuten Zeit gehabt um mich mit meinem kleinen Problem zu beschäftigen. Dabei ist mir folgender Eintrag in den /var/log/messages aufgefallen:
Code:
Jan 25 20:15:53 Rechner1 kernel: [  186.789251] RPC: Registered named UNIX socket transport module.
Jan 25 20:15:53 Rechner1 kernel: [  186.789256] RPC: Registered udp transport module.
Jan 25 20:15:53 Rechner1 kernel: [  186.789258] RPC: Registered tcp transport module.
Jan 25 20:15:53 Rechner1 kernel: [  186.789260] RPC: Registered tcp NFSv4.1 backchannel transport module.
Jan 25 20:15:53 Rechner1 kernel: [  186.826071] FS-Cache: Loaded
Jan 25 20:15:53 Rechner1 kernel: [  186.869210] FS-Cache: Netfs 'nfs' registered for caching
Danach schläft der mount-Prozess ein und lässt sich nur noch abschießen. Ein erneuter Aufruf bringt keine Einträge mehr zutage.

@spoensche
An async, sync, rsize und wsize habe ich nicht gedreht. Ehrlich gesagt weiß ich auch nicht in welche Richtung.

Michael :-D

P.S. Übrigens passiert das inzwischen auch, wenn der NFS-Server gar nicht erreichbar ist.
 
OP
harley

harley

Hacker
Keine Änderung. Ich tippe mal darauf, daß das Problem tiefer liegen muss (RPC?).

Michael :-D
 

spoensche

Moderator
Teammitglied
Der Portmapper muss laufen, weil die Ports, z.B. für mount dynamisch gewählt werden. Der Portmapper ordnet dann die Pid von mountd einem Netwzerkport zu, damit mountd, statd etc. wissen, welchen Port und Verbindung sie verwenden müssen.
 
OP
harley

harley

Hacker
Läuft eigentlich. Hier die Debugausgabe (Client) nach einem Neustart:
Code:
Rechner1:~ # rpcbind -dw
local: 0 lookup routines :
rpcbind : my address is (null)
FUNCTION rbllist_addAdd the prog 100000 vers 3 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 4 to the rpcbind list
check binding for local
udp: 0 lookup routines :
rpcbind : my address is 0.0.0.0.0.111
FUNCTION rbllist_addAdd the prog 100000 vers 2 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 3 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 4 to the rpcbind list
check binding for udp
rmtcall fd for udp is 7
tcp: 0 lookup routines :
rpcbind : my address is 0.0.0.0.0.111
FUNCTION rbllist_addAdd the prog 100000 vers 2 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 3 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 4 to the rpcbind list
check binding for tcp
udp6: 0 lookup routines :
rpcbind : my address is ::.0.111
FUNCTION rbllist_addAdd the prog 100000 vers 3 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 4 to the rpcbind list
check binding for udp6
rmtcall fd for udp6 is 10
tcp6: 0 lookup routines :
rpcbind : my address is ::.0.111
FUNCTION rbllist_addAdd the prog 100000 vers 3 to the rpcbind list
FUNCTION rbllist_addAdd the prog 100000 vers 4 to the rpcbind list
check binding for tcp6
rpcbind debugging enabled.
rpcbind: using '/var/lib/rpcbind/rpcbind.xdr' startup file
rpcbind: using '/var/lib/rpcbind/portmap.xdr' startup file
polling for read on fd < 5 6 7 8 9 10 11 >
polling for read on fd < 5 6 7 8 9 10 11 >

Die letzte Zeile wird nun nach ein paar Sekunden jeweils wiederholt. auch, wenn ich den mount-Prozess beende.

Die /var/log/messages zeigen beim ersten Versuch zu mounten noch:
Code:
Rechner1:~ # tailf /var/log/messages 
Jan 27 09:28:14 Rechner1 rpcbind: rpcbind terminating on signal. Restart with "rpcbind -w"
Jan 27 09:28:14 Rechner1 rpcbind[4503]: Shutting down rpcbind ..done
Jan 27 09:28:53 Rechner1 kernel: [  942.898083] RPC: Registered named UNIX socket transport module.
Jan 27 09:28:53 Rechner1 kernel: [  942.898087] RPC: Registered udp transport module.
Jan 27 09:28:53 Rechner1 kernel: [  942.898089] RPC: Registered tcp transport module.
Jan 27 09:28:53 Rechner1 kernel: [  942.898091] RPC: Registered tcp NFSv4.1 backchannel transport module.
Jan 27 09:28:53 Rechner1 kernel: [  942.935516] FS-Cache: Loaded
Jan 27 09:28:53 Rechner1 kernel: [  942.961449] FS-Cache: Netfs 'nfs' registered for caching
Nach einem Neustart von rpcbind folgt nur noch die Zeile:
Code:
Jan 27 09:29:31 Rechner1 rpcbind: rpcbind terminating on signal. Restart with "rpcbind -w"

Ich habe jetzt aber auch mal parallel versucht auf die NFS-Freigabe auf dem Laptop zuzugreifen. Interessant ist, daß dies anscheinend auch nicht mehr geht. Nur bekomme ich hier in der /var/log/messages ein paar Daten mehr:
Code:
Jan 27 09:59:36 Rechner1 rpcbind[5117]: Starting rpcbind ..done
Jan 27 09:59:36 Rechner1 rpcbind: rpcbind terminating on signal. Restart with "rpcbind -w"
Jan 27 09:59:36 Rechner1 rpcbind[5124]: Shutting down rpcbind ..done
Jan 27 09:59:36 Rechner1 nfs[5139]: Starting NFS client services:portmap/rpcbind is not running
Jan 27 09:59:36 Rechner1 nfs[5139]: ..missing
Jan 27 09:59:36 Rechner1 systemd[1]: nfs.service: control process exited, code=exited status=3
Jan 27 09:59:36 Rechner1 systemd[1]: Unit nfs.service entered failed state.
zumindest ist hier verständlich, warum die Verbindung nicht zustande kommt. Doch warum will rpcbind nicht?

Michael :-?
 

spoensche

Moderator
Teammitglied
rpcbind muss gestartet werden, bevor irgendein anderer RPC- Dienst gestartet wird. Wenn du die Freigabe gemountet hast, dann überprüfe mal, ob der Portmap läuft.
 
OP
harley

harley

Hacker
OK, ich versuche es nochmal ausführlich.

Ich habe jetzt alles erneut von vorne getestet:
1) NFS-Server auf Rechner2 eingerichtet und gestartet -> Verbindung von Rechner1 auf Rechner2 per nfs läuft. Datenrate schreiben und lesen jeweils um 50MB/s (mit rsize/wsize=8192)
2) NAS gestartet -> Versuch von Rechner1 auf NAS per nfs scheitert. Die Festplatte der NAS ist kurz zu hören, ansonsten keine Reaktion. Der mount-Prozess verabschiedet sich in den Leerlauf und kann nur noch abgebrochen werden [Alt+C]. Ein nochmaliger Versuch bringt auch keine LW-Reaktion (kurzes Klicken) der NAS mehr.
3) Nochmaliger Test von Rechner1 auf Rechner2 i.O.

Das vorher geschilderte Problem entstand wahrscheinlich dadurch, daß ich rpcbind gekillt und neu gestartet habe.

Trotzdem bin ich nicht schlauer als vorher.
Michael :-D

P.S. Wie soll ich die Funktion von portmap testen?
 
Oben