选择 Azure 文件同步云分层策略

本文提供了关于选择和调整Azure 文件同步云分级政策的指导。在继续之前,先了解云分层的运作方式。 基础知识请参见《了解 Azure 文件同步 云分层法》。 如需详细说明和示例,请参见 Azure 文件同步 云分层策略

局限性

  • Windows 系统卷不支持云分层。

  • 如果使用文件服务器资源管理器 (FSRM) 对服务器终结点进行配额管理,应将配额应用于文件夹级别,而不是卷级别。 你仍然可以通过卷级FSRM配额开启云分层,但当卷根存在硬配额时,实际的空闲空间和配额限制空间可能不匹配。 这种不匹配可能会导致无限分层,因为 Azure 文件同步 认为服务器终结点上的卷可用空间不足。

分层文件的最小文件大小

Windows 文件系统按集群大小(也称为分配单元大小)组织磁盘存储——这是能容纳文件的最小空间单位。 不是簇大小整数倍的文件会占用直到下一个整数倍为止的空间。

Azure 文件同步支持对群集大小高达 2 MiB 的卷进行云分层。

符合云分层存储条件的最小文件大小为簇大小的 2 倍,且不得小于 8 KiB。 下表显示了按卷集群大小划分的最小可分层文件大小:

卷群集大小 可以分层此大小或更大的文件
4 KiB 或更小(4,096 字节) 8 KiB
8 KiB (8,192 字节) 16 KiB
16 KiB (16,384 字节) 32 KiB
32 KiB (32,768 字节) 64 KiB
64 KiB (65,536 字节) 128 KiB
128 KiB (131,072 字节) 256 KiB
256 KiB (262,144 字节) 512 KiB
512 KiB (524,288 字节) 1 MiB(兆字节)
1 MiB (1,048,576 字节) 2 MiB
2 MiB (2,097,152 字节) 4 MiB

若要查找卷的簇大小,请在提升权限的命令提示符中运行 fsutil fsinfo ntfsinfo volumedriveletter:每个集群的字节字段显示集群大小(括号内为千字节)。

Azure 文件同步 支持 NTFS 卷。 新NTFS卷的默认集群大小:

卷大小 Windows Server
7 MiB - 16 TiB 4 KiB
16 TiB - 32 TiB 8 KiB
32 TiB - 64 TiB 16 KiB

你可能使用非默认的簇大小格式化了该卷,或者旧版 Windows 可能采用不同的默认值。 无论哪种情况,即使2×的集群大小小于8 KiB,8 KiB的最小值仍然适用。

最小 8 KiB 存在,因为 NTFS 有时将非常小的文件(1-4 KiB)直接存储在主文件表中,而不是存储在磁盘上。 由于云分层重解析点始终会占用一个簇,因此对此类文件进行分层处理可能无法节省任何空间,甚至还会增加存储占用。 最小的文件云分层层级是 8 KiB,且集群规模为 4 KiB 或更小。

选择初始策略

启用云分层时,为每个服务器端点创建一个本地虚拟盘,以简化策略管理。 Azure 文件同步 支持同一盘上的多个服务器端点(参见本地卷上的多个服务器端点),但隔离端点会更容易调优。

Azure 文件同步 有两种分层策略:卷可用空间策略通过将较旧的文件分层,使卷保留指定比例的可用空间;而 日期策略则将指定天数内未被访问的文件分层。 首先将日期策略禁用,并将卷可用空间设置为 10%-20%。 对于大多数卷,20% 是最佳的起始值。

注释

在某些迁移场景中,如果您在 Windows Server 实例上预配的存储量比来源少,您可以在迁移过程中暂时将卷的可用空间设置为 99%,以便将文件分级到云中,然后在迁移完成后将其设置为更有用的级别。

为了简化起见,并清楚了解项目如何分层,主要调整卷可用空间策略,并在非必要情况下保持日期策略处于禁用状态。 大多数客户认为,用尽可能多的热点文件填满本地缓存,并将其余文件分层存储到云端,是很有价值的。 不过,如果你想主动释放本地磁盘空间,并且知道服务器端点在日期策略指定天数之后访问的文件不需要本地保存,日期策略可能会有帮助。 设置日期策略可为同一卷上的其他终结点释放宝贵的本地磁盘容量,以缓存其更多文件。

设置策略后,请相应地监视出口和调整这两个策略。 查看 Azure Monitor 中的云分层召回大小按应用程序划分的云分层召回大小指标。 还要监控服务器端点的缓存命中率,以确定已打开文件中已进入本地缓存的百分比。 若要了解如何监视出口,请参阅 “监视云分层”。

调整策略

如果文件被调用的次数比预期多,说明你的热文件可能比本地空间多。 如果可以,请增大本地卷大小,或者以小幅度逐步降低卷可用空间百分比——但不要过于激进。 更高的变动率需要更多可用空间来容纳新文件和执行冷文件召回操作。 分级会启动,延迟最多一小时加上处理时间,所以请在你的货量上留有充足的空闲空间。

保留更多的本地数据意味着降低出口成本,因为从 Azure 中召回的文件更少,但也需要大量本地存储,而本地存储则以自己的成本计算。

调整卷可用空间策略时,应保留本地的数据量取决于以下因素:带宽、数据集的访问模式和预算。 对于低带宽连接,你可能需要更多本地数据,以确保用户的延迟最小。 否则,可以在给定时间段内基于流失率。 例如,如果您知道 1 TiB 数据集中的 10% 每月更改或频繁访问,则可能需要将 100 GiB 保留在本地,这样您就不需要频繁回收文件。 如果你的体积是2 TiB,那么你要保留5%(或100 GiB)本地空间,剩下的95% 就是你的无容量空间百分比。 但是,要为变动较频繁的时期预留缓冲——换句话说,先将卷可用空间百分比设置得更高一些,之后再根据需要进行调整。

攻击性云分层配置的影响

根据服务器的实际使用情况配置卷可用空间百分比和日期策略。 例如,要缓存最近七天的数据,将日期策略设置为七天,并确保容量能容纳七天的流失。 如果卷量为100 GiB,且七天内流失约为10 GiB,那么20% 的空闲空间设置(20 GiB)可以容纳新内容并留有额外开销空间。

非常高的容量释放空间设置会显著减少本地缓存数据,实际上对大多数文件进行分级。 如果只有一小部分工作数据集被本地缓存,用户会更频繁地调用,增加延迟,并可能增加交易和数据传输成本。

卷可用空间策略的优先级高于日期策略:Azure 文件同步 会将文件分层处理,以达到可用空间目标,而不考虑这些文件最近是否被访问过。 短日期政策门槛也可能导致最近非活跃的文件快速分层,即使空闲空间不受限制。

使用以下方法:

  • 配置卷可用空间策略,该策略与要缓存在服务器上的卷容量和预期工作集保持一致。
  • 选择反映实际文件使用模式的日期策略。 此设置是可选的。
  • 监视当前可用空间、缓存命中率、召回大小、数据分层大小和总体工作负荷性能,以微调可用空间策略或总卷大小。

此方法有助于在本地性能和云存储利用率之间保持适当的平衡。

标准操作过程

  • 当你第一次通过 Azure 文件同步 迁移到 Azure 文件存储 时,云分层取决于初始上传是否先完成。
  • Azure 文件同步 每 60 分钟检查一次是否符合卷上的可用空间和日期策略。
  • 在迁移文件时使用 RoboCopy 中的 /LFSM 开关,可让文件保持同步,同时云分层功能会在初始上传期间释放空间。
  • 如果分层发生在热力图形成之前,Azure 文件同步 会按最后修改时间戳分层文件。

后续步骤