Mac OSX 10.11의 Ubuntu에서 NFS4 내보내기 마운트

Mac OSX 10.11의 Ubuntu에서 NFS4 내보내기 마운트

Ubuntu 서버에서 로컬 네트워크에 연결된 Mac 클라이언트로 NFS4 내보내기를 설치하려고 합니다. Mac 클라이언트는 nfs3을 사용하여 nfs 내보내기를 마운트할 수 있지만 nfs4를 사용하면 이 작업을 수행할 수 없는 것 같습니다.

서버(우분투)

fstab공유할 디렉토리가 바인딩되어 /export/share내보내 졌습니다 /etc/exports.

user@<server>:~$ tail -n 2 /etc/exports
/export *(insecure,no_subtree_check,rw,sync,fsid=0)
/export/share *(insecure,no_subtree_check,rw,nohide,sync)

클라이언트(Mac OS 10.11)

클라이언트는 서버의 두 가지 내보내기를 볼 수 있습니다.

Macintosh:~ user$ showmount -e <server-ip>
Exports list on <server-ip>:
/export/share                       *
/export                             *

클라이언트는 nfs3을 사용하여 드라이브를 로컬 마운트 지점에 마운트할 수 있습니다 ~/NFS/Server_Media/.

Macintosh:~ user$ sudo mount -t nfs <server-ip>:/export/share NFS/Server_Media/

또는 (둘 다 동일한 결과를 생성함)

Macintosh:~ user$ sudo mount -t nfs -o vers=3 <server-ip>:/export/share NFS/Server_Media/

nfs3 증명(NFS 매개변수: vers=3)

Macintosh:~ user$ nfsstat -m
/Users/user/NFS/Server_Media from <server-ip>:/export/share
  -- Original mount options:
     General mount flags: 0x0
     NFS parameters:
     File system locations:
       /export/share @ <server-ip> (<server-ip>)
  -- Current mount parameters:
     General mount flags: 0x4000000 multilabel
     NFS parameters: vers=3,tcp,port=2049,nomntudp,hard,nointr,noresvport,negnamecache,callumnt,locks,quota,rsize=32768,wsize=32768,readahead=16,dsize=4096,nordirplus,nodumbtimr,timeo=10,maxgroups=16,acregmin=5,acregmax=60,acdirmin=5,acdirmax=60,nomutejukebox,nonfc,sec=sys
     File system locations:
       /export/share @ <server-ip> (<server-ip>)
     Status flags: 0x0

제거 테스트 nfs4 내보내기

Macintosh:~ user$ sudo umount NFS/Server_Media/

클라이언트가 nfs4 마운트를 시도합니다.

Macintosh:~ user$ sudo mount -t nfs -o vers=4 <server-ip>:/export/share NFS/Server_Media/
mount_nfs: can't mount /export/share from <server-ip> onto /Users/user/NFS/Server_Media: No such file or directory

이상하게도 Finder Connect to Server...작업( Cmd+ k)은 다음을 입력하여 nfs4를 사용하여 연결할 수 있습니다 Server Address.

nfs://vers=4,<server-ip>:/export/share

그러나 터미널 명령을 모르면 이를 자동화할 수 있는 방법이 없으며 /Volumes/share/의도한 클라이언트 마운트 지점이 아닌 에만 설치됩니다.


적어도 내가 아는 한, Mac과 NFS4에 관한 문헌은 놀라울 정도로 드물었습니다. 이에 대한 도움을 주시면 대단히 감사하겠습니다!

답변1

한동안 노력하고 검색한 끝에 마침내 이 문제를 해결할 수 있었습니다.

발견된 대로이 스레드(Fedora에 관한 것이지만 Mac에 충분히 가깝습니다) nfs3허용되는 sudo mount <...> <server-ip>:/export/share <...>동안에는 nfs4필요한 것 같습니다sudo mount <...><server-ip>:/<...>(내보낸 디렉터리 자체가 아닌 내보낸 "루트" 디렉터리를 설치합니다.) 이를 수정한 후 /export디렉토리 대신 디렉토리를 연결하는 것처럼 보였지만 내 디렉토리는 제대로 마운트되었습니다 /export/share(디렉토리 수준의 또 다른 레이어를 추가함). 큰 문제는 아니지만 해결책이 있다면 주목할 가치가 있습니다.편집하다: 제가 틀렸습니다. 다음을 /share사용하여 디렉토리를 구체적으로 내보낼 수 있다는 것이 밝혀졌습니다.sudo mount <...><server-ip>:/share<...>, 기본적으로 내보내기 디렉터리의 루트를 건너뜁니다.

흥미로운 참고 사항으로, /etc/export서버의 라인을 /export/share *(insecure,no_subtree_check,rw,nohide,sync) 다음에서 변경하면/export/share *(insecure,fsid=0,no_subtree_check,rw,nohide,sync), 어떤 이유로 설치되면 클라이언트의 대상 디렉터리가 NFS/Share_Media무한히 자체 중첩되는 것처럼 보입니다. 미래에 누군가가 비행 자동차에 대해 동일한 질문을 하는 경우를 대비해 이 관찰 내용을 포함하겠다고 생각했습니다.

관련 정보