在所有“Windows Server 2012 r2”帖子中我都没有看到列出的新功能之一是 Clustering 现在支持使用 ReFS 格式化的 CSV。因此,自然而然地,我想将存储 VHDX 文件的 CSV 更改为 ReFS。但 VHDX 文件正用于在运行 Sql Server 2012 的虚拟机中存储数据库文件。
我的想法是,我会在硬件层面上拥有 RAID,以防止瞬间故障。除此之外,真正的操作系统 (Hyper-V Server 2012 r2) 会将它们维护为 ReFS 卷,这将保护这些驱动器上的数据免受位腐烂的影响。最后,VHDX 是 NTFS 驱动器,这意味着受支持的应用程序将继续使用它们所依赖的文件系统。
到目前为止,我能找到的最好的是这在技术上是受支持的——因为 Hyper-V 报告说,当您尝试从 ReFS 卷使用它时,您必须关闭 VHDX 文件 (Set-FileIntegrity cmdlet) 中的“数据完整性”设置。但我找不到比这更可靠的信息了。它真的准备好迎接黄金时段了吗,还是实际上只是集群的技术预览?
编辑:2014-01-22
我发现 ReFS 只能自行检测 bitrot。为了让 ReFS 能够同时检测和自动修复,您还必须使用存储空间来使用多个 ReFS 驱动器创建 RAID-1 卷。因此,看起来我的解决方案正在演变为让硬件 RAID 将其磁盘显示为 JBOD,然后 Windows 将负责 RAID-1 部分。我将在接下来的一个月左右测试这是否是生产中的可行设置。
答案1
答案非常明确“不”。
重新文件系统仅有的检测位衰减用户数据如果相关文件启用了“完整性流”(来源:官方 TechNet 文档,大家最喜欢的博客文章, 和另一个地点)。哦,当 Integrity Streams 被禁用时,您还会失去 COW(写时复制)。由于除非 Integrity Streams 被禁用,否则您无法使用驻留在 ReFS 卷上的 VHDX,因此您无法保护 VHDX 免受位衰减的影响。游戏结束。
就好像认为集群存储空间池至少需要 3 个磁盘的人,也是决定将 ReFS 的最好功能关闭的人,然后让 Hyper-V 人员要求禁用它。很难想象如此多的“愚蠢”行为会像那样在核心团队中蔓延到如此之远。
辅助
在进行一些测试时,我发现以下内容可能对那些仍希望继续前进的人有用:
- 如果您的目标是已禁用 Integrity Streams 的文件夹,则您只能将正在使用的 VHDX SLM(存储实时迁移)到 ReFS 镜像卷。
- 如果你尝试做 SLM到一个 ReFS 镜像,其中 Integrity Streams已启用,您将收到一条包含以下内容的错误:“目标‘...’无效,因为它配置了完整性流属性。请选择没有完整性流属性的目标以继续。”。当您尝试通过 PowerShell 时,您会收到相同的错误。
- 将文件复制/移动到 ReFS 镜像将导致文件的“完整性位”设置为与目标文件夹中的设置相匹配。
- 您无法获取/设置正在使用的 VHDX 的完整性位。
- 否则,ReFS 镜像卷的性能似乎足够好(当然是我的看法)用于生产。我的“差异”测试在这里如果有人关心的话。
答案2
正如您所发现的,ReFS 受支持,但数据完整性已禁用。这意味着您的 VHD 并未像您上面所说的那样“受到保护以防止位腐烂”。文件系统本身可以,但 VHD 本身不行。如果您对这种保护措施感兴趣,请继续使用 ReFS。