镜像加速奇偶校验 / NVMe / ReFs / 快速层问题

镜像加速奇偶校验 / NVMe / ReFs / 快速层问题

我目前正在用一些便宜的硬件构建实验室服务器。2 个 NVMe SSD,一堆 3.5 HDD。创建分层存储(NVMe-Mirror 和 HDD-parity)后,使用 ReFS 格式化,一切都表现得非常正常:

  • 使用性能计数器,我可以看到快速层已填满,然后一旦达到 85%,就开始降级到奇偶校验层。
  • 我可以验证新的写入总是会到达快速层。
  • 根据数据,读取操作会被发送到快速层或慢速层。

只有快速层的大小看起来有点奇怪:我使用了 2 * 220 GB NVMe SSds,并用它创建了一个 215GB 的快速层。HDD 总计约 6 TB。Powershell 报告的大小应该是这样的:

FriendlyName             TierClass   MediaType ResiliencySettingName FaultDomainRedundancy   Size FootprintOnPool StorageEfficiency
------------             ---------   --------- --------------------- ---------------------   ---- --------------- -----------------
M. Acc. Parity-NVMe-Tier Performance SSD       Mirror                1                     215 GB          430 GB           50,00 %
NVMe-Tier                Unknown     SSD       Mirror                1                       0 B             0 B
HDD-Tier                 Unknown     HDD       Parity                1                       0 B             0 B
M. Acc. Parity-HDD-Tier  Capacity    HDD       Parity                1                       6 TB            9 TB           66,67 %

但我现在面临的问题是:当将数据移至分层存储时,我可以从性能计数器中看到快速层报告的使用率为 85%,并开始将文件转储到慢速层在我将大约 40-50GB 的内容移动到虚拟磁盘之后。

我考虑了几天这个现象的可能原因,也许有人对此有什么想法?

我目前的想法:正如所提到的,NVMe SSD 非常便宜,所以它们是 TLC-SSds。只要它们在 pSLC 模式下运行,它们就能提供相当不错的性能。然而,这会浪费 67% 的磁盘容量(每个单元 1 位,而不是 3 位)——这与我的观察结果有点吻合(220GB 的 33% 将是 ~ 71 GB,所以我们很快就会达到总使用量的 85%)

好吧,如果快速层那么小,但另一方面又不必处理缓慢的 TLC 性能,那我就不介意了 - 但为什么层大小报告为 220 GB?有没有办法设置 pSLC 模式,还是由 ReFS 控制/通过修剪等完成?

我特别感兴趣的是,是什么原因导致磁盘卡在 pSLC 模式,据我了解,一旦磁盘空间不足,磁盘应该自动切换到 TLC 模式。(但我还读到,MS 禁用了 ReFS 的修剪,可能与此有关?)

这似乎是故意的,或者如果 ReFS 也假设有 215GB 磁盘,为什么 ReFS-PerformanceCounter 会知道实际的 Fast-Tier-Fill-Level?

示例截图:将 8 GB 写入快速层,将 8GB 的​​其他数据降级,然后再次从快速层中删除这 8GB。看起来 8GB = 10%,所以我认为 ReFS 将该层视为 ~ 80GB。

在此处输入图片描述

  • Windows Server 2019 标准版
  • 在两个节点上构建此实验室,可以看到两个节点上完全相同的行为。(相同硬件)

相关内容