An Azure service that offers file shares in the cloud.
For connectivity issues to an NFS Azure file share, validate these key areas on the Linux client and in Azure:
- Verify NFS client packages are installed
Azure Files NFS requires the appropriate NFS utilities on the client:- RHEL/CentOS/Oracle Linux:
If missing:sudo rpm -qa | grep nfs-utilssudo yum install nfs-utils # OS 7.x sudo dnf install nfs-utils # OS 8.x or 9.x - SLES:
If missing:sudo rpm -qa | grep nfs-clientsudo zypper install nfs-client - Ubuntu/Debian:
If missing:sudo dpkg -l | grep nfs-commonsudo apt update sudo apt install nfs-common
- RHEL/CentOS/Oracle Linux:
- Check network path and firewall (port 2049)
NFS uses TCP port 2049. Ensure the client can reach the Azure Files NFS endpoint:sudo nc -zv <storageaccountname>.file.core.windows.net 2049- If this fails, open outbound TCP 2049 on any local firewall and verify NSGs and network devices allow this traffic to the storage account.
- Confirm trusted network / endpoint configuration
NFS Azure file shares rely on network-based access control:- Use service endpoints or private endpoints for access.
- For on-premises access, use VPN or ExpressRoute with private endpoints for more secure connectivity.
- With private endpoints, ensure:
- The VM’s virtual network/subnet is associated with the private endpoint.
- Private DNS integration is correctly configured so the storage account name resolves to the private IP.
- Validate encryption-in-transit settings vs mount method
If the storage account has:- Secure transfer required and/or
- Require encryption in transit for NFS
- Native NFS client mounts will fail; use the AZNFS Mount Helper to mount the share.
- Alternatively, disable both Secure transfer required and Require encryption in transit for NFS if encryption in transit is not required.
- Use correct NFS mount options (Azure Files NFS)
When mounting, ensure the options match Azure Files requirements, for example:-
vers=4andminorversion=1(Azure Files supports NFSv4.1 only). -
sec=sys(AUTH_SYS using local UNIX UIDs/GIDs). - Recommended performance options:
rsize=1048576,wsize=1048576,actimeo=30-60,nconnect=4. - For kernels before 5.18, use
noresvportto improve reconnection behavior.
-
- Check for storage account deletion if timeouts occur
If mounts fail withconnection timed out, verify the storage account still exists. If it was deleted and recovered, recreate the private endpoint so it points to the new resource ID. - Kernel version issues (directory listing hangs)
Iflsor directory enumeration hangs on large directories:- Linux kernel v5.11–v5.12.4 has a bug causing endless READDIR sequences.
- Upgrade or downgrade the kernel outside this range (for example, RHEL 8.4 uses the affected kernel).
If the issue persists after these checks, focus on verifying endpoint configuration (service vs private), DNS resolution to the correct endpoint, and whether encryption-in-transit settings align with the chosen mount method (native NFS vs AZNFS helper).
References: