Troubleshoot Azure Files
This article lists common issues related to Azure Files. It also provides possible causes and resolutions for these problems.
If you can't find an answer to your question, you can contact us through the following channels (in escalating order):
- Microsoft Q&A question page for Azure Files.
- Azure Community Feedback.
- Microsoft Support. To create a new support request, sign into the Azure portal, and on the Help tab, select the Help + support button, and then select New support request.
|File share type||SMB||NFS|
|Standard file shares (GPv2), LRS/ZRS|
|Standard file shares (GPv2), GRS/GZRS|
|Premium file shares (FileStorage), LRS/ZRS|
General troubleshooting first steps
If you encounter problems with Azure Files, start with these steps. You can also use the Azure file shares troubleshooter, which can help with problems connecting, mapping, and mounting Azure file shares.
Check DNS resolution and connectivity to your Azure file share
The most common problem encountered by Azure Files customers is that mounting or accessing the Azure file share fails because of an incorrect networking configuration. This can happen with any of the three file sharing protocols that Azure Files supports: SMB, NFS, and FileREST.
The following table provides the SMB, NFS, and FileREST requirements for which of the network endpoints of a storage account they can use, and which port that endpoint can be accessed over. To learn more about network endpoints, see Azure Files networking considerations.
|Protocol name||Unrestricted public endpoint||Restricted public endpoint||Private endpoint||Required port|
To mount or access a file share successfully, your client must:
Be able to resolve the fully qualified domain name of the storage account (ex.
mystorageaccount.file.core.windows.net) to the correct IP address for the desired network endpoint of the storage account.
Establish a successful TCP connection to the correctly resolved IP address on the correct port for the desired protocol.
You must use the fully qualified domain name (FQDN) for your storage account when mounting/accessing the share. The following commands will let you see the current IP addresses of the network endpoints of your storage account, but you should not hardcode these IP addresses into any scripts, firewall configurations, or other locations. IP addresses aren't guaranteed to remain the same, and may change at any time.
Check DNS name resolution
The following command lets you test the DNS name resolution of your storage account.
# If you have changed the DNS configuration in your environment, it may be helpful to clear # the DNS client cache to ensure you're getting the updated DNS name resolution. Clear-DnsClientCache # Replace this value with the fully qualified domain name for your storage account. # Different storage accounts, especially in different Azure environments, # may have different suffixes than file.core.windows.net, so be sure to use the correct # suffix for your storage account. $hostName = "mystorageaccount.file.core.windows.net" # Do the name resolution. Piping to Format-List is optional. Resolve-DnsName -Name $hostName | Format-List
The output returned by
Resolve-DnsName may be different depending on your environment and desired networking configuration. For example, if you are trying to access the public endpoint of the storage account that does not have a private endpoint configured, you would see a result that looks like the following, where
x.x.x.x is the IP address of the cluster
file.phx10prdstf01a.store.core.windows.net of the Azure storage platform that serves your storage account:
Name : mystorageaccount.file.core.windows.net Type : CNAME TTL : 27 Section : Answer NameHost : file.phx10prdstf01a.store.core.windows.net Name : file.phx10prdstf01a.store.core.windows.net QueryType : A TTL : 60 Section : Answer IP4Address : x.x.x.x
If you are trying to access the public endpoint of a storage account that has one or more private endpoints configured, you would expect to see a result that looked something like the following. Note that an additional CNAME record for
mystorageaccount.privatelink.file.core.windows.net has been inserted in between the normal FQDN of the storage account and the name of storage cluster. This enables name resolution to the public endpoint's IP address when the user is accessing from the internet, and resolution to the private endpoint's IP address when the user is accessing from inside of an Azure virtual network (or peered network).
Name : mystorageaccount.file.core.windows.net Type : CNAME TTL : 60 Section : Answer NameHost : mystorageaccount.privatelink.file.core.windows.net Name : mystorageaccount.privatelink.file.core.windows.net Type : CNAME TTL : 60 Section : Answer NameHost : file.phx10prdstf01a.store.core.windows.net Name : file.phx10prdstf01a.store.core.windows.net QueryType : A TTL : 60 Section : Answer IP4Address : x.x.x.x
If you are resolving to a private endpoint, you would normally expect an A record for
mystorageaccount.privatelink.file.core.windows.net that maps to your private endpoint's IP address:
Name : mystorageaccount.file.core.windows.net Type : CNAME TTL : 53 Section : Answer NameHost : mystorageaccount.privatelink.file.core.windows.net Name : mystorageaccount.privatelink.file.core.windows.net QueryType : A TTL : 10 Section : Answer IP4Address : 10.0.0.5
Check TCP connectivity
The following command lets you test your client's ability to make a TCP connection to the resolved IP address/port number.
# Replace this value with the fully qualified domain name for your storage account. # Different storage accounts, especially in different Azure environments, # may have different suffixes than file.core.windows.net, so be sure to use the correct # suffix for your storage account. $hostName = "mystorageaccount.file.core.windows.net" # Do the TCP connection test - see the above protocol/port table to figure out which # port to use for your test. This test uses port 445, the port used by SMB. Test-NetConnection -ComputerName $hostName -Port 445
If the connection was successfully established, you should expect to see the following result:
ComputerName : mystorageAccount.file.core.windows.net RemoteAddress : x.x.x.x RemotePort : 445 InterfaceAlias : Ethernet SourceAddress : y.y.y.y TcpTestSucceeded : True
Both Windows clients and Linux clients can use
AzFileDiagnostics to ensure that the client environment has the correct prerequisites.
AzFileDiagnostics automates symptom detection and helps set up your environment to get optimal performance.
Common troubleshooting areas
For more detailed information, choose the subject area that you'd like to troubleshoot.
- Connectivity and access issues (SMB)
- Identity-based authentication and authorization issues (SMB)
- Performance issues (SMB/NFS)
- General issues on Linux (SMB)
- General issues on Linux (NFS)
- Azure File Sync issues
Some issues can be related to more than one subject area (both connectivity and performance, for example).
If you still need help, contact support to get your problem resolved quickly.
Submit and view feedback for