¿El cliente RHEL6 NFSv4 actúa como NFSv3?

¿El cliente RHEL6 NFSv4 actúa como NFSv3?

Tengo entendido que los clientes NFSv4 deben conectarse inmediatamente al servicio NFSv4 en el servidor, omitiendo por completo las interacciones del mapeador de puertos rpcbind y del servicio mountd, pero veo que mi cliente RHEL6 siempre se comunica primero con el servicio rpcbind para obtener el puerto mountd y obtener la lista de exporte el formulario montado y finalmente conéctese al servicio NFSv4. Observado usando tcpdump.

Según todos los indicios (salida del comando de montaje e inspección de TCP), cuando se completa la operación de montaje, el cliente y el servidor utilizan NFSv4.

Esto sucede incluso cuando hago todo lo que he encontrado para intentar forzar solo NFSv4 en el cliente. Ejemplos:

  • Configurando Nfsvers=4 en /etc/nfsmount.conf
  • Montaje explícito con la opción vers=4
  • Configure explícitamente el puerto NFS. (a través del comando mount y en nfsmount.conf)

¿Estoy completamente equivocado o algo no está bien? Esto es un problema para mí porque el cliente NFS insiste en poder acceder a rpcbind en el servidor a través de UDP antes de montar cualquier exportación NFSv4 y estoy sufriendo una misteriosa pérdida de paquetes UDP (sí, estoy trabajando con el encargado de la red en este frente) que hace que los montajes fallen por completo de vez en cuando o simplemente demoren mucho en completarse.

Eché un vistazo a la fuente libtirpc y vi algo acerca de que siempre usa UDP para conectarse al mapeador de puertos RPC, pero quiero eliminar completamente el mapeador de puertos y el servicio mountd de la ecuación.

Intenté cancelar el registro del servicio de mapeador de puertos UDP en el servidor NFS usando "rpcinfo -d", pero eso da como resultado que todos los montajes NFS dirigidos a ese servidor fallen (nuevamente los clientes insisten en que el servidor tenga rpcbind escuchando en el puerto UDP 111). También intenté jugar con /etc/netconfig sin suerte.

¿Alguien se ha encontrado con este comportamiento o sabe lo suficiente sobre NFSv4 como para decirme que tengo expectativas poco realistas?

Respuesta1

Rastreé esto hasta autofs. Fue configurado para usar /etc/auto.net para obtener una lista de exportaciones usando el comando showmount. El comando showmount era responsable de los accesos a rpcbind y mountd antes de que ocurriera el montaje NFS, por lo que los intentos de cambiar las opciones de montaje no tuvieron ningún efecto.

Revisé /etc/auto.net y mi problema se solucionó.

Nota al margen: el uso de las opciones "-hosts" en auto.master, como había visto en varios lugares, también resultó en los accesos rpcbind y mountd. Terminé haciendo que auto.net montara la raíz de todos los servidores NFSv4, lo cual entiendo que está bien suponiendo que todos mis hosts sean NFSv4.

información relacionada