
Estou tentando montar uma exportação NFS4 de um servidor Ubuntu em um cliente Mac conectado à rede local. O cliente Mac pode montar a exportação nfs usando nfs3, mas parece incapaz de fazê-lo usando nfs4.
Servidor (Ubuntu)
O diretório a ser compartilhado foi fstab
vinculado /export/share
e esse diretório foi exportado via /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)
Cliente (Mac OS 10.11)
O cliente é capaz de ver ambas as exportações do servidor
Macintosh:~ user$ showmount -e <server-ip>
Exports list on <server-ip>:
/export/share *
/export *
O cliente é capaz de montar a unidade usando nfs3 (em um ponto de montagem local ~/NFS/Server_Media/
)
Macintosh:~ user$ sudo mount -t nfs <server-ip>:/export/share NFS/Server_Media/
ou (ambos produzem resultados idênticos)
Macintosh:~ user$ sudo mount -t nfs -o vers=3 <server-ip>:/export/share NFS/Server_Media/
Prova de nfs3 (nos parâmetros 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
A exportação é desmontada para testar o nfs4
Macintosh:~ user$ sudo umount NFS/Server_Media/
Cliente tenta montar o 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
Curiosamente, Connect to Server...
a operação ( Cmd
+ k
) do Finder é capaz de se conectar usando nfs4 entrando em Server Address
:
nfs://vers=4,<server-ip>:/export/share
No entanto, isso não pode ser automatizado sem conhecer os comandos do Terminal e é montado apenas em /Volumes/share/
, em vez do ponto de montagem do cliente pretendido.
A literatura é surpreendentemente escassa quando se trata de Mac e NFS4, pelo menos até onde eu sei. Qualquer ajuda com isso seria muito apreciada!
Responder1
Depois de experimentar e pesquisar por mais algum tempo, finalmente consegui resolvê-lo.
Como encontrado emeste tópico(sobre o Fedora, mas próximo o suficiente do Mac), parece que, while nfs3
will allow sudo mount <...> <server-ip>:/export/share <...>
, nfs4
parece exigirsudo mount <...>
<server-ip>:/
<...>
(montando o diretório "raiz" da exportação, em oposição ao próprio diretório exportado). Depois de corrigir isso, meus diretórios foram montados corretamente, embora pareça vincular o /export
diretório em vez do /export/share
diretório (adicionando mais um nível de diretório). Não é grande coisa, mas vale a pena observar se houver uma solução para isso.EDITAR: Eu estava errado, acontece que você pode exportar o /share
diretório especificamente usandosudo mount <...>
<server-ip>:/share
<...>
, basicamente ignorando o diretório raiz do diretório exportado.
Como uma observação interessante, se eu mudar a /etc/export
linha no servidor de /export/share *(insecure,no_subtree_check,rw,nohide,sync)
para/export/share *(insecure,
fsid=0
,no_subtree_check,rw,nohide,sync)
, o diretório de destino no cliente NFS/Share_Media
parece se tornar infinitamente auto-aninhado depois de montado, por algum motivo. Pensei em incluir essa observação caso alguém do futuro tenha o mesmo problema com seu carro voador.