使用 Azure 本地中的 ReFS 重复数据删除和压缩优化存储

适用于:Azure Local 2311.2 及更高版本

本文介绍可复原文件系统(ReFS)重复数据删除和压缩功能,以及如何在 Azure 本地环境中使用此功能来优化存储。

什么是 ReFS 重复数据删除和压缩?

ReFS 重复数据删除和压缩是一项存储优化功能,可帮助优化存储使用情况并降低存储成本。 删除重复专门适用于活跃的、对性能敏感或读取密集型工作负载,例如 Azure Local 上的 Azure 虚拟桌面基础结构 (VDI)。 对于性能较少的工作负荷,可以使用重复数据删除和压缩的组合,也可以只使用压缩。

此功能使用 ReFS 块克隆 来减少数据移动并仅启用元数据操作。 该功能在数据块级别运行,并根据系统大小使用固定块大小。 压缩引擎生成热度地图,用于确定块是否应有资格进行压缩,从而优化 CPU 使用率。

可以将 ReFS 重复数据删除和压缩作为一次性作业运行,或使用计划作业自动执行它。 此功能同时适用于全闪存和混合系统,并支持各种复原设置,例如双向镜像、嵌套双向镜像、三向镜像和镜像加速奇偶校验。

好处

下面是使用 ReFS 重复数据删除和压缩的好处:

  • 活跃工作负载的存储节省。 专为活动工作负荷(如 VDI)设计,可确保在要求苛刻的环境中获得高效的性能。
  • 多种模式。 以三种模式运行:仅重复数据删除(默认模式)、仅压缩,以及重复数据删除和压缩,从而能够根据您的需求进行优化。
  • 增量删除重复。 仅对新的或更改过的数据执行删除重复,而不是每次扫描整个卷,从而优化作业持续时间并减少对系统性能的影响。

先决条件

在开始之前,请确保满足以下先决条件:

  • 有权访问已部署和注册的 Azure 本地实例。
  • 在实例上创建了群集共享卷(CSV),并且你有权访问该卷。
  • CSV 尚未启用 Windows 重复数据删除功能。

使用 ReFS 删除重复和压缩

可以通过 Windows Admin Center 或 PowerShell 使用 ReFS 重复数据删除和压缩。 PowerShell 允许手动和自动化作业,而 Windows Admin Center 仅支持计划作业。 无论使用哪种方法,都可以自定义作业设置,并利用文件更改跟踪来加快后续运行。

注意

建议在将性能作为关键考量的工作负载中仅使用删除重复,而不是使用压缩或两者的组合。

启用并运行 ReFS 重复数据删除和压缩

在 Windows Admin Center 中,可以创建 ReFS 重复数据删除计划,以便在创建卷期间在现有卷或新卷上运行。 但是,仅通过 PowerShell 支持启用压缩。

请按照以下步骤通过 Windows Admin Center 启用 ReFS 重复数据删除,并设置其运行的计划时间:

  1. 连接到系统,然后在左侧的“工具”窗格中,选择“卷”。

  2. 在“卷”页上,选择“清单”选项卡,选择相应的卷,然后选择“设置”。 若要为新卷启用 ReFS 重复数据删除,请选择“ + 创建”。

  3. 在右侧的“卷设置”窗格中,在“更多选项”下拉列表下,选中“使用 ReFS 删除重复”复选框。

  4. 选择 ReFS 重复数据删除应运行的星期几、作业开始运行的时间以及最长持续时间(默认值不受限制),然后选择“ 保存”。

    以下屏幕截图显示 ReFS 重复数据删除将在星期五和星期六下午 10:00 运行,最长持续时间为 2 小时,从 2024 年 9 月 27 日星期五开始。 如果开始日期更改为 2024/9/30 星期一,则第一次运行时间为 2024/10/4 下午 10:00,因为这是 2024/9/30 之后的第一个星期五。

    “卷设置”窗格的屏幕截图,其中显示了 ReFS 删除重复设置。

  5. 验证卷的“属性”部分中的更改。 计划显示在“属性”部分中,并显示节省明细和下次计划运行时间。 每次运行后都会更新这些节省,可以在“性能”部分下的图表中观察性能影响。 如果通过 PowerShell 启用压缩,则其节省内容也会显示在 “属性” 部分。

    卷的“属性”部分的屏幕截图,其中显示了节省明细和下一次计划运行时间。

暂停计划的作业

暂停计划会取消任何正在运行的作业,并停止未来的计划运行。 此选项保留 ReFS 重复数据删除和压缩相关的元数据,并继续跟踪文件更改,以便在未来实现优化运行。 可以随时恢复计划,并保留计划设置。

按照以下步骤使用 Windows Admin Center 暂停计划作业:

  1. 连接到系统,然后在左侧的“工具”窗格中,选择“卷”。

  2. 在“卷”页上,选择“清单”选项卡,选择相应的卷,然后选择“设置”。

  3. 在右侧的“卷设置”窗格中,在“更多选项”下拉列表下,取消选中“设置计划”复选框,然后选择“保存”。

对卷禁用 ReFS 删除重复和压缩

对卷禁用 ReFS 删除重复和压缩会停止所有正在进行的运行,并取消将来的计划任务。 此外,相关的卷元数据不会保留,并且文件更改跟踪会停止。

注意

禁用此功能时,它不会撤消重复数据删除或压缩,因为所有操作都在元数据层发生。 随着时间的推移,已删除重复的数据会返回到其原始状态,因为卷会产生读取和写入。 若要解压缩数据,请确保有足够的容量可用,并使用 ReFSUtil 执行以下操作。

refsutil compression /c /f NONE <vol>

按照以下步骤使用 Windows Admin Center 禁用该功能:

  1. 连接到系统,然后在左侧的“工具”窗格中,选择“卷”。

  2. 在“卷”页上,选择“清单”选项卡,选择相应的卷,然后选择“设置”。

  3. 在右侧的“卷设置”窗格中,在“更多选项”下拉列表下,取消选中“使用 ReFS 删除重复”复选框,然后选择“保存”。

常见问题 (FAQ)

本部分解答有关 ReFS 重复数据删除和压缩的常见问题。

ReFS 重复数据删除和压缩功能是否不同于 Windows 重复数据删除?

是的,此功能与 Windows 重复数据删除功能完全不同

重要

我们不支持同时启用 ReFS 的数据重复删除和压缩功能以及 Windows 数据重复删除功能。

ReFS 重复数据删除和压缩专为活动工作负荷而设计,侧重于在优化后最大程度地降低性能影响。 与 Windows 重复数据删除不同,ReFS 重复数据删除和压缩不使用区块存储来存储重复数据,并且没有涉及物理数据移动。 此功能依赖于 ReFS 块克隆来启用仅元数据操作。 由于使用可变块大小,Windows 重复数据删除可能会提供更好的存储节省,它还适用于更广泛的工作负荷类型,例如常规用途文件服务器(GPFS)、备份目标等。

ReFS 重复数据删除和压缩的阶段是什么?

优化过程包括按顺序发生的以下阶段,具体取决于指定的模式。 如果优化运行达到持续时间限制,则压缩可能不会运行。

  • 初始化。 在此阶段,将扫描存储卷以识别冗余的数据块。

  • 数据去重 在此阶段,冗余块会进行单实例化,并使用 ReFS 块克隆进行跟踪。

  • 压缩。 在此阶段,将生成热度地图,以确定块是否应符合压缩条件。 默认设置压缩不经常访问或冷数据以减少其大小。 可以更改压缩级别以调整符合压缩条件的块范围。

如果在完全优化卷之前达到持续时间限制,会发生什么情况?

持续时间限制用于防止在工作时间优化作业对客户工作负荷造成的任何性能影响。 删除重复服务会监视卷的优化部分和传入文件的修改。 将来的作业中会利用此数据来缩短优化时间。 例如,如果由于持续时间限制,第一次运行中只处理卷 30%,则后续运行将处理剩余 70% 和任何新数据。

已知问题

以下部分列出了 ReFS 重复数据删除和压缩当前存在的已知问题。

启用压缩后,在第一次优化运行后对作业使用 -FullRun 参数可能会导致系统中出现死锁。

状态: 打开。

除非-FullRunType,否则避免在手动启动的工作中使用Dedup

请遵循以下步骤作为临时解决方法来缓解此问题:

  1. 对卷禁用 ReFS 删除重复和压缩的步骤:

    Disable-ReFSDedup -Volume <path>
    
  2. 使用 refsutil 解压缩卷:

    refsutil compression /c /f NONE <vol>
    
  3. 根据需要,使用仅 Dedup 模式重新启用 ReFS 删除重复和压缩:

    Enable-ReFSDedup -Volume <path> -Type Dedup
    

在单个系统中将作业安排在多个 CSV 文件上同时运行,可能会触发 CSV 文件的移动,并对性能产生负面影响。

状态: 打开。

作为建议的最佳做法,请考虑错开作业的开始时间以避免任何重叠。 但是,如果所有作业必须同时运行,请对所有 CSV 调整每个作业的 CPU 分配,使其相当于整个系统 CPU 使用率的 50% 以下。 请记住,施加 CPU 限制可能会导致作业执行时间更长。

ReFS 删除重复和压缩作业已完成(已成功或已取消),并且存储节省未在 Get-ReFSDedupStatus 或 Windows Admin Center 中列出。

状态: 已解决。

此问题的临时解决方法是立即启动一次性作业,结果会立即更新。

Start-ReFSDedupJob -Volume <path>

对卷禁用 ReFS 删除重复和压缩后发送了已停止的监视 Windows 事件跟踪 (ETW) 事件。

状态: 已解决。

对卷禁用 ReFS 删除重复和压缩后,ReFS 删除重复日志的 ETW 通道会反复报告已停止的监视事件。 但是,由于此问题,我们预计不会对使用量产生重大影响。

如果卷在压缩期间移动到另一个节点,则不会记录作业失败事件。

状态: 已解决。

如果在压缩正在进行时将 CSV 移动到系统的另一台计算机,则作业失败事件不会记录在 ReFS 重复数据删除通道中。 但是,由于此问题,我们预计不会对使用量产生重大影响。

后续步骤