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

我没有看到在所有“Windows Server 2012 R2”文章中列出的新function之一是,群集现在支持使用ReFS格式化的CSV。 所以,我想将存储VHDX文件的CSV文件改为ReFS。 但是VHDX文件正用于存储运行Sql Server 2012的虚拟机中的数据库文件。

我的想法是,我会在硬件级别的RAID,防止瞬间故障。 在此之上,真正的操作系统(Hyper-V Server 2012 R2)会将它们作为ReFS卷来维护,这将保护这些驱动器上的数据不被盗用。 最后,VHDX是NTFS驱动器,这意味着受支持的应用程序将继续使用它们依赖的文件系统。

到目前为止, 我能find的最好的是,这是技术上的支持—因为Hyper-V报告,当您尝试使用VHDX文件(Set-FileIntegrity cmdlet)时,必须closures“数据完整性”设置ReFS卷。 但是我找不到比这更可靠的信息。 它是否真的准备好黄金时段,还是仅仅是一个聚类的技术预览?

编辑:2014-01-22

我发现ReFS只能检测自己的bitrot。 为了让ReFS检测自动修复,还必须使用存储空间使用多个ReFS驱动器创buildRAID-1卷。 所以看起来好像我的解决scheme正在发展成硬件RAID将其磁盘当作JBOD,然后Windows将会处理RAID-1部分。 我将在下个月左右testing生产中是否可行。

答案是非常明确的“不”

如果有问题的文件启用了“完整性stream”(来源: 官方TechNet文档 , 每个人最喜欢的博客post ,以及另一个地方 ),ReFS 检测用户数据中的位错。 哦,而且当Integrity Streams被禁用时,你也会失去COW(写时复制)。 由于除非Integrity Streams被禁用,否则不能使用驻留在ReFS卷上的VHDX,否则无法保护VHDX不受位元腐蚀的影响。 游戏结束。

就像同一个人认为集群存储空间池应该至less需要3个磁盘,也是决定让关于ReFS的最好的东西可以closures的东西,然后让Hyper-V的人来要求它被禁用。 很难想象,在这样的核心团队中,“愚蠢”的数量到底是如何分布的。

辅助的

在做一些testing的时候,我发现以下可能对仍然希望前进的人有用:

  • 如果目标是已禁用完整性stream的文件夹,则只能将正在使用的VHDX(存储实时迁移)存储到ReFS镜像卷。
    • 如果您尝试在启用了完整性stream的ReFS镜像执行SLM,则会在其中发生错误:“目标”…“无效,因为它使用完整性stream属性进行configuration。不具有完整性stream属性的目标继续。“ 通过PowerShell尝试时会出现相同的错误。
  • 将文件复制/移动到ReFS镜像将导致文件的“完整性位”设置为与目标文件夹中的设置相匹配。
  • 您无法获取/设置正在使用的VHDX的完整性位。
  • 否则,ReFS镜像卷的性能似乎足够好(当然是我的意见)。 如果有人在乎, 我的“差异”testing就在这里 。

正如您发现的那样,ReFS被支持,数据完整性被禁用。 这意味着你的VHD没有像上面说的那样被“保护”。 文件系统本身就是,而不是VHD本身。 如果这是您感兴趣的保护措施,请继续使用ReFS。