我的小型网络上有一个 Windows Server 2003 机器。其中有一个 Promise Fasttrak RAID 控制器和两个并行 ATA Western Digital 驱动器,采用 RAID-1(镜像)配置。当我设置它时,我希望它是一个可靠的存储系统,并且RAID 控制器会在出现问题时告诉我,以便我做出反应。
然而,它现在在这两个方面都失败了。当我从该服务器复制文件时,我发现大文件已损坏。例如,我最近将 XP SP3 网络安装 (~320MB) 复制到另一台 PC。提取失败。我觉得这很奇怪,因为我以前使用过那个可执行文件。所以我再次从网络上复制了两次,并使用FileAlyzer,我发现 3 个不同副本的 MD5 和 SHA1 哈希值不同。我在网络上的其他 PC 上进行了类似的测试,我可以复制故障。更糟糕的是,RAID BIOS 从未抱怨过任何错误!这让我相信控制器本身可能很糟糕。(注意:我不认为是网络,因为其他 PC 可以可靠地相互复制文件。)
但我的问题是:Windows 有哪些工具可以“证明”文件系统的行为可靠,RAID 还是其他?
例如,我购买了一个名为GoldMemory的工具,用于在构建新 PC 时运行详尽的内存测试。我不会相信一台新电脑,直到它在 GoldMemory 下 24 小时都没有出现内存错误。我还购买了 Steve Gibson 的SpinRite来测试单个 ATA 磁盘。
是否有我可以在 Windows 中运行的工具来测试 NTFS 文件系统,无论是否基于 RAID,它会反复读写并检查是否损坏?
我不能按原样信任我当前的服务器,如果我换掉组件来尝试修复,或者构建一个新系统,我想在押注农场之前合理地确定我的文件系统运行可靠。虽然我愿意相信品牌 RAID 控制器和像样的硬盘驱动器是可靠的,但我现在需要采用 Horatio Caine 的方法:“信任,但要验证”。
谢谢你的帮助!:-)
更新:
因此,我在服务器上(在 cygwin 中)运行了一些本地测试,以排除网络问题。这应该让您了解我正在与什么抗争。这个问题大部分时间都发生在大文件上。(下面是462MB。)
$ md5sum VMware-workstation-6.5.2-156735.exe
7bf6145eb7d3e4fbcc945d87017fb6bd *VMware-workstation-6.5.2-156735.exe
$ for (( c=1; c<=50; c++ )); 做 md5sum VMware-workstation-6.5.2-156735.exe;done
545c2f8e9363823af3aa703a1cbd35e3 *VMware-workstation-6.5.2-156735.exe
b47d4aa75aae27264cfd6396fbfe646a *VMware-workstation-6.5.2-156735.exe
b47d4aa75aae27264cfd6396fbfe646a *VMware-workstation-6.5.2-156735.exe
... etc... (repeats)
$ for (( c=1; c<=50; c++ )); 做 md5sum VMware-workstation-6.5.2-156735.exe;完成
9d2fbb3fa46194f6915d6328f0881a24 *VMware-workstation-6.5.2-156735.exe
9d2fbb3fa46194f6915d6328f0881a24 *VMware-workstation-6.5.2-156735.exe
...等...(重复)
$ for (( c=1; c<=50; c++ )); 做 md5sum VMware-workstation-6.5.2-156735.exe;done
512181c3838e91a02a92280462e2f4c3 *VMware-workstation-6.5.2-156735.exe
512181c3838e91a02a92280462e2f4c3 *VMware-workstation-6.5.2-156735.exe
...(repeats a dozen or so times, then changes!)
7a84da59a83f203506244e23507bb4df *VMware-workstation-6.5. 2-156735.exe
7a84da59a83f203506244e23507bb4df *VMware-workstation-6.5.2-156735.exe
...啊啊!
设置一个重复复制服务器上的文件并重新计算每个副本的校验和的 shell 脚本应该很容易。在它填满您的服务器后,您手动检查所有校验和。
我的经验是,外部写有 Promise 的突袭控制器在内部被破坏了。摆脱它。有时,即使是 Promise 控制器也只能进行驱动程序驱动的软件突袭。试试槟榔左右。
如果您计划进行突袭,请在您的数据上贴上价格标签。然后贴上几天不能工作的价格标签。然后检查好的突袭控制器的价格。
你不需要为 ram 测试工具花钱,因为memtest86 + 规则并且是免费的。要测试文件系统的完整性,您可以使用afick,它对我来说效果很好(但我在 Windows 上使用它的次数不多)。
你的驱动器是什么牌子的?先验,我会怀疑 Promise 卡。他们有着非常糟糕的产品的漫长而痛苦的历史,具有糟糕的性能、数据损坏、错误的驱动程序以及所有这些的各种组合。
你确定是RAID控制器?我遇到过与网络驱动程序/卡故障有关的类似问题。
您说其他 PC 可以相互复制文件,但这并不意味着服务器网卡(或驱动程序)没有问题。
Chkdsk 一直是我修复 NTFS 的第一线工具。装在盒子里,就像一个魅力。完全披露:我很少需要验证文件系统,所以我从不需要其他工具。
在我管理的大约 100 台服务器中,我需要使用一次,那次是由于 SAN 上的数据同步错误导致的问题,而不是 RAID 卡。我和其他人一样说放弃承诺卡并获得更好的东西。
尝试使用Robocopy复制大文件。