
Estoy intentando montar una exportación NFS4 desde un servidor Ubuntu en un cliente Mac conectado a la red local. El cliente Mac puede montar la exportación nfs usando nfs3, sin embargo, parece que no puede hacerlo usando nfs4.
Servidor (Ubuntu)
El directorio que se va a compartir se ha fstab
vinculado /export/share
y ese directorio se ha exportado a través de /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)
El cliente puede ver ambas exportaciones desde el servidor.
Macintosh:~ user$ showmount -e <server-ip>
Exports list on <server-ip>:
/export/share *
/export *
El cliente puede montar la unidad usando nfs3 (en un punto de montaje local ~/NFS/Server_Media/
)
Macintosh:~ user$ sudo mount -t nfs <server-ip>:/export/share NFS/Server_Media/
o (ambos producen resultados idénticos)
Macintosh:~ user$ sudo mount -t nfs -o vers=3 <server-ip>:/export/share NFS/Server_Media/
Prueba de nfs3 (bajo los parámetros de 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
La exportación está desmontada para probar nfs4
Macintosh:~ user$ sudo umount NFS/Server_Media/
El cliente intenta montar 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, la operación del Finder Connect to Server...
( Cmd
+ k
) es capaz de conectarse usando nfs4 ingresando en Server Address
:
nfs://vers=4,<server-ip>:/export/share
Sin embargo, esto no se puede automatizar sin conocer los comandos de la Terminal y solo se monta en /Volumes/share/
, en lugar del punto de montaje previsto del cliente.
La literatura es sorprendentemente escasa cuando se trata de Mac y NFS4, al menos hasta donde yo sé. ¡Cualquier ayuda con esto sería muy apreciada!
Respuesta1
Después de experimentar y buscar por un tiempo más, finalmente pude resolverlo.
Como se encuentra eneste hilo(sobre Fedora, pero lo suficientemente parecido a Mac), parece que, si bien nfs3
lo permitirá sudo mount <...> <server-ip>:/export/share <...>
, nfs4
parece requerirsudo mount <...>
<server-ip>:/
<...>
(montando el directorio "raíz" de la exportación, a diferencia del directorio exportado en sí). Después de corregir eso, mis directorios se montan bien, aunque parece vincular el /export
directorio en lugar del /export/share
directorio (agregando un nivel de directorio más). No es gran cosa, pero vale la pena señalarlo si hay una solución para esto.EDITAR: Me equivoqué, resulta que puedes exportar el /share
directorio específicamente usandosudo mount <...>
<server-ip>:/share
<...>
, básicamente simplemente omitiendo el directorio raíz del directorio exportado.
Como nota al margen interesante, si cambio la /etc/export
línea en el servidor de /export/share *(insecure,no_subtree_check,rw,nohide,sync)
a/export/share *(insecure,
fsid=0
,no_subtree_check,rw,nohide,sync)
, el directorio de destino en el cliente NFS/Share_Media
parece volverse infinitamente autoanidado una vez montado, por alguna razón. Simplemente pensé en incluir esa observación en caso de que alguien del futuro tenga el mismo problema con su auto volador.