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

适用于:Azure 本地版本 23H2

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

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

ReFS 重复数据删除和压缩是专为 Azure 本地上的活动工作负荷(例如 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:00 下午 10:00,这是 2024/9/30 之后的第一个星期五。

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

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

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

暂停计划作业

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

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

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

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

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

对卷禁用重复数据删除和压缩

在卷上禁用 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 参数可能会导致系统中出现死锁。

状态: 打开。

-FullRun除非是DedupType否则避免在手动启动的作业中使用。

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

  1. 对卷禁用重复数据删除和压缩:

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

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

    Enable-ReFSDedup -Volume <path> -Type Dedup
    

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

状态: 打开。

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

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

状态: 已解决。

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

Start-ReFSDedupJob -Volume <path>

在卷上禁用 ReFS 重复数据删除和压缩后,发送已停止监视 Windows 事件跟踪(ETW) 事件。

状态: 已解决。

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

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

状态: 已解决。

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

后续步骤