我想构建一个存储服务器并购买了10 x 2TB WD RED's. 在HDD's刚刚抵达。
在将真实数据复制到磁盘之前,你们有没有什么工具可以用来检查坏驱动器或最好地防止婴儿死亡?
是检查每个单个HDD还是ZFS raid-z2通过复制大量数据来测试数组()更好?
eww*_*ite 24
这些是新磁盘。他们要么会失败,要么不会。通过使用 ZFS 文件系统,您已经向前迈进了一大步,这将使您深入了解您的 RAID 和文件系统健康状况...
除了构建阵列之外,我不会做任何事情。这就是冗余的重点。您将无法使用其他列出的方法引起驱动器故障。
Jen*_*man 16
2个月前我也有同样的问题。发送故障磁盘后,更换磁盘在 3 天后在我的 NAS 中出现故障。所以我决定现在在投入生产之前测试新的替代品。我不会测试我购买的每一个新磁盘,只测试我不完全信任的“翻新”磁盘。
如果您决定要测试这些磁盘,我建议您在全新硬盘上运行坏块扫描和扩展 SMART 测试。
在 2TB 磁盘上,这需要长达 48 小时,badblock 命令用一个模式将磁盘写满,然后再次读取块以查看该模式是否确实存在,并将以 4 种不同的模式重复此操作。
这个命令实际上可能不会在新磁盘上显示任何坏块,因为现在磁盘会重新分配坏块。
所以在此之前和之后,我运行了一个智能测试,并检查重新分配的和当前挂起的扇区数。如果其中任何一个已经上升,则您的磁盘已经有一些坏块,因此可能被证明是不可信的。
在此之后,我再次运行扩展的 SMART 测试。
您可能想先安装 smartctl 或 smartmontools。
警告, badblocks -w 标志将覆盖磁盘上的所有数据,如果您只想进行读取检查而不覆盖磁盘,请使用badblocks -vs /dev/sdX
sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX
Run Code Online (Sandbox Code Playgroud)
如果在此之后您的智能值看起来没问题,我会信任磁盘。
要了解每个智能值的含义,您可以开始查看这里
http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology
小智 11
您可以使用 Bonnie++ 进行测试。它可以完美地模拟文件服务器行为模式。
例如:
# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300
Run Code Online (Sandbox Code Playgroud)
测试将作为用户“nobody”运行,并将在 /home/tmp 下的 100 个自动创建的目录中创建/重写/删除 100*1024 个文件,每个文件从 200 到 150000 字节。并且测试次数 = 300。您可以玩转文件计数/大小和测试重复次数。
小智 10
我在一家日复一日进行此类测试的公司工作。是的,我们会测试我们购买的每一个硬盘。我们的过程从通过名为 HDAT2 的免费基于 DOS 的程序运行驱动器开始。它可以免费下载。它可以访问 SMART 和驱动器的一些其他功能,而这些功能在 Windows 环境中是无法访问的。根据那里的结果,我们将通过几种不同的专用硬件线之一运行它们,但在核心它们大多只运行 SMART 短自检、长测试、安全擦除和全部读取以验证扇区。我的建议是运行整个磁盘的安全擦除,然后运行所有读取,然后是 SMART 简短自检。此顺序很重要,因为如果在测试开始时运行简短的自检可能找不到任何东西,但在完全写入和读取光盘后,它可能会找到一些东西。希望这可以帮助。
我通常只是做一个完整的 RAID 初始化,并在适用的情况下,在此期间开始填充文件系统,一直知道可能由于死驱动器而出现问题。这样,我就不会浪费任何时间进行一些无论如何都非常不可靠的测试,而且我会立即捕获真正的弱驱动器。在那之后,由于“婴儿死亡率”,驱动器故障的可能性仍然会有所增加,但没有切实可行的方法来消除这种情况。
实际上,我在 RAID 中使用的最后几百个磁盘在运行的第一年都没有出现任何问题。