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
무한히 자체 중첩되는 것처럼 보입니다. 미래에 누군가가 비행 자동차에 대해 동일한 질문을 하는 경우를 대비해 이 관찰 내용을 포함하겠다고 생각했습니다.