mount.nfs: Es wurde eine falsche Mount-Option angegeben

11

Ich versuche, ein NFS-Volume auf einem Centos 7.2-Server bereitzustellen:

Wenn ich versuche, den NFS-Freigabepunkt bereitzustellen, erhalte ich folgende Antwort:

[root@web1:~] #mount -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

Ich habe es überprüft und nfs-utils-1.3.0-0.21.el7.x86_64auf beiden Computern installiert. Sowohl das Betriebssystem des NFS-Clients als auch des Betriebssystems des NFS-Servers sind Centos 7.2

Um dies zu beheben, habe ich die Einträge in der Datei / etc / export auf dem NFS-Server auf Folgendes reduziert:

/var/nfs/home web1.example.com(rw,sync,no_root_squash,no_all_squash)

Wenn ich eine showmountvom Server aus mache, auf der ich versuche, die NFS-Freigabe bereitzustellen, sehe ich Folgendes:

[root@web1:~] #showmount -e nfs1.example.com
Export list for nfs1.example.com:
/var/nfs/home web1.example.com

Wenn ich das mache, mount -vbekomme ich Folgendes:

[root@web1:~] #mount -v -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: timeout set for Fri Jan 13 11:04:19 2017 mount.nfs: trying text-based options 'vers=4,addr=162.xxx.xxx..94,clientaddr=162.xxx.xxx.6'
mount.nfs: mount(2): Invalid argument mount.nfs: an incorrect mount option was specified

In dmesg finde ich:

[44428.405419] nfsd: last server has exited, flushing export cache

Und ich sehe das in dmesg:

[ 7.373186] FS-Cache: Netfs 'nfs' registered for caching
[ 7.422181] Key type dns_resolver registered
[ 7.456581] NFS: Registering the id_resolver key type
[ 7.462309] Key type id_resolver registered
[ 7.462386] Key type id_legacy registered
[ 7.514441] SELinux: initialized (dev 0:40, type nfs4), uses genfs_contexts
[ 8.474503] NFSD: starting 90-second grace period (net ffffffff819a29c0) –
[ 16.952180] perf samples too long (2623 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
[ 24.429251] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[ 38.368207] perf samples too long (5162 > 5000), lowering kernel.perf_event_max_sample_rate to 25000
[ 38.427323]

Wenn Sie -t nfsim Befehl nichts angeben, erhalten Sie dasselbe Ergebnis:

[root@nfs1:~] #mount nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

Dies sind die NFS-Dateisysteme, die ich habe:

[root@nfs1:~] #grep nfs /proc/filesystems
nodev   nfsd
nodev   nfs
nodev   nfs4

Hier sind die für nfs geladenen Module:

[root@nfs1:~] #lsmod | grep ^nfs
nfsv4                 474203  0
nfs                   241266  1 nfsv4
nfsd                  284378  13
nfs_acl                12837  1 nfsd

Es handelt sich nicht um ein Firewall-Problem, da beim Ausführen des Befehls mount vom NFS-Server selbst genau derselbe Fehler auftritt. Es wird der gleiche Fehler wie bei den Clients angezeigt.

Ich sollte betonen, dass dies einmal gut funktioniert hat. Aber jetzt ist es so kaputt, dass es nicht mehr verwendet werden kann.

Kann mir bitte jemand bei der Fehlerbehebung helfen? Ich stecke an diesem Punkt wirklich fest.

user99201
quelle
Mir ist aufgefallen, dass Ihr Problem möglicherweise mit Firewall-Regeln zusammenhängt. Können Sie die Ausgabe firewall-cmd --query-service=nfs --query-service=mountd --query-service=rpc-bindvom NFS-Server veröffentlichen?
Virtex
1
Genau genommen ist 'Permissive' nicht deaktiviert und generiert weiterhin SELinux-Nachrichten - aber SELinux leugnet nichts in Permissive. In diesem Modus können Sie alle abgelehnten in den Protokollen ignorieren.
Jason Martin
Jason Martin hat es verstanden! Vielen Dank für den Hinweis auf SELinux.
user99201
3
Bitte führen Sie rpcdebug -m nfs -s mountremount erneut aus und drucken Sie alles, was aus dmesg kommt. Dann renne rpcdebug -m nfs -c mount. Dies klingt nach einem Analysefehler, möglicherweise aufgrund fehlerhafter Überschreibungen in der Datei nfsmount.conf. Er sollte jedoch angezeigt werden, wenn Sie dies im Kernel dmesg tun.
Matthew Ife
Haben Sie rpcbindauf dem Computer installiert, der die Freigabe bereitstellt?
13dimitar

Antworten:

5

Treffen Sie das gleiche Problem heute. nfsversBei der Suche nach einer Erklärung bin ich auf eine Option gestoßen . Montage funktionierte mit nfsvers=3und nfsvers=4. Ich würde mich jedoch über eine ausführlichere Erklärung freuen.

root@localhost:~# uname -rm
4.1.15 armv7l
root@localhost:~# mount -t nfs 10.0.0.5:/srv/nfs tmp
mount.nfs: an incorrect mount option was specified
root@localhost:~# mount -t nfs -o nfsvers=1 10.0.0.5:/srv/nfs tmp
mount.nfs: mount system call failed
root@localhost:~# mount -t nfs -o nfsvers=2 10.0.0.5:/srv/nfs tmp
mount.nfs: requested NFS version or transport protocol is not supported
root@localhost:~# mount -t nfs -o nfsvers=3 10.0.0.5:/srv/nfs tmp
root@localhost:~# mount -t nfs -o nfsvers=4 10.0.0.5:/srv/nfs tmp
root@localhost:~#

Die letzten beiden Befehle waren erfolgreich.

woky
quelle
1

Ich habe dieses Problem heute unter Tiny Core Linux gefunden. Es stellte sich heraus, dass der NFS-Client-Service noch nicht gestartet wurde. Sobald ich diesen Dienst ( /usr/local/etc/init.d/nfs-client start) gestartet habe, wurde der NFS-Export ohne Probleme bereitgestellt.

Aaron Mason
quelle
1
/usr/local/etcsieht aus wie eine falsche Installation von nfs-client, da die Datei in /etc/init.dund entsprechend verknüpft sein sollte /etc/rc? .dautomatisch starten.
Jan Hudec
@ JanHudec ja, auf einer normalen Distribution, aber die Architektur von Tiny Core erlaubt dies nicht. Wir könnten über Standards streiten, bis die Kühe nach Hause kommen, aber JeOS widerspricht den Standards, wie sie sind.
Aaron Mason