谷歌对硬盘故障进行了非常彻底的研究 ,发现大部分硬盘在大量使用的前三个月内出现故障。
我和同事们都认为我们可以为我们所有的新硬盘实施一个老化的过程,这可能会让我们因在新的未经testing的硬盘上浪费时间而感到心痛。 但是在我们实施一个老化的过程之前,我们想从其他更有经验的人那里得到一些启示:
编辑:由于业务的性质,大部分时间不可能使用RAID。 我们不得不依靠那些经常在全国邮寄的单一驱动器。 我们尽快备份驱动器,但在我们有机会备份数据之前,我们仍然会遇到各种各样的故障。
我的公司已经实施了一段时间的老化过程,而且已被certificate是非常有用的。 我们立即刻录所有库存的新驱动器,使我们能够在保修期满之前以及在将其安装到新的计算机系统之前发现许多错误。 validation驱动器损坏也certificate是有用的。 当我们的一台电脑开始出现错误而硬盘驱动器是主要的嫌疑人时,我们将重新运行该驱动器上的老化过程,并在启动RMA过程或抛出之前查看任何错误以确保驱动器实际上是问题它在垃圾桶里。
我们的烧录过程很简单。 我们有一个带有大量SATA端口的指定的Ubuntu系统,我们在读/写模式下运行坏块,每个驱动器上有4次通过。 为简化操作,我们编写了一个脚本,用于打印“数据将从您的所有驱动器中删除”警告,然后在系统驱动器以外的每个驱动器上运行坏块。
在开始使用硬盘之前,刻录硬盘有多重要?
如果你有一个很好的备份和高可用性的系统,那么不是很多。 由于从失败中恢复应该很容易。
你如何实现一个老化过程? 你用什么软件刻录驱动器? 老化过程有多大压力?
我通常会在驱动器或新系统上运行badblocks ,当我得到它。 每当我从备用堆中重新启动计算机时,我都会运行它。 像这样的命令( badblocks -c 2048 -sw /dev/sde
)实际上每次都会以不同的模式(0xaa,0x55,0xff,0x00)向每个块写入4次。 这个testing不会做任何事情来testing大量的随机读取/写入,但是它应该certificate每个块都可以被写入并读取。
你也可以运行bonnie ++或者是基准testing工具iometer 。 这些应该试图强调你的驱动器一点。 即使您尝试将其最大化,驱动器也不应该失败。 所以你不妨试试看看他们能做些什么。 我不这样做。 在安装/设置时获得存储系统的I / O基准testing可能在将来考虑到性能问题时非常有用。
你在硬盘里烧了多久?
在我看来,单一的坏块就足够了,但我相信我有非常强大的备份系统,而我的医pipe局的需求也不是那么高。 我可以承受一些停机时间来恢复我支持的大多数系统的服务。 如果你这么担心,那么你认为可能需要多路设置,那么你可能应该有RAID,良好的备份和一个好的HA设置。
如果我匆忙,我可能会跳过一个老外。 我的备份和RAID应该没问题。
IMNSHO,你不应该依靠一个老化的过程来淘汰坏的驱动器和“保护”你的数据。 开发这个程序并实施它将需要花费时间,在其他地方可以更好地使用,即使一个驱动器通过烧机,它可能在几个月后仍然失败。
您应该使用RAID和备份来保护您的数据。 一旦到位,让它担心驱动器。 好的RAID控制器和存储子系统将会每隔一段时间都会有一些“擦洗”的过程,以确保一切都很好。
一旦这一切都照顾,没有必要做磁盘擦洗,虽然正如其他人所说,做一个系统负载testing,以确保一切正常,如你所期望的伤害。 我根本不用担心个别磁盘。
正如在评论中提到的那样,在您的特定用例中使用硬盘驱动器没有什么意义。 运送它们时,更有可能导致数据错误,而不会在那里,当你做了烧机。
磁带媒体被devise成运输。 使用单个IBM TS1140驱动器可以获得250MBps(或高达650MBps的压缩),这应该比硬盘更快。 还有更大 – 单个墨盒可以提供高达4TB(未压缩)。
如果您不想使用磁带,请使用SSD。 他们可以被对待比硬盘更粗糙,并满足您迄今为止给出的所有要求。
毕竟,这是我对你的问题的答案:
shred
和badblocks
就可以。 之后检查SMART数据。 鉴于你的澄清,这听起来不像任何老化过程将对你有任何用处。 驱动器主要由于机械因素(通常是热量和振动)而失败; 不是因为任何一种隐藏的定时炸弹。 “老化”过程像其他任何事情一样testing安装环境。 一旦你移动的东西,你回到你开始的地方。
但是这里有几点可以帮助你:
笔记本电脑驱动器通常被devise为比台式机驱动器承受更多的冲击和振动。 因为这个原因,在数据恢复店工作的朋友总是将数据发送到笔记本电脑驱动器上的客户端。 我从来没有testing过这个事实,但在某些行业似乎是“常识”。
闪存驱动器(例如USB拇指驱动器)是您find的任何介质中最耐冲击的设备。 如果您使用闪存介质,则更不可能在传输过程中丢失数据。
如果您运送Winchester驱动器,请在使用前进行表面扫描。 或者更好的是, 不要投入使用。 相反,您可能希望将某些驱动器指定为“传送”驱动器,这些驱动器会查看所有滥用情况,但是您并不依赖数据完整性。 (即:将数据复制到驱动器上进行装运,装运后复制,两边都有校验和,这种事情)。
你的过程是错误的。 你应该使用RAIDarrays。 在我工作的地方,我们制造了坚固的RAIDarrays,专门用来运输。 这不是火箭科学。 使用大型橡胶隔振器将驱动器安装在超大shell中将大大提高可靠性。 (希捷Constellation-es驱动器,额定为300G冲击,但只有2G振动,非操作:所以运输箱需要振动隔离驱动器。http://www.novibes.com/Products&productID=62或http ://www.novibes.com/Products&productId=49 [part#50178])
但是,你真的想在testing硬盘驱动器,所以在这里。
我已经在像硬盘驱动器的系统上工作,并发现一些问题,但…
为了加速PCB的生命周期testing带来的故障,没有什么比一些冷热循环。 (运行冷热循环的效果更好……但是要做的更难,尤其是硬盘组合)
让你自己的环境室一次性获得的驱动器数量大。 (这些都非常昂贵,运行RAIDarrays会更便宜)您不能吝啬testing室,您将需要湿度控制和可编程的坡道。
用两个重复的温度斜坡编程,直到最小的存储温度,直到最大的存储温度,使斜坡足够陡峭,使硬盘驱动器制造商的应用工程师不满。 在12小时内的3个冷热循环应该会看到驱动器发生故障。 像这样至less运行12个小时。 如果之后有任何工作,我会感到惊讶。
我没有想到:在我工作的一个地方,我们有一个生产工程师做了这个,为了获得更多的产品与相同的testing设备一起运输,testing中的故障大大增加,但到达率死亡率降到了实际零。
我不同意所有的答案,基本上说“不要刻意烧伤,有好的备份”。
虽然你应该总是有备份,但是我昨天花了9个小时(在我通常的10个小时的class之上),从备份中恢复,因为系统运行着没有被烧毁的驱动器。
在RAIDZ2configuration中有6个驱动器(ZFS相当于RAID-6),并且在运行大约45天的盒子上,在18小时的过程中有3个驱动器死亡。
我find的最好的解决scheme是从一个特定的制造商那里购买驱动器(不要混合搭配),然后运行他们提供的用于锻炼驱动器的工具。
在我们的例子中,我们购买Western Digital,并使用可启动的ISO使用基于DOS的驱动器诊断。 我们启动它,运行选项,将随机垃圾写入整个磁盘,然后运行SMARTtesting,然后运行SMARTtesting。 这通常足以清除所有的坏扇区,读/写重新分配等。
我仍然试图find一个体面的方法来“批量”,所以我可以一次运行8个驱动器。 可能只是在Linux中使用'dd if = / dev / urandom = / dev / whatever'或'badblocks'。
编辑:我发现了一个更好的方式来“批”它。 我终于在我们的networking上设置了一个PXE启动服务器来解决特定的需求,并且注意到Ultimate Boot CD可以被PXE启动。 我们现在有几台垃圾机,可以通过PXE启动来运行驱动器诊断。
在开始使用之前,在硬盘上刻录它有多重要?
这取决于。
如果您在提供冗余(1,5,6,10)的RAID中使用它? 不是特别的。
如果你使用standaolone? 有一点,但是你最好跑smartd或者其他东西来监控它,至less在我看来。
这自然会导致我回答“ 你如何实施一个老化过程? ” – 我不知道。
我不是试图“烧入”磁盘,而是使用冗余对运行它们,并使用预测性监视(如SMART)告诉我驱动器何时变得不稳定。 我发现,进行完全烧录(真正运行整个磁盘)所需的额外时间要比处理磁盘故障和换出更为昂贵。
结合RAID和良好的备份数据应该是非常安全的,即使在处理婴儿死亡率的时候(或者当你开始驱赶死亡的时候,浴缸的另一端就会治好)
Spinrite(grc.com)将读取和写回驱动器上的所有数据。 即使不试图使其失败,对于新驱动器也是件好事。 在第四级运行需要很长的时间,通常需要几天的时间来运行当前的驱动器。 我还要补充一点,这是非破坏性的。 事实上,如果数据有问题,它会移动并恢复。 当然,你永远不会在SSD上运行它。
我确信每周一次的基准testing和错误检查就足以在硬盘“烧入”了。 虽然从你的post我从来没有听说过这样的事情。
从Stroagereview.com上的“6_6_6”引用
1. Connect the drive to a running system. Read SMART values. 2. Do a SMART short self test. Do a SMART long self-test. 3. Zero fill / Wipe the drive with the manufacturer's utility. Entire drive. 4. Run HDTach full read/write. Everest / Sandra, etc all have stress tests. Run hard drive part continously for hours. 5. Run Victoria for Windows Read/Write test and make sure no slow sectors. 6. Drop to DOS. Run MHDD, run a LBA test and see check for slow sectors. Run Read/Write/Verify test. Run drive internal ATA secure erase command. 7. Do a full format. 8. Compare SMART values. If no anomalies, all good to go. Install your OS and continue.
总之,我个人认为这是一个坏主意。
编辑:Scource: http ://forums.storagereview.com/index.php/topic/27398-new-hdd-burn-in-routines/
首先,我同意其他海报,您的使用案例表明,磁带驱动器将是更好的select。
如果这是不可能的,如果你不得不在全国范围内驾驶,真正的RAID似乎不是一个select,因为你必须有更多的驱动器运输,增加了失败的风险。 但是,简单的镜像scheme,发送一个驱动器,并保持另一个在源站点?
然后,如果驱动器在到达时失败,则可以制作并发送新的副本。 如果硬盘到达良好,备用可以重新使用 – 用于发送或备份原始数据。
你还没有真正的说过驱动器为什么要发货 – 这只是一种发送数据的方式,它们是否有完整的应用程序/操作系统映像,可以在电脑中启动,或者其他的东西?
我同意RAID或备份比扫描更好的其他答案,因为运送驱动器导致机械问题的风险。
一个更通用的方法是“依靠冗余数据来捕获和纠正错误” – 为每组数据发送2个驱动器,或者在单个驱动器上发送冗余数据。 就像Parchive一样,您可以为数据添加定义的冗余级别,即使大部分数据损坏,也能恢复。 由于目前磁盘相当便宜,购买比严格要求更大的磁盘通常比扫描驱动器,运送replace驱动器或运送2个驱动器便宜。
这样可以防止驱动器发生非灾难性故障 – 但是,如前所述,除了运输之外,最好不要重新使用运输驱动器,即将其视为磁带,必须将其提取为永久性的“真实”驱动器安装和不运送任何地方。
这应该允许您发送大量的数据(甚至是应用程序/操作系统映像),并降低磁盘错误对任何经济水平的影响。