Solución de problemas de recursos compartidos de archivos de Azure NFS
Nota:
CentOS al que se hace referencia en este artículo es una distribución de Linux y llegará al final de la vida útil (EOL). Considere su uso y planifique en consecuencia. Para obtener más información, consulte Guía de fin de vida de CentOS.
En este artículo se enumeran los problemas comunes relacionados con los recursos compartidos de archivos de Azure NFS y se proporcionan posibles causas y soluciones alternativas.
Importante
El contenido de este artículo solo se aplica a los recursos compartidos de NFS. Para solucionar problemas de SMB en Linux, consulte Solución de problemas de Azure Files en Linux (SMB). Los recursos compartidos de archivos de Azure NFS no se admiten para Windows.
Se aplica a
Tipo de recurso compartido de archivos | SMB | NFS |
---|---|---|
Recursos compartidos de archivos estándar (GPv2), LRS/ZRS | ||
Recursos compartidos de archivos estándar (GPv2), GRS/GZRS | ||
Recursos compartidos de archivos Premium (FileStorage), LRS/ZRS |
Error de chgrp "filename": argumento no válido (22)
Causa 1: la asignación no está deshabilitada
Dado que Azure Files no permite el UID/GID alfanumérico, debe deshabilitar el idmapping.
Causa 2: la asignación de identidades se deshabilitó, pero se volvió a habilitar después de encontrar un nombre de archivo o directorio incorrecto
Aunque deshabilite correctamente el idmapping, se puede volver a habilitar automáticamente en algunos casos. Por ejemplo, cuando Azure Files encuentra un nombre de archivo incorrecto, devuelve un error. Al ver este código de error, un cliente linux NFS 4.1 decide volver a habilitar idmapping y envía solicitudes futuras con UID/GID alfanumérico. Para obtener una lista de caracteres no admitidos en Azure Files, consulte este artículo. Dos puntos es uno de los caracteres no admitidos.
Solución alternativa
Asegúrese de que ha deshabilitado el idmapping y de que no hay nada que lo vuelva a habilitar. A continuación, realice los pasos siguientes:
Desmonte el recurso compartido.
Deshabilite el idmapping con:
sudo echo Y > /sys/module/nfs/parameters/nfs4_disable_idmapping
Vuelva a montar el recurso compartido.
Si ejecuta rsync, ejecute rsync con el
—numeric-ids
argumento de un directorio que no tenga un nombre de archivo o directorio incorrecto.
No se puede crear un recurso compartido NFS
Causa: Configuración de la cuenta de almacenamiento no admitida
NFS solo está disponible en cuentas de almacenamiento con la siguiente configuración:
- Nivel: Premium
- Tipo de cuenta: FileStorage
- Regiones: lista de regiones admitidas
Solución
Siga las instrucciones de Creación de un recurso compartido NFS.
No se puede conectar a un recurso compartido de archivos de Azure NFS ni montarlo
Causa 1: La solicitud se origina desde un cliente en una red o dirección IP que no es de confianza
A diferencia de SMB, NFS no tiene autenticación basada en el usuario. La autenticación de un recurso compartido se basa en la configuración de la regla de seguridad de red. Para asegurarse de que los clientes solo establecen conexiones seguras con el recurso compartido NFS, debe usar el punto de conexión de servicio o los puntos de conexión privados. Para acceder a recursos compartidos desde el entorno local además de puntos de conexión privados, debe configurar una conexión VPN o ExpressRoute. Las direcciones IP agregadas a la lista de permitidos de la cuenta de almacenamiento para el firewall se omiten. Debe usar uno de los métodos siguientes para configurar el acceso a un recurso compartido NFS:
-
Al que accede el punto de conexión público.
Solo está disponible en la misma región.
No se puede usar el emparejamiento de red virtual para el acceso compartido.
Debe agregar cada red virtual o subred individualmente a la lista de permitidos.
Para el acceso local, puede usar puntos de conexión de servicio con ExpressRoute, VPN de punto a sitio y de sitio a sitio. Se recomienda usar un punto de conexión privado porque es más seguro.
En el diagrama siguiente se muestra la conectividad mediante puntos de conexión públicos:
-
El acceso es más seguro que el punto de conexión de servicio.
El acceso al recurso compartido de NFS a través de private link está disponible desde dentro y fuera de la región de Azure de la cuenta de almacenamiento (entre regiones y locales).
El emparejamiento de redes virtuales con redes virtuales hospedadas en el punto de conexión privado proporciona al recurso compartido NFS acceso a los clientes de redes virtuales emparejadas.
Puede usar puntos de conexión privados con ExpressRoute, VPN de punto a sitio y VPN de sitio a sitio.
Causa 2: La transferencia segura necesaria está habilitada
Los recursos compartidos de archivos de Azure NFS no admiten actualmente el cifrado doble. Azure proporciona una capa de cifrado para todos los datos en tránsito entre centros de datos de Azure mediante MACSec. Solo puede acceder a recursos compartidos de NFS desde redes virtuales de confianza y a través de túneles VPN. No hay cifrado de capa de transporte adicional disponible en recursos compartidos NFS.
Solución
Deshabilite la transferencia segura necesaria en la hoja de configuración de la cuenta de almacenamiento.
Causa 3: el paquete nfs-utils, nfs-client o nfs-common no está instalado
Antes de ejecutar el mount
comando, instale el paquete nfs-utils, nfs-client o nfs-common.
Para comprobar si el paquete NFS está instalado, ejecute:
Los mismos comandos de esta sección se aplican a CentOS y Oracle Linux.
sudo rpm -qa | grep nfs-utils
Solución
Si el paquete no está instalado, instale el paquete mediante el comando específico de la distribución.
Los mismos comandos de esta sección se aplican a CentOS y Oracle Linux.
Versión 7.X del sistema operativo
sudo yum install nfs-utils
Versión 8.X o 9.X del sistema operativo
sudo dnf install nfs-utils
Causa 4: Puerto de bloqueo de firewall 2049
El protocolo NFS se comunica con su servidor a través del puerto 2049. Asegúrese de que este puerto está abierto a la cuenta de almacenamiento (el servidor NFS).
Solución
Compruebe que el puerto 2049 está abierto en el cliente ejecutando el siguiente comando. Si el puerto no está abierto, ábralo.
sudo nc -zv <storageaccountnamehere>.file.core.windows.net 2049
Causa 5: Cuenta de almacenamiento eliminada
Si no puede montar el recurso compartido de archivos debido a un error: se agotó el tiempo de espera de la conexión, es posible que la cuenta de almacenamiento que contiene el recurso compartido de archivos se elimine accidentalmente.
Solución
Recupere la cuenta de almacenamiento. A continuación, elimine y vuelva a crear el punto de conexión privado para que esté asociado al nuevo identificador de recurso de la cuenta de almacenamiento.
ls se bloquea para la enumeración de directorios grandes en algunos kernels
Causa: Se introdujo un error en el kernel de Linux v5.11 y se corrigió en v5.12.5
Algunas versiones del kernel tienen un error que hace que las listas de directorios den lugar a una secuencia de READDIR sin fin. Los directorios pequeños donde todas las entradas se pueden enviar en una llamada no tienen este problema. El error se introdujo en el kernel de Linux v5.11 y se corrigió en la versión 5.12.5. Así que cualquier cosa intermedia tiene el error. RHEL 8.4 tiene esta versión del kernel.
Solución alternativa: Degradación o actualización del kernel
La degradación o actualización del kernel a cualquier cosa fuera del kernel afectado debe resolver el problema.
Se produce un error en los comandos del sistema con el error "Archivo no encontrado".
Causa
Es posible que las aplicaciones linux de 32 bits que se basan en números de inode no funcionen según lo esperado con Azure Files debido al formato de los números de inode de 64 bits generados por el servicio NFS.
Solución
Para solucionar este problema, use uno de los métodos siguientes:
Comprima los números de inode de 64 bits en 32 bits mediante la opción de arranque del
nfs.enable_ino64=0
kernel.Establezca el parámetro del módulo agregando
options nfs enable_ino64=0
al archivo /etc/modprobe.d/nfs.conf y reiniciando la máquina virtual.
También puede conservar esta opción de arranque del kernel en el archivo grub.conf . Para obtener más información, consulte la documentación de la distribución de Linux.
¿Necesita ayuda?
Si aún necesita ayuda, póngase en contacto con el soporte técnico para resolver el problema rápidamente.
Consulte también
- Solución de problemas de Azure Files
- Solución de problemas de rendimiento de Azure Files
- Solución de problemas de conectividad Azure Files (SMB)
- Solución de problemas de autenticación y autorización de Azure Files (SMB)
- Solución de problemas Azure Files smb generales en Linux
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de