排查Azure 文件存储问题

本文列出了与Azure 文件存储相关的常见问题。 它还提供了这些问题的可能原因和解决方法。

注意

本文是否有帮助? 你的输入对我们很重要。 请使用此页面上的 “反馈 ”按钮,让我们了解本文对你的影响,或者我们如何改进它。

如果找不到问题的答案,可以通过以下渠道与我们联系, (上报订单) :

适用对象

文件共享类型 SMB Nfs
标准文件共享 (GPv2) 、LRS/ZRS
标准文件共享 (GPv2) 、GRS/GZRS
高级文件共享 (FileStorage) 、LRS/ZRS

常规故障排除的第一步

如果遇到Azure 文件存储问题,请从以下步骤开始。

检查 DNS 解析和与 Azure 文件共享的连接

Azure 文件存储客户遇到的最常见问题是,由于网络配置不正确,装载或访问 Azure 文件共享失败。 这可能发生在Azure 文件存储支持的三种文件共享协议中的任何一种:SMB、NFS 和 FileREST。

下表提供了 SMB、NFS 和 FileREST 要求,这些终结点可以使用存储帐户的网络终结点,以及可以通过哪个端口访问该终结点。 若要详细了解网络终结点,请参阅Azure 文件存储网络注意事项

协议名称 不受限制的公共终结点 受限公共终结点 专用终结点 所需的端口
SMB TCP 445
Nfs TCP 2049
FileREST TCP 443 (HTTPS) 、TCP 80 (HTTP)

若要成功装载或访问文件共享,客户端必须:

  • 能够解析存储帐户的完全限定域名 (例如。 mystorageaccount.file.core.windows.net) 存储帐户所需网络终结点的正确 IP 地址。

  • 在所需协议的正确端口上与正确解析的 IP 地址建立成功的 TCP 连接。

注意

装载/访问共享时,必须为存储帐户使用完全限定的域名 (FQDN) 。 以下命令可让你查看存储帐户网络终结点的当前 IP 地址,但不应将这些 IP 地址硬编码到任何脚本、防火墙配置或其他位置。 IP 地址不一定保持不变,并且可能随时更改。

检查 DNS 名称解析

以下命令允许测试存储帐户的 DNS 名称解析。

# 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

根据环境和所需的网络配置,返回的 Resolve-DnsName 输出可能有所不同。 例如,如果尝试访问未配置任何专用终结点的存储帐户的公共终结点,将看到以下输出。 在此输出中, x.x.x.x 是为存储帐户提供服务的 Azure 存储平台群集 file.phx10prdstf01a.store.core.windows.net 的 IP 地址。

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

如果尝试访问配置了一个或多个专用终结点的存储帐户的公共终结点,将看到以下输出。 输出包括 的额外 CNAME 记录,该 mystorageaccount.privatelink.file.core.windows.net记录位于存储帐户的常用 FQDN 与存储群集的名称之间。 这可以在用户从 Internet 访问时对公共终结点的 IP 地址进行名称解析,并在用户从 Azure 虚拟网络 (或对等网络内部访问时解析专用终结点的 IP 地址) 。

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

如果要解析为专用终结点,通常预期有一条 A 记录,该记录 mystorageaccount.privatelink.file.core.windows.net 映射到专用终结点的 IP 地址:

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

检查 TCP 连接

以下命令可用于测试客户端与解析的 IP 地址/端口号建立 TCP 连接的能力。

# 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

如果成功建立连接,应会看到以下结果:

ComputerName     : mystorageAccount.file.core.windows.net
RemoteAddress    : x.x.x.x
RemotePort       : 445
InterfaceAlias   : Ethernet
SourceAddress    : y.y.y.y
TcpTestSucceeded : True

运行诊断

Windows 客户端Linux 客户端都可以使用 AzFileDiagnostics 来确保客户端环境具有正确的先决条件。 AzFileDiagnostics 自动执行症状检测,并帮助设置环境以获得最佳性能。

常见故障排除区域

有关更多详细信息,请选择要进行故障排除的主题区域。

某些问题可能与连接和性能 (多个主题领域相关,例如) 。

需要帮助?

如果仍需要帮助, 请联系支持人员 以快速解决问题。

另请参阅

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。