ReFS 是否准备好在 Hyper-V 2012 r2 群集上托管生产 VHDX?

Gra*_*ger 14 windows-server-2012-r2 cluster-shared-volumes hyper-v-server-2012-r2 refs

我在所有“Windows Server 2012 r2”帖子中都没有看到的一项新功能是集群现在支持使用 ReFS 格式化的 CSV。因此,很自然地,我想将存储 VHDX 文件的 CSV 更改为 ReFS。但是 VHDX 文件用于在运行 Sql Server 2012 的 VM 中存储数据库文件。

我的想法是,我将在硬件级别拥有 RAID,以防止瞬时故障。在此之上,真正的操作系统(Hyper-V Server 2012 r2)会将它们作为 ReFS 卷进行维护,这将保护这些驱动器上的数据免受比特腐烂。最后,VHDX 是 NTFS 驱动器,这意味着受支持的应用程序将继续使用它们所依赖的文件系统。

到目前为止,我能找到最好的方法是这在技术上是受支持的——因为 Hyper-V 报告说,当您尝试从ReFS 卷。但我找不到比这更可靠的信息了。它真的准备好迎接黄金时段了吗,还是实际上只是集群的技术预览?

编辑:2014-01-22

我发现 ReFS 只能自己检测 bitrot。为了让 ReFS 同时检测自动修复,您还必须使用存储空间来创建使用多个 ReFS 驱动器的 RAID-1 卷。所以看起来我的解决方案正在演变成让硬件 RAID 将其磁盘呈现为 JBOD,然后 Windows 将处理 RAID-1 部分。在接下来的一个月左右的时间里,我将测试这是否是生产中可行的设置。

Gra*_*ger 14

答案是非常明确的“不”

如果相关文件启用了“Integrity Streams”(来源:官方 TechNet 文档每个人最喜欢的博客文章另一个点),ReFS只会检测用户数据中的位腐烂。哦,当 Integrity Streams 被禁用时,你也会失去 COW(写时复制)。由于除非禁用 Integrity Streams,否则您无法使用驻留在 ReFS 卷上的 VHDX,因此您无法保护 VHDX 免受位腐烂。游戏结束。

就像认为集群存储空间池至少需要 3 个磁盘的人也是决定对 ReFS 做出最好的事情你可以关闭的人,然后让 Hyper-V 人员要求它被禁用。很难想象在这样的核心团队中散布出如此多的“愚蠢”。

附属

在进行一些测试时,我发现以下内容可能对仍希望继续前进的人有用:

  • 如果目标是已禁用 Integrity Streams 的文件夹,则只能将 SLM(存储实时迁移)使用中的 VHDX 迁移到 ReFS 镜像卷。
    • 如果您尝试在启用了Integrity Streams 的 ReFS 镜像执行 SLM ,您将收到一条错误消息:“目标 '...' 无效,因为它配置了完整性流属性。选择没有要继续的完整性流属性的目的地。”。通过 PowerShell 尝试时,您会遇到相同的错误。
  • 将文件复制/移动到 ReFS 镜像将导致文件的“完整性位”设置为与目标文件夹中的设置相匹配。
  • 您无法获取/设置正在使用的 VHDX 的完整性位。
  • 否则,ReFS 镜像卷的性能对于生产来说似乎已经足够好了(当然我认为)。如果有人关心,我的“差异”测试就在这里

  • 我不会假设 MS 的工程师是愚蠢的,相反,您想要的解决方案会出现一些难题,他们要么无法及时解决这些问题,要么无法使其可靠。 (3认同)