我想build立一个存储服务器,并购买了10个2TB的WD RED的。 硬盘刚刚到达。
在将真实数据拷贝到磁盘之前,是否有任何工具可用于检查坏的驱动器或最好地防御婴儿死亡率?
检查每个硬盘还是通过复制大量数据来testingarrays(ZFS raid-z2)会更好?
提前感谢您的build议!
两个月前我有同样的问题。 发送失败的磁盘后,3天后NAS中的replace磁盘失败。 所以我决定在投入生产之前testing新的替代品。 我不会testing每个购买的新磁盘,只能在“翻新”的磁盘上进行testing,而我并不完全相信。
如果您决定要testing这些磁盘,我会build议在全新的硬盘上运行一个坏块扫描和一个扩展的SMARTtesting。
在一个2TB的磁盘上,最多需要48个小时。badblock命令用一个模式写满了磁盘,然后再次读取这个模块,看看模式是否真的在那里,然后用4种不同的模式重复这个模式。
这个命令实际上可能不会在新磁盘上显示任何坏块,因为现在磁盘重新分配坏块。
所以在此之前和之后,我运行了一个智能testing,并检查重新分配和当前挂起的扇区数。 如果其中任何一个已经上涨,你的磁盘已经有一些坏块,所以可能certificate不值得信任。
在此之后,我再次运行扩展的SMARTtesting。
您可能需要先安装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
如果在这之后你的聪明的价值似乎确定我会信任磁盘。
要知道每个智能价值是什么意思,你可以开始在这里看
http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology
这些是新的磁盘。 要么他们会失败,要么他们不会。 通过使用ZFS文件系统,您已经迈出了一大步, 这将使您深入了解您的RAID和文件系统的健康状况。
除了构build数组之外,我不会做任何事情。 这是冗余的重点。 其他列出的方法不会导致驱动器故障。
您可以使用Bonnie ++进行testing。 它可以完美地模拟文件服务器的行为模式。
例如:
# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300
testing将以“nobody”用户身份运行,并将在/ home / tmp下的100个自动创build的目录中创build/重写/删除100 * 1024个文件,每个文件从200到150000字节。 和testing数量= 300.你可以玩文件数量/大小和testing重复次数。
我通常只是做一个完整的RAID init,并在适用的情况下,在此期间开始填充文件系统,并始终知道可能由于死盘而导致问题。 这样,我不会浪费任何时间进行某种非常不可靠的testing,我会立刻赶上真正的弱点。 此后,由于“婴儿死亡率”,驾驶失败的可能性仍然会有所提高,但没有切实可行的办法来消除这种情况。
在实践中,我在RAID中使用的最后几百张磁盘在操作的第一年中没有任何问题。
我为一家每天做这种testing的公司工作。 是的,我们testing每一个我们购买的硬盘驱动器。 我们的stream程开始于通过一个名为HDAT2的免费的基于DOS的程序来运行驱动器。 它的免费下载。 它可以访问SMART以及Windows环境中无法访问的某些其他驱动器function。 根据不同的结果,我们将通过几种不同的专用硬件中的一种来运行它们,但是它们的核心主要是运行SMART短自我testing,长testing,安全擦除和全部读取来validation扇区。 我的build议是运行一个完整的磁盘安全擦除,然后运行一个全部读取,然后SMART短自我testing。 这个顺序是重要的,因为如果在testing开始时运行一个简短的自我testing,可能找不到任何东西,但在完整的写入和读取光盘之后,它可能会find一些东西。 希望这可以帮助。
您可以使用制造商testing套件,或类似SpinRite扫描整个磁盘。 查看SMART值,寻找坏道和其他老龄/失败迹象也是一个好主意。
如果你真的想testing,那么使用badblocks
写testing。 它会将数据模式写入磁盘然后读取它们来检查。 在这期间,它会压迫你的磁盘一点点。 在我看来,如果它成功运行,你可以信任磁盘。
但是我认为ZFS和良好的备份是足够的。