Skip to content

Commit 3cec967

Browse files
Merge pull request #210672 from khdownie/kendownie090922
updated Linux troubleshooting
2 parents f95fcb2 + 511893c commit 3cec967

File tree

1 file changed

+42
-8
lines changed

1 file changed

+42
-8
lines changed

articles/storage/files/storage-troubleshoot-linux-file-connection-problems.md

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
---
2-
title: Troubleshoot Azure Files problems in Linux | Microsoft Docs
3-
description: Troubleshooting Azure Files problems in Linux. See common issues related to Azure Files when you connect from Linux clients, and see possible resolutions.
2+
title: Troubleshoot Azure Files problems in Linux (SMB) | Microsoft Docs
3+
description: Troubleshooting Azure Files problems in Linux. See common issues related to SMB Azure file shares when you connect from Linux clients, and see possible resolutions.
44
author: khdownie
55
ms.service: storage
66
ms.topic: troubleshooting
7-
ms.date: 10/16/2018
7+
ms.date: 09/12/2022
88
ms.author: kendownie
99
ms.subservice: files
1010
---
1111
# Troubleshoot Azure Files problems in Linux (SMB)
1212

13-
This article lists common problems that are related to Azure Files when you connect from Linux clients. It also provides possible causes and resolutions for these problems.
13+
This article lists common problems that are related to SMB Azure file shares when you connect from Linux clients. It also provides possible causes and resolutions for these problems.
1414

15-
In addition to the troubleshooting steps in this article, you can use [AzFileDiagnostics](https://github.com/Azure-Samples/azure-files-samples/tree/master/AzFileDiagnostics/Linux) to ensure that the Linux client has correct prerequisites. AzFileDiagnostics automates the detection of most of the symptoms mentioned in this article. It helps set up your environment to get optimal performance. You can also find this information in the [Azure Files shares troubleshooter](https://support.microsoft.com/help/4022301/troubleshooter-for-azure-files-shares). The troubleshooter provides steps to help you with problems connecting, mapping, and mounting Azure Files shares.
15+
In addition to the troubleshooting steps in this article, you can use [AzFileDiagnostics](https://github.com/Azure-Samples/azure-files-samples/tree/master/AzFileDiagnostics/Linux) to ensure that the Linux client has correct prerequisites. AzFileDiagnostics automates the detection of most of the symptoms mentioned in this article. It helps set up your environment to get optimal performance. You can also find this information in the [Azure file shares troubleshooter](https://support.microsoft.com/help/4022301/troubleshooter-for-azure-files-shares). The troubleshooter provides steps to help you with problems connecting, mapping, and mounting Azure file shares.
1616

1717
> [!IMPORTANT]
18-
> The content of this article only applies to SMB shares. For details on NFS shares, see [Troubleshoot Azure NFS file shares](storage-troubleshooting-files-nfs.md).
18+
> The content of this article only applies to SMB shares. For details on NFS shares, see [Troubleshoot NFS Azure file shares](storage-troubleshooting-files-nfs.md).
1919
2020
## Applies to
2121
| File share type | SMB | NFS |
@@ -30,7 +30,7 @@ In addition to the troubleshooting steps in this article, you can use [AzFileDia
3030

3131
Common causes for this problem are:
3232

33-
- You're using an Linux distribution with an outdated SMB client, see [Use Azure Files with Linux](storage-how-to-use-files-linux.md) for more information on common Linux distributions available in Azure that have compatible clients.
33+
- You're using an Linux distribution with an outdated SMB client. See [Use Azure Files with Linux](storage-how-to-use-files-linux.md) for more information on common Linux distributions available in Azure that have compatible clients.
3434
- SMB utilities (cifs-utils) are not installed on the client.
3535
- The minimum SMB version, 2.1, is not available on the client.
3636
- SMB 3.x encryption is not supported on the client. The preceding table provides a list of Linux distributions that support mounting from on-premises and cross-region using encryption. Other distributions require kernel 4.11 and later versions.
@@ -285,7 +285,7 @@ If you can't upgrade to the latest kernel versions, you can work around this pro
285285
## "CIFS VFS: error -22 on ioctl to get interface list" when you mount an Azure file share by using SMB 3.x
286286

287287
### Cause
288-
This error is logged because Azure Files [does not currently support SMB multichannel](/rest/api/storageservices/features-not-supported-by-the-azure-file-service).
288+
This error is logged because Azure Files [doesn't currently support SMB multichannel](/rest/api/storageservices/features-not-supported-by-the-azure-file-service).
289289

290290
### Solution
291291
This error can be ignored.
@@ -315,6 +315,40 @@ use:
315315
sudo mount -t cifs $smbPath $mntPath -o vers=3.0,username=$storageAccountName,password=$storageAccountKey,serverino,mapchars
316316
```
317317

318+
<a id="dns-account-migration"></a>
319+
## DNS issues with live migration of Azure storage accounts
320+
321+
File I/Os on the mounted filesystem start giving "Host is down" or "Permission denied" errors. Linux dmesg logs on the client will have repeated errors like:
322+
323+
Status code returned 0xc000006d STATUS_LOGON_FAILURE
324+
cifs_setup_session: 2 callbacks suppressed
325+
CIFS VFS: \\contoso.file.core.windows.net Send error in SessSetup = -13
326+
327+
You'll also see that the server FQDN now resolves to a different IP address than what it’s currently connected to.
328+
329+
### Cause
330+
331+
For capacity load balancing purposes, storage accounts are sometimes live-migrated from one storage cluster to another. Account migration triggers Azure Files traffic to be redirected from the source cluster to the destination cluster by updating the DNS mappings to point to the destination cluster. This causes all traffic to the source cluster from that account to be blocked. It’s expected that the SMB client picks up the DNS updates and redirects further traffic to the destination cluster. However, due to a bug in the Linux SMB kernel client, this redirection didn't take effect. As a result, the data traffic kept going to the source cluster, which had stopped serving this account post migration.
332+
333+
### Workaround
334+
335+
This issue can be mitigated by simply rebooting the client OS, but you might run into the issue again if you don't upgrade your client OS to a Linux distro version with account migration support. Note that umount and remount of the share may appear to fix the issue temporarily.
336+
337+
### Solution
338+
339+
For a permanent fix, upgrade your client OS to a Linux distro version with account migration support. Several fixes for the Linux SMB kernel client were recently submitted to the mainline Linux kernel. Kernel version 5.15+ and Keyutils-1.6.2+ have the fixes. However, these fixes are yet to be backported by popular Linux distros into their stable kernels. Some distros have backported these fixes, and you can check if the following fixes exist in the distro version you're using:
340+
341+
[cifs: On cifs_reconnect, resolve the hostname again](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4e456b30f78c429b183db420e23b26cde7e03a78)
342+
343+
[cifs: use the expiry output of dns_query to schedule next resolution](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=506c1da44fee32ba1d3a70413289ad58c772bba6)
344+
345+
[cifs: set a minimum of 120s for next dns resolution](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4ac0536f8874a903a72bddc57eb88db774261e3a)
346+
347+
[cifs: To match file servers, make sure the server hostname matches](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7be3248f313930ff3d3436d4e9ddbe9fccc1f541)
348+
349+
[cifs: fix memory leak of smb3_fs_context_dup::server_hostname](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=869da64d071142d4ed562a3e909deb18e4e72c4e)
350+
351+
[dns: Apply a default TTL to records obtained from getaddrinfo()](https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/commit/?id=75e7568dc516db698093b33ea273e1b4a30b70be)
318352

319353
## Need help? Contact support.
320354

0 commit comments

Comments
 (0)