
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
어떤 이유로 마운트되면 무한히 자체 중첩되는 것처럼 보입니다. 미래의 누군가가 비행 자동차에 대해 동일한 문제를 겪을 경우를 대비해 그 관찰을 포함하겠다고 생각했습니다.