在 Azure Stack HCI 中使用 ReFS 重复数据删除和压缩优化存储

适用于:Azure Stack HCI 版本 23H2

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

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

ReFS 重复数据删除和压缩是专为活动工作负载设计的存储优化功能,例如 Azure Stack HCI 上的 Azure 虚拟桌面基础结构 (VDI) 。 此功能有助于优化存储使用情况并降低存储成本。

此功能使用 ReFS 块克隆 来减少数据移动并启用仅限元数据的操作。 该功能在数据块级别运行,并使用固定的块大小,具体取决于群集大小。 压缩引擎生成热度地图,以确定块是否应符合压缩条件,并针对 CPU 使用率进行优化。

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

好处

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

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

先决条件

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

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

使用 ReFS 重复数据删除和压缩

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

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

在 Windows Admin Center 中,可以创建 ReFS 重复数据删除和压缩计划,以便在创建卷期间在现有卷或新卷上运行。

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

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

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

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

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

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

    显示 ReFS 重复数据删除和压缩设置的“卷设置”窗格的屏幕截图。

  5. 验证卷的 “属性” 部分中的更改。 计划显示在 “属性” 部分下,并显示节省明细和下一个计划运行时间。 每次运行后,这些节省都会更新,你可以在“性能”部分下的图表中观察 性能 影响。

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

挂起计划的作业

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

按照以下步骤使用 Windows Admin Center 挂起计划的作业:

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

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

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

在卷上禁用 ReFS 重复数据删除和压缩

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

禁用此功能时,它不会撤消重复数据删除或压缩,因为所有操作都在元数据层进行。 随着时间的推移,当卷发生读取和写入时,数据将返回到其原始状态。

注意

可以使用 执行解压缩操作 ReFSUtil

按照以下步骤使用 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 重复数据删除和压缩当前存在的已知问题。

将作业计划为在单个群集中的多个 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 重复数据删除通道中。 但是,我们预计不会因为此问题而对使用情况产生重大影响。

后续步骤