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 서버 OS는 모두 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 서버에서 출력을 게시 할 수 있습니까 ?
버텍스

1
엄격하게 말하는 '허용'은 비활성화되어 있지 않으며 여전히 SELinux 메시지를 생성하지만 SELinux는 허용에서 아무것도 거부하지 않습니다. 이 모드에서는 로그에서 거부 된 모든 것을 무시할 수 있습니다.
Jason Martin

제이슨 마틴 SELinux에 대한 힌트를 주셔서 감사합니다.
user99201

3
rpcdebug -m nfs -s mount다시 마운트를 다시 실행 한 다음 dmesg에서 나오는 것을 인쇄하십시오. 그런 다음를 실행하십시오 rpcdebug -m nfs -c mount. 이것은 nfsmount.conf의 잘못된 재정의로 인해 구문 분석 오류처럼 들립니다. 커널 dmesg에서 그렇게하면 나타납니다.
Matthew Ife

당신은 마 rpcbind공유를 제공하는 컴퓨터에 설치?
13dimitar

답변:


5

오늘도 같은 문제가 발생했습니다. nfsvers설명을 찾을 때 옵션을 발견했습니다 . 함께 일 마운팅 nfsvers=3nfsvers=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파일이 있고 해당 파일에 /etc/init.d링크되어 있어야 nfs-client가 잘못 설치되어있는 것 같습니다 /etc/rc. .d자동으로 시작합니다.
Jan Hudec

@JanHudec 네, 일반 배포판에서는 그래도 Tiny Core 아키텍처에서는 허용되지 않습니다. 우리는 젖소가 집으로 돌아올 때까지 표준을 논쟁 할 수 있었지만, JeOS는 표준에 맞서 날아갑니다.
Aaron Mason
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.