Leer en inglés

Compartir a través de

云分层概述

云分层是 Azure 文件同步的一项可选功能,可减少所需的本地存储量,同时保留本地文件服务器的性能。

启用后,此功能仅存储本地服务器上经常访问的(热)文件。 不常访问的(冷)文件会拆分为命名空间(文件和文件夹结构)和文件内容。 命名空间存储在本地,文件内容存储在云中的 Azure 文件共享中。

当用户打开分层文件时,Azure 文件同步会无缝地从 Azure 文件共享中撤回文件数据。

云分层的工作方式

云分层策略

启用云分层时,可以设置两个策略来通知 Azure 文件同步何时对冷文件进行分层: 卷可用空间策略日期策略

卷可用空间策略

卷可用空间策略告诉 Azure 文件同步,当本地磁盘上被占用一定量的空间时,将冷文件分层到云

例如,如果本地磁盘容量为 200 GiB,并且希望至少 40 GiB 的本地磁盘容量始终保持空闲状态,则应将卷可用空间策略设置为 20%。 卷可用空间适用于卷级别,不适用于各个目录或服务器终结点的级别。

日期策略

按照日期策略,如果在 x 天内未访问(读取或写入)冷文件,它们会分层到云。 例如,如果你注意到未访问超过 15 天的文件通常是存档文件,则应将日期策略设置为 15 天。

有关日期策略和卷可用空间策略如何协同工作的更多示例,请参阅 “选择 Azure 文件同步云分层策略”。

Windows Server 数据去重

从 Windows Server 2016 开始,启用了云分层的卷上均支持重复数据删除。 有关详细信息,请参阅 规划 Azure 文件同步部署

云分层热度地图

Azure 文件同步会随时间推移监视文件访问(读取和写入作),并根据文件的最近和频繁访问方式为每个文件分配热度分数。 它使用这些分数在每个服务器端点上生成命名空间的“热图”。 此热度地图是启用了云分层的位置中所有同步文件的列表,按其热度分数排序。 最近经常打开的文件被视为热文件,而很少被访问且已经有一段时间未被访问的文件被视为冷文件。

若要确定单个文件在该热度地图中的相对位置,系统按以下顺序使用其时间戳的最大值:MAX(上次访问时间、上次修改时间、创建时间)。

通常,上次访问时间会被跟踪并可供查询。 但是,新建服务器终结点时,如果已启用云分层,则没有足够的时间观察文件访问。 如果没有有效的上次访问时间,则改用上次修改时间来评估热度地图中的相对位置。

日期策略的工作原理也是这样。 如果没有上次访问时间,日期策略将作用于上次修改时间。 如果上次修改时间不可用,将回退到文件创建时间。 随着时间的推移,系统将观察更多的文件访问请求,并自动开始使用自跟踪的上次访问时间。

Nota

云分层不依赖 NTFS 功能跟踪上次访问时间。 默认情况下,此 NTFS 功能处于关闭状态,由于性能注意事项,不建议手动启用此功能。 云分层单独跟踪上次访问时间。

主动召回

创建或修改文件时,可以将文件主动召回到指定的服务器。 主动召回使新的或修改的文件可供每个指定服务器使用。

如果本地不需要召回到服务器的文件,不必要的召回会增加出口流量和成本。 因此,仅当确信将云中的最近更改预加载到服务器缓存中会对使用该服务器上文件的用户或应用程序产生积极影响时,才启用主动回调。

启用主动召回还可能导致服务器上的带宽使用率增加,并可能导致本地服务器上的其他相对新的内容由于被召回的文件的增加而受到积极分层。 反过来,如果服务器认为要分层的文件是热文件,分层过快可能会导致召回增加。

有关主动召回的详细信息,请参阅 部署 Azure 文件同步

分层与本地缓存的文件行为

云分层是命名空间(文件和文件夹层次结构以及文件属性)与文件内容之间的分离。

分层文件

对于分层文件,磁盘上的大小为零,因为文件内容本身不会存储在本地。 文件分层后,Azure 文件同步文件系统筛选器 (StorageSync.sys) 会将本地文件替换为指针(称为重分析点)。 重新分析点表示 Azure 文件共享中的文件的 URL。 在 NTFS 中,分层文件同时设置了 offline 属性和 FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS 属性,使得第三方应用程序可以安全地识别分层文件。

屏幕截图显示了文件分层时(仅命名空间)的属性。

本地缓存文件

对于存储在本地文件服务器中的文件,磁盘上的大小大约等于文件的逻辑大小,因为整个文件(文件属性 + 文件内容)都存储在本地。

未分层时文件属性的屏幕截图 - 命名空间 + 文件内容。

另外,文件也可能被部分分层或部分召回。 在部分分层文件中,只有一部分文件存储在磁盘上。 如果支持流式访问文件的应用程序对文件进行部分读取,可能已经部分召回卷上的文件。 一些示例包括多媒体播放器和 zip 实用工具。 Azure 文件同步高效,仅召回已连接的 Azure 文件共享中请求的信息。

Nota

大小表示文件的逻辑大小。 磁盘上的大小表示存储在磁盘上的文件流的物理大小。

磁盘空间不足模式

即使启用了云分层,具有服务器终结点的磁盘也会因各种原因而耗尽空间。 其原因包括:

  • 手动将数据复制到服务器终结点路径外部的磁盘
  • 慢速或延迟同步导致文件未分层
  • 过高的分层文件召回率

磁盘空间耗尽时,Azure 文件同步可能无法正常运行,甚至可能变得不可用。 虽然 Azure 文件同步无法完全阻止这些事件,但低磁盘空间模式(从 15.1 开始的 Azure 文件同步代理版本中可用)旨在防止服务器终结点达到这种情况,并帮助服务器更快地摆脱这种情况。

对于启用了云分层的服务器终结点,如果卷上的可用空间低于计算阈值,则该卷正处于磁盘空间不足模式。

在磁盘空间不足模式下,Azure 文件同步代理以不同的方式执行两项作:

  • 主动分层:在此模式下,文件同步代理将文件更主动地分层到云。 同步代理每分钟检查一次要分层的文件,而不是采用每小时一次的正常频率。 在完整上传完成之前,卷可用空间策略分层通常不会在初始上传同步期间发生;但是,在磁盘空间不足模式下,在初始上传同步期间启用分层,在单个文件上传到 Azure 文件共享后,将考虑对文件进行分层。

  • 非持久召回:当用户打开分层文件时,从 Azure 文件共享中召回的文件不会直接保存到磁盘。 Invoke-StorageSyncFileRecall cmdlet 发起的召回是该规则的例外,将保存到磁盘。

卷可用空间超过阈值时,Azure 文件同步会自动还原为正常状态。 磁盘空间不足模式仅适用于已启用云分层的服务器,将始终遵循卷可用空间策略。

如果卷有两个服务器终结点,一个启用了分层,一个没有分层,则低磁盘空间模式将仅适用于启用了分层的服务器终结点。

如何计算低磁盘空间模式的阈值?

通过采用以下三个数字的最小值计算阈值:

  • 10% 的卷大小 (GiB)
  • 卷可用空间策略(以 GiB 为单位)
  • 20 GiB

下表包含有关如何计算阈值以及卷何时处于低磁盘空间模式的一些示例。

卷大小 10% 的卷大小 卷可用空间策略 阈值 = 最小(卷大小的 10%,卷可用空间策略,20GB) 当前卷可用空间 是否为低磁盘空间模式? 原因
100 GiB 10 GiB 7% (7 GiB) 7 GiB = 最小值 (10 GiB, 7 GiB, 20 GiB) 9%(9 吉字节) 当前卷可用空间 (9 GiB) > 阈值 (7 GiB)
100 GiB 10 GiB 7% (7 GiB) 7 GiB = 最小值 (10 GiB, 7 GiB, 20 GiB) 5%(5 吉比字节) 是的 当前卷可用空间 (5 GiB) < 阈值 (7 GiB)
300 GiB 30 GiB 8%(24 吉比字节) 20 GiB = 最小(30 GiB、24 GiB、20 GiB) 7%(21 GiB) 当前卷可用空间 (21 GiB) > 阈值 (20 GiB)
300 GiB 30 GiB 8% (24 GiB) 20 GiB = 最小(30 GiB、24 GiB、20 GiB) 6% (18 GB) 是的 当前卷可用空间 (18 GiB) < 阈值 (20 GiB)

低磁盘空间模式如何与卷可用空间策略配合使用?

低磁盘空间模式始终遵循卷可用空间策略。 阈值计算旨在确保遵守用户设置的卷可用空间策略。

服务器终结点处于低磁盘模式的最常见原因是什么?

低磁盘模式的主要原因是将大量数据复制或移动到启用了分层的服务器终结点所在的磁盘。

如何退出磁盘空间不足模式?

下面是在服务器终结点上退出低磁盘模式的两种方法:

  1. 低磁盘模式将通过不保留召回记录并更频繁地进行文件分层来自动切换到正常模式,无需任何人为干预。
  2. 可以通过增加卷大小或释放服务器终结点外部的空间来手动加快进程。

如何检查服务器是否处于低磁盘空间模式?

  • 如果服务器终结点处于低磁盘模式,则会在 Azure 门户中服务器终结点的“错误 + 故障排除”选项卡的云分层运行状况部分显示该终结点。
  • 事件 ID 19000 每分钟记录到每个服务器终结点的遥测事件日志中。 使用此事件可确定服务器终结点是否处于低磁盘模式(IsLowDiskMode = true)。 遥测事件日志位于 Applications and Services\Microsoft\FileSync\Agent 下的事件查看器中。

后续步骤