mount.nfs:指定了错误的安装选项


12

我正在尝试在centos 7.2服务器上挂载NFS卷:

当我尝试挂载NFS共享点时,这是我得到的响应:

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

我检查了一下,并且已经nfs-utils-1.3.0-0.21.el7.x86_64在两台机器上安装了。nfs客户端和nfs服务器操作系统均为Centos 7.2

为了解决这个问题,我将NFS服务器上/ etc / exports文件中的清单减少为以下内容:

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

如果我showmount从尝试挂载nfs共享的服务器上进行操作,这就是我看到的内容:

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

如果我这样做mount -v,我将得到:

[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

在dmesg中,我发现:

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

我在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]

-t nfs在命令中未指定会产生相同的结果:

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

这些是我拥有的nfs文件系统:

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

以下是为nfs加载的模块:

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

这不是防火墙问题,因为当我从NFS服务器本身运行mount命令时,我得到了完全相同的失败。它得到与客户端相同的错误。

我应该强调一下,这样做一次很好。但是现在它已经坏到了无法使用的地步。

有人可以帮我解决这个问题吗?我真的被困在这一点上。


在我看来,您的问题可能与防火墙规则有关。您可以发布firewall-cmd --query-service=nfs --query-service=mountd --query-service=rpc-bindNFS服务器的输出吗?
virtex

1
严格来说,“ Permissive”并没有被禁用,并且仍然会生成SELinux消息-但是SELinux不会拒绝Permissive中的任何内容。在这种模式下,您可以忽略日志中所有被拒绝的内容。
杰森·马丁

杰森·马丁(Jason Martin)明白了!感谢您提供有关SELinux的线索。
user99201

3
rpcdebug -m nfs -s mount再次运行remount,然后打印dmesg中出现的所有内容。然后运行rpcdebug -m nfs -c mount。这听起来像是一个解析错误,可能是由于nfsmount.conf中的错误覆盖所致-尽管如果在内核dmesg中执行此操作,它应该会显示出来。
马修·伊夫

您是否rpcbind已在提供共享的计算机上安装了该计算机?
13dimitar '17

Answers:


5

今天打同一期。nfsvers在寻找解释时,我偶然发现了选项。安装与nfsvers=3和一起使用nfsvers=4。不过,我很高兴获得更详细的解释。

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:~#

最后两个命令成功。


1

我今天在Tiny Core Linux上发现了这个问题,事实是nfs客户端服务尚未启动。一旦启动该服务(/usr/local/etc/init.d/nfs-client start),NFS导出即会顺利安装。


1
/usr/local/etc看起来像nfs-client的安装不正确,因为该文件应该位于/etc/init.d并链接到适当的位置/etc/rc.d自动启动。
Jan Hudec

@JanHudec是的,在常规发行版中,但是Tiny Core的体系结构不允许这样做。我们可以争论标准,直到奶牛回家,但JeOS仍然面对标准。
亚伦·梅森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.