8 votos

¿Cómo hacer que la NFSD sirva NFSv4 en High Sierra?

Espero servir una montura NFS de mi servidor High Sierra (10.13.4) a un cliente de Linux. El cliente de linux puede montarse usando el protocolo NFSv3, pero yo uso ACLs en los archivos y directorios servidos, así que creo que necesitamos NFSv4.

Me gustaría usar la versión 4 del protocolo. ¿Es posible? Veo que la página de manual de nfsd(8) no menciona la versión 4. Encontré una página de manual para FreeBSD exports(5) que usa la bandera V4: al comienzo de una línea en /etc/exports para declarar la versión del prototipo.

Intenté esto con mi NFSD y no se analizó correctamente, usando "NFSD checkexports".

Si reviso el RPC:

$ sudo rpcinfo -p
program vers proto   port  
...
100003     2   udp   2049  nfs
100003     3   udp   2049  nfs
100003     2   tcp   2049  nfs
100003     3   tcp   2049  nfs

Esto me hace pensar que mi NFSD soporta la versión 2 y 3 del protocolo. ¿Quizás pueda actualizar este servidor?

4voto

Tony Williams Puntos 4903

La versión de nfsd en el Mac soporta v4. Para el soporte de ACL definitivamente necesitan conectarse usando v4.

Tu fracaso en conseguir una conexión v4 está probablemente del lado del cliente. La mayoría de los clientes de NFS intentan primero la v3 y luego vuelven a la v2 si no tienen éxito.

Por parte de tu cliente debes especificar la v4 usando el -o vers=4 a su comando de montaje. Haz un man mount_nfs en el cliente para comprobar que soporta esa sintaxis en lugar de la vieja y obsoleta -o nfsv4 sintaxis. También podrías usar -4 pero eso también es desaprobado y muy desalentado.

Para obtener apoyo ACL en su cliente puede que tenga que añadir el -o acl ya que la mayoría de los clientes no tienen soporte para el ACL.

Una lectura detallada de man NFS y man mount_nfs en el cliente es muy recomendable.

2 votos

Gracias por las indicaciones. En mi cliente Ubuntu 16.04 LTS, la opción fstab que se debe utilizar es "nfsvers=4". Encontré esto en la página man de nfs(5), referida desde la página man de mount(8). Por cierto, la utilidad de montaje específica de nfs en 16.04 LTS es "mount.nfs", que es el objetivo de un enlace simbólico llamado "mount.nfs4". Cuando configuro las opciones de montaje correctamente, sigo obteniendo "mount.nfs: Protocol not supported" en el cliente de Ubuntu. Por lo tanto, hay evidencia de que el cliente soporta nfsv4 y está configurado correctamente (no hay errores de análisis al leer el fstab). El problema persiste para mí.

4 votos

Cuando corro rpcinfo -p 127.0.0.1 | grep "nfs" en mi Mac, sólo me aparecen las versiones 2 y 3. Parece que al menos en Sierra (10.12) nfsd hace no soporte v4.

1 votos

Hemos probado cajas idénticas de Ubuntu dentro de Vagrant intentando conectarse a nfsd en un MacOS y en un host de Ubuntu. No hay problemas usando la v4 en el host de Ubuntu. No creo que sea un problema del cliente.

3voto

coolfish Puntos 1

El autor de NFS Manager Marcel Bresink afirma en los archivos de ayuda que MacOS sólo soporta NFS 4 como cliente. Como servidor está limitado a NFS 2 y 3:

https://www.bresink.com/osx/143439/Docs-en/pgs/0020-Intro.html

2voto

kanimbla Puntos 23

Todavía no he visto ninguna prueba de que nfsd en MacOS sea compatible con la versión 4.

Desde man nfs.conf :

 For more information on the NFS and MOUNT protocols see Network File System Protocol
 Specification, RFC1094 and NFS: Network File System Version 3 Protocol Specification.

Y como señala el OP rpcinfo localhost informa sistemáticamente sólo de las versiones 2 y 3. No he conseguido que ningún cliente NFS 4 se conecte a un recurso compartido de MacOS.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X