gpt4 book ai didi

windows - 如何以编程方式模拟文件损坏以测试 ReFS 健康检查和恢复功能?

转载 作者:可可西里 更新时间:2023-11-01 09:57:30 29 4
gpt4 key购买 nike

我想以编程方式测试 Windows ReFS Health Check and Recovery特点。

注意:ReFS 仅检测位腐烂(无法 self 修复)。要让 ReFS 同时检测和自动修复,还必须使用存储空间。因此,我准备了一个存储镜像空间池 S:\,具有 2-way 镜像设置。

ReFS 完整性流已启用,

PS C:\> Set-FileIntegrity -FileName 'S:\' -Enable $True

按照说明找到 here .

如何以编程方式模拟文件损坏以测试 ReFS 运行状况检查和恢复功能?

我找不到引入比特腐烂的简单方法。我尝试过的所有系统都只执行 ReFS 可接受的合法更改。

如果可能,PowerShell 方法是最好的。 Perl、Python 或任何其他好的。

提前谢谢你。

最佳答案

要创建损坏,请使用 Hard Disk Sentinel Pro 中的破坏性写入测试。将其设置为随机而不是顺序工作。我将其设置为写入随机位模式。只需运行一到三分钟,您就会在显示的 map 上看到整个驱动器上的一大堆点都被摧毁了。

这是我做一些测试的方式(我打字很快所以我希望我没有遗漏任何东西)

  1. 几乎用文件填满 ReFS 镜像存储空间。

  2. 为所有文件启用文件完整性:

    Get-ChildItem -Path 'i:*' -Recurse |设置文件完整性-启用 $True -强制 $False

我们稍后使用 Enforce $True 进行另一项测试,但先进行 false 测试。稍后你会明白为什么。阅读启用和强制执行。

  1. 卸下其中一个驱动器并将其连接到第二台计算机上的 SATA 端口。
  2. 在第二台计算机上,使用 Hard Disk Sentinel 引入文件损坏
  3. 移除损坏的驱动器并将其放回第一台有存储空间的计算机中。您现在将拥有一个镜像存储空间,其中一个驱动器正常,一个驱动器有一堆损坏的文件。

尝试将所有文​​件从存储空间批量复制到其他驱动器。

我的测试表明几乎没有任何东西得到修复,事件日志中几乎没有任何显示。也许一两个错误,仅此而已。您可能认为一开始并没有太多损坏。那么现在设置 Enforce $True 并再次执行复制操作。启用 Enforce 后,副本将在数十个具有校验和错误的文件处停止——证明 ReFS 在这种情况下正在查看校验和。

问题是日志中几乎什么也没有显示。此外,在启用 Enforce 的情况下,我在关闭 Enforce 的第一次测试期间本应修复的一个文件上出现了校验和错误!

检查这些线程:

Why Use ReFS?

ReFS test with corrupt data. Does it work

Has anyone run the Data Integrity Scan on an ReFS volume?

ReFS/Storage Spaces 确实会不时地记录一个问题,人们会看到它,所以他们只是认为它工作得很好。此外,人们找不到创建测试损坏的好方法,因此他们不会费心进行测试。我在 Windows 10 Pro for Workstations SKU 上进行了测试,结果很糟糕。

请自己运行一些测试以确认我的发现。

关于windows - 如何以编程方式模拟文件损坏以测试 ReFS 健康检查和恢复功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038295/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com