我的想法是,我会在硬件级别拥有RAID,以防止瞬时故障.在此之上,真正的操作系统(Hyper-V Server 2012 r2)会将它们维护为ReFS卷,这样可以保护这些驱动器上的数据免受bitrot攻击.最后,VHDX是NTFS驱动器,这意味着支持的应用程序继续使用它们所依赖的文件系统.
到目前为止,best I can find是技术上支持的 – 因为当您尝试从ReFS卷使用它时,Hyper-V报告您必须关闭VHDX文件(Set-FileIntegrity cmdlet)中的“数据完整性”设置.但我找不到比这更可靠的信息了.它是否真的准备好迎接黄金时段,还是实际上只是集群技术预览?
编辑:2014-01-22
我发现ReFS本身只能检测到bitrot.为了让ReFS检测和自动修复,您还必须使用存储空间使用多个ReFS驱动器创建RAID-1卷.所以看起来我的解决方案正在演变为硬件RAID将其磁盘作为JBOD,然后Windows将负责RAID-1部分.我将在接下来的一个月左右测试这是否是生产中可行的设置.
如果相关文件启用了“Integrity Streams”,则ReFS仅检测用户数据中的位腐烂(来源:official TechNet docs,everyone’s favorite blog post和another spot).哦,当禁用Integrity Streams时,您也会丢失COW(写时复制).由于除非禁用了Integrity Streams,否则无法使用驻留在ReFS卷上的VHDX,因此无法保护VHDX免受位腐蚀.游戏结束.
就像那个认为集群存储空间池应该至少需要3个磁盘的人一样,也是那个决定让你可以关闭ReFS的最好的东西的人,然后让Hyper-V的人需要它被禁用很难想象在这样的核心团队中,“愚蠢”的数量到目前为止还是如此.
辅助的
在进行一些测试时,我发现以下内容可能对仍希望继续前进的人有用:
>如果目标是已禁用Integrity Streams的文件夹,则只能将SLM(Storage Live Migrate)正在使用的VHDX发送到ReFS镜像卷.
>如果您尝试在启用了Integrity Streams的ReFS镜像上执行SLM,则会出现错误:“目标’…’无效,因为它配置了完整性流属性.选择没有完整性流属性的目标以继续.“尝试通过PowerShell时出现相同的错误.
>将文件复制/移动到ReFS镜像将导致文件的“完整性位”设置为与目标文件夹中的设置匹配.
>您无法获取/设置正在使用的VHDX的完整性位.
>否则,ReFS镜像卷的性能似乎对于Production来说足够好(我的意见当然). My “differences” test is here如果有人关心.