在 Windows 上装载 SMB Azure 文件共享

Azure 文件是易于使用的云文件系统。 Azure 文件共享可以在 Windows 和 Windows Server 中无缝使用。 本文介绍如何将 Azure 文件共享与 Windows 和 Windows Server 配合使用。

适用于

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

要在托管 Azure 文件共享的 Azure 区域(例如本地或其他 Azure 区域)外部通过公共终结点使用该文件共享,OS 必须支持 SMB 3.x。 仅支持 SMB 2.1 的旧版 Windows 无法通过公共终结点装载 Azure 文件共享。

Windows 版本 SMB 版本 Azure 文件存储 SMB 多通道 最大 SMB 通道加密
Windows 11 版本 22H2 SMB 3.1.1 AES-256-GCM
Windows 10 版本 22H2 SMB 3.1.1 AES-128-GCM
Windows Server 2022 SMB 3.1.1 AES-256-GCM
Windows 11 版本 21H2 SMB 3.1.1 AES-256-GCM
Windows 10 版本 21H2 SMB 3.1.1 AES-128-GCM
Windows 10,版本 21H1 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server,版本 20H2 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows 10 版本 20H2 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server 版本 2004 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows 10 版本 2004 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server 2019 SMB 3.1.1 是,具有 KB5003703 或更新的版本 AES-128-GCM
Windows 10 版本 1809 SMB 3.1.1 是,具有 KB5003703 或更新的版本 AES-128-GCM
Windows Server 2016 SMB 3.1.1 是,具有 KB5004238 或更高版本并且应用了注册表项 AES-128-GCM
Windows 10 版本 1607 SMB 3.1.1 是,具有 KB5004238 或更高版本并且应用了注册表项 AES-128-GCM
Windows 10 版本 1507 SMB 3.1.1 是,具有 KB5004249 或更高版本并且应用了注册表项 AES-128-GCM
Windows Server 2012 R2 SMB 3.0 AES-128-CCM
Windows 8.1 SMB 3.0 AES-128-CCM
Windows Server 2012 SMB 3.0 AES-128-CCM
Windows Server 2008 R21 SMB 2.1 不支持
Windows 71 SMB 2.1 不支持

1Microsoft 对 Windows 7 和 Windows Server 2008 R2 的常规支持已结束。 仅可以通过扩展安全更新 (ESU) 计划购买针对安全更新的额外支持。 我们强烈建议从这些操作系统中迁移。

注意

我们建议使用相对于 Windows 版本来说最新的 KB。

先决条件

确保端口 445 处于打开状态:SMB 协议要求打开 TCP 端口 445。 如果端口 445 被阻止,连接将失败。 可以使用 Test-NetConnection cmdlet 检查防火墙或 ISP 是否正在阻止端口 445。 请参阅端口 445 被阻止

在 Windows 中使用 Azure 文件共享

若要在 Windows 中使用某个 Azure 文件共享,必须装载该文件共享(为其分配驱动器号或装载点路径),或通过其 UNC 路径来访问它。

本文使用存储帐户密钥来访问文件共享。 存储帐户密钥是用于存储帐户的管理员密钥,包括对你要访问的文件共享中所有文件和文件夹的管理员权限,以及对所有文件共享和其他包含在存储帐户中的存储资源(Blob、队列、表等)的权限。 如果这对你的工作负载来说还不够,则可以使用 Azure 文件同步通过 SMB 进行基于标识的身份验证。 目前不支持使用共享访问签名 (SAS) 令牌来装载 Azure 文件共享。

若要将预期使用 SMB 文件共享的业务线 (LOB) 应用程序直接迁移到 Azure,通常的模式是使用 Azure 文件共享,而不是在 Azure VM 中运行专用的 Windows 文件服务器。 成功迁移 LOB 应用程序以使用 Azure 文件共享的一个重要注意事项是,许多应用程序在具有有限系统权限的专用服务帐户的上下文中运行,而不是在 VM 的管理帐户下运行。 因此,必须确保装载/保存服务帐户上下文(而不是管理帐户)中 Azure 文件共享的凭据。

装载 Azure 文件共享

Azure 门户提供了一个 PowerShell 脚本,通过该脚本可以使用存储帐户密钥将文件共享直接装载到主机。 除非使用基于标识的身份验证装载文件共享,否则建议使用提供的脚本。

若要获取此脚本,请执行以下操作:

  1. 登录到 Azure 门户

  2. 导航到包含要装载的文件共享的存储帐户。

  3. 选择“文件共享”。

  4. 选择要装载的文件共享。

    Screenshot of file shares blade, file share is highlighted.

  5. 选择“连接” 。

    Screenshot of the connect icon for your file share.

  6. 选择要将共享装载到的驱动器号。

  7. 复制所提供的脚本。

    Screenshot of connect blade, copy button on script is highlighted.

  8. 将脚本粘贴到你要将文件共享装载到的主机上的 shell 中,然后运行该脚本。

现已装载 Azure 文件共享。

使用文件资源管理器装载 Azure 文件共享

注意

请注意,以下说明是在 Windows 10 上显示的,在较旧的版本上可能稍有不同。

  1. 若要打开文件资源管理器,请从“开始”菜单打开,或者按 Win+E 快捷方式。

  2. 导航到窗口左侧的“此电脑”。 这样会更改功能区中的可用菜单。 在“计算机”菜单中,选择“映射网络驱动器”。

    Screenshot of the Map network drive drop-down menu.

  3. 选择驱动器号并输入 Azure 文件共享的 UNC 路径。 UNC 路径格式为 \\<storageAccountName>.file.core.chinacloudapi.cn\<fileShareName>。 例如:\\anexampleaccountname.file.core.chinacloudapi.cn\file-share-name。 选中“使用不同凭据进行连接”复选框。 选择“完成”。

    Screenshot of the Map Network Drive dialog.

  4. 选择“更多选项>使用其他帐户”。 在“电子邮件地址”下,使用存储帐户名称,并使用存储帐户密钥作为密码。 选择“确定”

    Screenshot of the network credential dialog selecting use a different account.

  5. 根据需要使用 Azure 文件共享。

    Screenshot showing that the Azure file share is now mounted.

  6. 做好卸载 Azure 文件共享的准备以后,即可在文件资源管理器中右键单击“网络位置”下对应于共享的条目,然后选择“断开连接”

通过其 UNC 路径访问 Azure 文件共享

无需将 Azure 文件共享装载到驱动器号即可使用它。 通过在文件资源管理器中输入以下内容,可以使用 UNC 路径直接访问 Azure 文件共享。 请务必将 storageaccountname 替换为存储帐户名称,并将 myfileshare 替换为文件共享名称:

\\storageaccountname.file.core.chinacloudapi.cn\myfileshare

系统会要求你使用网络凭据登录。 使用在其中创建了存储帐户和文件共享的 Azure 订阅登录。 如果未提示输入凭据,可以使用以下命令添加凭据:

cmdkey /add:StorageAccountName.file.core.chinacloudapi.cn /user:localhost\StorageAccountName /pass:StorageAccountKey

从 Windows 访问共享快照

如果已通过脚本或 Microsoft Azure 备份等服务手动或自动获取共享快照,则可以从 Windows 上的文件共享查看以前版本的共享、目录或特定文件。 可以使用 Azure 门户Azure PowerShellAzure CLI 创建共享快照。

列出以前版本

浏览到需要还原的项或父项。 通过双击转到所需的目录。 右键单击,然后从菜单中选择“属性”。

Right-click menu for a selected directory

选择"以前版本”,以查看此目录的共享快照列表。 列表可能需要几秒钟才能加载,具体要取决于网速和目录中共享快照的数量。

Previous Versions tab

可以选择“打开”以打开特定快照。

Opened snapshot

从以前版本还原

选择“还原”,以递归方式将整个目录在共享快照创建时包含的内容复制到原始位置。

Restore button in warning message

启用 SMB 多通道

若要在 Azure 文件存储中支持 SMB 多通道,需要确保 Windows 应用了所有相关的修补程序。 某些较旧的 Windows 版本(包括 Windows Server 2016、Windows 10 版本 1607 和 Windows 10 版本 1507)要求为所有相关 SMB 多通道修补程序设置额外的注册表项才能应用于完全修补的安装。 如果运行的 Windows 版本高于上述三个版本,则无需执行其他操作。

Windows Server 2016 和 Windows 10 版本 1607

要为 Windows Server 2016 和 Windows 10 版本 1607 启用所有 SMB 多通道修复,请运行以下 PowerShell 命令:

Set-ItemProperty `
    -Path "HKLM:SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides" `
    -Name "2291605642" `
    -Value 1 `
    -Force

Windows 10 版本 1507

要为 Windows 10 版本 1507 启用所有 SMB 多通道修复,请运行以下 PowerShell 命令:

Set-ItemProperty `
    -Path "HKLM:\SYSTEM\CurrentControlSet\Services\MRxSmb\KBSwitch" `
    -Name "{FFC376AE-A5D2-47DC-A36F-FE9A46D53D75}" `
    -Value 1 `
    -Force

后续步骤

请参阅以下链接,获取有关 Azure 文件的更多信息: