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


14

在所有“ 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报告当您尝试从VHDX文件(Set-FileIntegrity cmdlet)中使用它时,必须关闭它的“数据完整性”设置。 ReFS卷。但是我找不到比这更可靠的信息。它真的准备好迎接黄金时段了吗,还是实际上只是集群的技术预览?

编辑:2014-01-22

我发现ReFS仅能自己检测到位腐烂。为了同时检测自动修复ReFS ,还必须使用存储空间来使用多个ReFS驱动器创建RAID-1卷。因此,看来我的解决方案正在演变为使硬件RAID将其磁盘显示为JBOD,然后Windows将负责RAID-1部分。我将在下个月左右测试这是在Production中可行的设置。

Answers:


14

答案是非常明确的“否”

如果有问题的文件启用了“完整性流”,则ReFS 用户数据中检测到位腐烂(来源:TechNet官方文档每个人都喜欢的博客文章,以及另一个地方)。哦,禁用完整性流时,您还会丢失COW(写时复制)。由于除非禁用Integrity Streams,否则无法使用驻留在ReFS卷上的VHDX,因此无法保护VHDX防止位腐烂。游戏结束。

就像同一个人认为群集存储空间池至少需要3个磁盘一样,这也是决定使ReFS最好的东西(可以关闭)然后让Hyper-V人员要求的一个人。被禁用。很难想象如此之多的“愚蠢”会散布在整个核心团队中。

辅助的

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

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

3
我不认为MS的工程师会很愚蠢,而是您所需要的解决方案会出现一些困难的问题,他们要么无法及时解决,要么无法使其可靠。
安迪2014年

如果您会注意到,这不是“愚蠢的”。Linux系统具有类似的限制,但不强制执行。当然,您可以在启用了校验和的情况下将qcow2映像放置在BTRFS卷的顶部-但是对于大多数工作负载而言,它将表现得像垃圾一样。关闭校验和,这会更好-但是您仍然可以获得BTRFS的音量功能等。如果您对此感到担心,请在VM映像中添加一个校验和ReFS。
后台打印程序

0

如您所见,支持ReFS,并且禁用了数据完整性。这意味着您的VHD不受上述保护。文件系统本身就是文件系统,但VHD本身不是。如果您感兴趣的是这种保护措施,请继续使用ReFS。


考虑到我认为“保护”在这种情况下的含义,您是对是非。ReFS本身会检测并通知您bitrot,但不会为您自动修复它。为了使ReFS真正防止位错(检测和自动修复),您必须使用存储空间从多个ReFS驱动器创建OS级RAID-1卷。...因此,除非牺牲更多空间(在RAID-1之上的RAID-1),否则我的原始方案将无法工作。
Granger 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.