此参考体系结构演示如何使用 Azure 文件同步和 Azure 文件存储,跨云和本地文件共享资源扩展文件服务承载能力。
体系结构
下载此体系结构的 Visio 文件。
工作流
该体系结构包括以下组件:
- Azure 存储帐户。 用于托管文件共享的存储帐户。
- Azure 文件存储。 无服务器云文件共享,可通过使用 Azure 文件同步提供同步关系的云终结点。可以使用服务器消息块 (SMB) 或 FileREST 协议直接访问 Azure 文件共享中的文件。
- 同步组。 Azure 文件共享和运行 Windows Server 的服务器的逻辑分组。 存储同步服务中会部署同步组,用于注册要与 Azure 文件同步一起使用的服务器,并包含同步组关系。
- Azure 文件同步代理。 这安装在 Windows Server 计算机上,用于启用和配置与云终结点的同步。
- Windows Server。 本地或基于云的 Windows Server 计算机,托管与 Azure 文件共享同步的文件共享。
- Microsoft Entra ID。 Microsoft Entra 租户,用于跨 Azure 和本地环境进行标识同步。
组件
方案详细信息
此体系结构的典型用途包括:
- 托管需要从云和本地环境访问的文件共享。
- 使用单个基于云的源在多个本地数据存储之间同步数据。
建议
以下建议适用于大多数方案。 除非有优先于这些建议的要求,否则请遵循这些建议。
Azure 文件存储的使用和部署
将文件存储在云中的无服务器 Azure 文件共享中。 可以通过两种方式使用这些文件共享:直接装载文件共享 (SMB),或使用 Azure 文件同步在本地缓存文件共享。规划部署时需要考虑的事项取决于你选择其中哪种使用方式。
- 直接装载 Azure 文件共享。 因为 Azure 文件存储提供 SMB 访问权限,可以使用 Windows、macOS 和 Linux 操作系统中提供的标准 SMB 客户端在本地或在云中装载 Azure 文件共享。 因为 Azure 文件共享是无服务器式共享,因此在针对生产方案进行部署时不需要管理文件服务器或网络附加存储 (NAS) 设备。 这意味着无需应用软件修补程序或换出物理磁盘。
- 使用 Azure 文件同步在本地缓存 Azure 文件共享。借助 Azure 文件同步,可以在 Azure 文件存储中集中管理组织的文件共享,同时又能保留本地文件服务器的灵活性、性能和兼容性。 Azure 文件同步可将本地(或云中的)Windows Server 转换为 Azure 文件共享的快速缓存。
部署存储同步服务
在部署 Azure 文件同步时,首先要将一个“存储同步服务”资源放入所选订阅的资源组中。 建议预配尽可能少的存储同步服务对象。 你将在服务器和此资源之间创建信任关系。 一个服务器只能注册到一个存储同步服务。 因此,建议根据需要部署存储同步服务以分离服务器组。 请记住,不同存储同步服务中的服务器不能彼此同步。
向 Azure 文件同步代理注册 Windows Server 计算机
要在 Windows Server 上启用同步功能,需要安装可下载的 Azure 文件同步代理。 Azure 文件同步代理提供两个主要组件:
FileSyncSvc.exe
。 后台 Windows 服务,负责监视服务器终结点的更改并启动同步会话。StorageSync.sys
。 文件系统筛选器,可实现云分层和更快的灾难恢复。
可以从 Microsoft 下载中心的 Azure 文件同步代理下载页下载该代理。
操作系统要求
下表列出的是支持 Azure 文件同步的 Windows Server 版本。
版本 | 支持的 SKU | 支持的部署选项 |
---|---|---|
Windows Server 2022 | Azure、Datacenter、Essentials、Standard 和 IoT | “完整”和“核心” |
Windows Server 2019 | Datacenter、Standard 和 IoT | “完整”和“核心” |
Windows Server 2016 | Datacenter、Standard 和 Storage Server | “完整”和“核心” |
Windows Server 2012 R2 | Datacenter、Standard 和 Storage Server | “完整”和“核心” |
有关详细信息,请参阅 Windows 文件服务器注意事项。
配置同步组和云终结点
同步组定义一组文件的同步拓扑。 同步组中的终结点保持彼此同步。 同步组中必须包含一个表示 Azure 文件共享的云终结点,以及一个或多个服务器终结点。 服务器终结点表示已注册的服务器上的路径。 服务器可以包含多个同步组中的服务器终结点。 可以创建任意数量的同步组,以适当地描述所需的同步拓扑。
云终结点是指向 Azure 文件共享的指针。 所有服务器终结点将与某个云终结点同步,使该云终结点成为中心。 Azure 文件共享的存储帐户必须位于存储同步服务所在的同一个区域。 系统会同步整个 Azure 文件共享,但存在一种例外情况:预配了一个特殊的文件夹,它相当于 NT 文件系统 (NTFS) 卷上的“System Volume Information”隐藏文件夹。 此目录名为 .SystemShareInformation,且其包含不同步到其他终结点的重要同步元数据。
配置服务器终结点
服务器终结点代表已注册服务器上的特定位置,例如服务器卷中的文件夹。 服务器终结点必须是已注册的服务器(而不是装载式共享)上的路径,且必须使用云分层。 服务器终结点路径必须位于非系统卷上。 不支持 NAS。
Azure 文件共享与 Windows 文件共享的关系
应尽可能按与 Windows 文件共享 1:1 的比例部署 Azure 文件共享。 通过使用服务器终结点对象,能够在具有同步关系的服务器端非常灵活地设置同步拓扑。 为了简化管理,请使服务器终结点的路径与 Windows 文件共享的路径匹配。
尽可能少地使用存储同步服务。 这在配置了包含多个服务器终结点的同步组的情况下可以简化管理,因为 Windows Server 一次只能注册一个存储同步服务。
部署 Azure 文件共享时,请注意存储帐户的每秒 I/O 操作 (IOPS) 限制。 最好是在文件共享和存储帐户之间建立一对一的映射关系。 因为组织和 Azure 存在各种限制,所以并非总能实现这种映射。 如果无法在存储帐户中只部署一个文件共享,请确保最活跃的文件共享不在同一存储帐户中。
拓扑建议:防火墙、边缘网络和代理连接
对于解决方案拓扑,请考虑以下建议。
防火墙和流量筛选
根据组织的策略或特别的法规要求,可能需要对与 Azure 的通信进行限制。 因此,Azure 文件同步提供多种用于配置网络的机制。 根据你的要求,你可以:
- 通过 Azure ExpressRoute 或 Azure 虚拟专用网络 (VPN) 以隧道方式进行同步以及传输文件上传和下载流量。
- 利用 Azure 文件存储和 Azure 网络功能,如服务终结点和专用终结点。
- 配置 Azure 文件同步以支持环境中的代理。
- 限制 Azure 文件同步的网络活动。
要详细了解 Azure 文件同步和网络,请参阅 Azure 文件同步网络注意事项。
配置代理服务器
许多组织使用代理服务器作为其本地网络中的资源与网络外部资源(例如 Azure 中的资源)之间的媒介。 代理服务器适用于许多应用,如网络隔离和安全、监视和日志记录。 Azure 文件同步可以与代理服务器完全互操作,但必须使用 Azure 文件同步为环境手动配置代理终结点设置。可通过在 Azure PowerShell 中使用 Azure 文件同步服务器 cmdlet 完成此操作。
有关如何使用代理服务器配置 Azure 文件同步的详细信息,请参阅 Azure 文件同步代理和防火墙设置。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。
- 应考虑用于托管 Azure 文件共享的存储帐户的类型和性能。 部署到存储帐户中的所有存储资源共享应用于该存储帐户的限制。 要详细了解如何确定存储帐户的当前限制,请参阅 Azure 文件存储的可伸缩性和性能目标。
- 有两种适用于 Azure 文件存储部署的主要类型的存储帐户:
- 常规用途版本 2 (GPv2) 存储帐户。 使用 GPv2 存储帐户可以在标准的、基于硬盘(基于 HDD)的硬件上部署 Azure 文件共享。 除了存储 Azure 文件共享以外,GPv2 存储帐户还可以存储其他存储资源,例如 Blob 容器、队列和表。
- FileStorage 存储帐户:使用 FileStorage 存储帐户,能够在高级、基于固态硬盘(基于 SSD)的硬件上部署 Azure 文件共享。 FileStorage 帐户只能用于存储 Azure 文件共享。 无法在 FileStorage 帐户中部署其他存储资源,例如 Blob 容器、队列和表。
- 应确保部署解决方案的区域是支持 Azure 文件同步的。 有关详细信息,请参阅 Azure 文件同步区域可用性。
- 应确保部署混合文件服务体系结构的区域支持体系结构部分中引用的服务。
- 为了在 Azure 文件共享中保护数据以防数据丢失或损坏,所有 Azure 文件共享都在写入每个文件时存储了该文件的多个副本。 可以根据工作负载的要求选择额外的冗余度。
- “以前的版本”是一项 Windows 功能,可用于利用卷的服务器端卷影复制服务 (VSS) 快照将文件的可恢复版本提供给 SMB 客户端。 VSS 快照和先前版本的工作方式与 Azure 文件同步无关。但是,必须将云分层设置为兼容模式。 许多 Azure 文件同步服务器终结点可存在于同一个卷上。 即使相关卷仅具有一个你计划或正在使用云分层的服务器终结点,都必须对每个卷进行以下 PowerShell 调用。 有关“以前的版本”和 VSS 的详细信息,请参阅 通过“以前的版本”和 VSS(卷影复制服务)进行自助式还原。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
- Azure 文件同步可处理标准 Active Directory 域服务 (AD DS) 标识,除了设置 Azure 文件同步之外,无需进行任何特殊设置。使用 Azure 文件同步时,文件访问通常是通过 Azure 文件同步缓存服务器而不是通过 Azure 文件共享来实现的。 由于服务器终结点位于 Windows Server 计算机上,因此标识集成的唯一要求是使用已加入域的 Windows 文件服务器来注册存储同步服务。 Azure 文件同步会将文件的访问控制列表 (ACL) 存储在 Azure 文件共享中,并将其复制到所有服务器终结点。
- 即使直接对 Azure 文件共享所做的更改需要更长的时间才能同步到同步组中的服务器终结点,你可能还是想确保自己能够在云中直接对文件共享强制实施 AD DS 权限。 为此,需要将存储帐户以“域加入”的方式加入本地 AD DS 域中,就像 Windows 文件服务器的域加入方式一样。 要详细了解如何将存储帐户“域加入”到客户拥有的 AD DS 实例,请参阅 适用于 SMB 访问的 Azure 文件存储基于标识的身份验证选项概述。
- 使用 Azure 文件同步时,需要考虑不同的三层加密:
- 对存储在 Windows Server 中的数据进行静态加密。 对于 Azure 文件同步,有两个基本适用的关于 Windows Server 上加密数据的策略:一种是可对文件系统和写入其中的所有数据进行加密的文件系统下加密策略,另一种是文件格式内部的加密策略。 可以根据需要将这些方法一起使用,因为它们的用途不同。
- Azure 文件同步代理与 Azure 之间的传输中加密。 Azure 文件同步代理通过使用 Azure 文件同步 REST 协议和 FileREST 协议与存储同步服务和 Azure 文件共享功能进行通信,这两种协议始终通过端口 443 使用 HTTPS。 Azure 文件同步不通过 HTTP 发送未加密的请求。
- 对 Azure 文件共享中存储的数据进行静态加密。 使用 Azure 存储服务加密 (SSE) 对存储在 Azure 文件存储中的所有数据进行静态加密。 存储服务加密的工作方式与 Windows 上的 BitLocker 非常相近:在文件系统级别下对数据进行加密。 因为数据编码到磁盘,是在 Azure 文件共享的文件系统下加密的,所以无需访问客户端上的基础密钥即可读取或写入 Azure 文件共享。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
- 有关成本优化建议,请参考 Azure 架构良好的框架中的成本优化原则页。
- Azure 存储定价 页提供基于帐户类型、存储容量、复制和交易的详细定价信息。
- 数据传输定价详细信息一文中提供了针对数据流出量的详细定价信息。
- 可以使用 Azure 存储定价计算器 来帮助估算成本。
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述。
- Azure 文件同步代理将定期更新,以便添加新功能和解决问题。 Microsoft 建议将 Microsoft 更新配置为在更新可用时为 Azure 文件同步代理提供更新。 有关详细信息,请参阅 Azure 文件同步代理更新策略。
- Azure 存储为文件共享提供软删除,以便在应用程序或其他存储帐户用户错误地删除了数据时可以恢复数据。 要详细了解软删除,请参阅在 Azure 文件共享上启用软删除。
- 云分层是 Azure 文件同步的一项可选功能,该功能将频繁访问的文件本地缓存在服务器上,并根据策略设置将其他文件分层到 Azure 文件存储。 分层文件后,Azure 文件同步文件系统筛选器 (StorageSync.sys) 会将本地文件替换为指向 Azure 文件存储中该文件的指针。 分层文件在 NTFS 中设置了脱机属性和 FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS 属性,这样第三方应用程序便能安全地识别分层文件。 有关详细信息,请参阅云分层概述。
后续步骤
- 什么是 Azure 文件同步?
- Azure 文件同步是如何计费的?
- 如何规划 Azure 文件同步部署?
- 如何部署 Azure 文件同步?
- Azure 文件同步网络注意事项
- 什么是云分层?
- Azure 文件同步中有哪些可用的灾难恢复选项?
- 如何备份 Azure 文件同步?
相关资源
相关混合指南:
相关体系结构: