我应该如何刻录硬盘驱动器?


41

Google 对硬盘驱动器故障进行了非常彻底的研究,发现大量硬盘驱动器在大量使用后的前三个月内会发生故障。

我和我的同事都在考虑,我们可以对所有新硬盘执行老化过程,从而有可能避免在新的未经测试的驱动器上浪费时间而为我们节省一些心痛。但是在实施老化程序之前,我们想从其他更有经验的人那里获得一些见解:

  • 在开始使用硬盘驱动器之前进行刻录有多重要?
  • 您如何实施老化过程?
    • 您在硬盘驱动器上刻录多长时间?
    • 您使用什么软件刻录驱动器?
  • 老化过程需要承受多少压力?

编辑:由于业务的性质,RAID大部分时间无法使用。我们必须依靠经常在全国范围内邮寄的单个驱动器。我们会尽快备份驱动器,但是在我们有机会备份数据之前,我们仍然在这里和那里仍然遇到故障。

更新

我的公司已经实施了一段时间的老化过程,事实证明它非常有用。我们会立即烧毁所有库存的新驱动器,从而使我们可以在保修到期之前以及将它们安装到新的计算机系统中之前发现许多错误。事实证明,验证驱动器已损坏也很有用。当我们的一台计算机开始出现错误并且主要是硬盘驱动器时,我们将在该驱动器上重新运行老化过程,并检查任何错误以确保驱动器确实是问题所在,然后再开始RMA进程或抛出RMA进程它在垃圾桶里。

我们的老化过程很简单。我们有一个带有许多SATA端口的指定Ubuntu系统,并且我们以读取/写入模式运行坏块,每个驱动器上有4次通过。为简化起见,我们编写了一个脚本,该脚本会打印“将删除所有驱动器中的数据”警告,然后在除系统驱动器之外的所有驱动器上运行坏块。


15
奇怪的是,您为什么要在全国范围内邮寄驱动器?听起来您可能是由于电击失败和邮政部门普遍处理不当而导致的驱动器故障,而不是由于老化所导致的原因。
Paperjam 2011年

6
@Lie Ryan:邮寄存储硬件仍然是最快的数据传输方式。互联网非常慢,如果您需要通过机构网络和防火墙,情况会变得更糟。
乔纳斯(Jonas)

4
@Lie Ryan:如果要处理政府分类的机密数据,SSH不会这样做。通常,包含该数据的计算机可能未连接到公共Internet。如果您要传输千兆字节的分类数据,邮寄加密驱动器是最有效的选择。
benzado 2011年

3
@Lie Ryan:很好。即使使用非常快速的Internet连接,您也要花一个月的时间才能交付7 TB(也就是说,如果您可以控制自己和接收方的吞吐量,那很奢侈)。使用UPS,第二天就可以使用7TB。
乔纳斯(Jonas)

5
一切都很好,除非您有移动团队在旅途中收集大量数据。这意味着您必须依靠酒店或移动互联网连接,而且您一次到位都不会超过8个小时。
菲尔(Phil)

Answers:


36

在开始使用硬盘驱动器之前进行刻录有多重要?

如果您有一个良好的备份和良好的高可用性系统,则不是很多。由于从故障中恢复应该非常容易。

您如何实施老化过程?您使用什么软件刻录驱动器?老化过程需要承受多少压力?

当我得到驱动器或新系统时,我通常会对其运行坏块。每当我从备用计算机堆中恢复计算机时,我都会运行它。像这样的命令(badblocks -c 2048 -sw /dev/sde)实际上每次将以不同的模式(0xaa,0x55​​、0xff,0x00)写入每个块4次。该测试不会测试大量随机读取/写入,但应证明每个块也可以写入和读取。

您也可以运行基准工具bonnie ++iometer。这些应该尝试给您的驱动器带来一些压力。即使尝试将驱动器最大化,驱动器也不应出现故障。因此,您不妨尝试看看他们可以做什么。我不这样做。当您在将来查看性能问题时,在安装/设置时获取存储系统的I / O基准可能非常有用。

您在硬盘驱动器上刻录多长时间?

我认为只运行一次坏块就足够了,但是我相信我有一个非常强大的备份系统,并且我的HA需求不是很高。我可以提供一些停机时间来恢复我支持的大多数系统上的服务。如果您如此担心,以为可能需要多次通过设置,那么您可能应该仍然具有RAID,良好的备份和良好的HA设置。

如果我很着急,我可能会跳过老化。我的备份和RAID应该没问题。


49

IMNSHO,您不应该依赖老化程序来清除损坏的驱动器并“保护”您的数据。开发此过程并实施该过程将花费时间,该时间可能会在其他地方得到更好的使用,即使驱动器通过老化,它可能仍会在数月后失败。

您应该使用RAID和备份来保护数据。一旦安装到位,就不用担心驱动器了。好的RAID控制器和存储子系统将具有“清理”进程,该进程每隔一段时间就会遍历数据并确保一切正常。

一旦解决了所有问题,就无需进行磁盘清理,尽管正如其他人所提到的那样,进行系统负载测试以确保一切都按预期工作不会受到损害。我完全不用担心单个磁盘。


正如评论中提到的,针对特定用例使用硬盘驱动器没有多大意义。运送它们很可能会导致数据错误,而这些错误在您进行老化时不会出现。

磁带介质的设计目的是随身携带。使用单个IBM TS1140驱动器可以获得250MBps(或高达650MBps压缩)的速度,它应该比硬盘驱动器快。而且更大-单个盒带最多可提供4TB(未压缩)。

如果您不想使用磁带,请使用SSD。它们可以比HDD更粗糙地处理,并且可以满足您迄今为止给出的所有要求。


毕竟,这是我对您的问题的回答:

  • 开始使用硬盘之前,先将其刻录在硬盘中有多重要?
    一点也不。
  • 您如何实施老化过程?
    • 您在硬盘驱动器上刻录多长时间?
      一两次运行。
    • 您使用什么软件刻录驱动器?
      一个简单的说,shred然后badblocks做。之后检查SMART数据。
  • 老化过程需要承受多少压力?
    没有压力太多了。您应该能够将任何东西扔到磁盘上而不会炸毁。

1
我对此帖子的唯一遗憾是,我只能对其投票一次。@Phil,您正在重新发明轮子。确保您不会因随机驱动器(或其他相关硬件)故障而丢失数据的方法是备份和RAID阵列。
罗伯·摩尔

8
我同意您不应该依赖它,但是在将其投入生产之前对系统运行扫描对我来说已经发现了一个潜在的问题。如果您并不着急,让计算机扫描一两天通常不会对您造成任何伤害。
Zoredache

7
该答案票数最高,但未能回答最多的问题。OP指出RAID是不可能的。如果“单个驱动器在全国范围内被邮寄”,则无法建立突袭。备份过程已经到位,但似乎OP希望找到任何东西来帮助节省时间,以防驱动器损坏。(注意:我与OP在同一家公司工作,所以我知道这种情况,一旦交付数据就将其复制到RAID中)如果您想在驱动器中进行刻录,假设情况如何?
jsmith

3
在这种情况下,问题应提供这种情况。用您的话来说,问题应该是“我们需要通过蜗牛邮件/货运发送硬盘驱动器。在将它们运送到最小化故障之前,我们应该如何进行老化测试?” 有趣的是,答案没有改变。发送一对驱动器!或者更好,使用磁带。磁带被设计为以这种方式使用,而不是HDD。更多信息将得出不同的答案。
MikeyB 2011年

2
磁带不能像硬盘一样快地写入数据吗?250MBps(未压缩)对您来说还不够?我要说的是,老化过程实际上并不能帮助防止用例出现故障。
MikeyB 2011年

8

根据您的说明,听起来没有任何老化过程对您有用。驱动器故障主要是由于机械因素,通常是热量和振动;不是因为某种隐藏的定时炸弹。“老化”过程会像其他任何事情一样测试安装环境。一旦您移动了东西,就回到了开始的地方。

但是这里有一些指针可能会帮助您:

笔记本电脑驱动器通常设计为比台式机驱动器更能承受震动和振动。出于这个原因,我在数据恢复商店工作的朋友总是将数据发送到笔记本电脑驱动器上的客户端。我从未测试过这个事实,但是在某些行业中这似乎是“常识”。

闪存驱动器(例如USB拇指驱动器)在您会发现的所有介质中具有最抗震的性能。如果使用闪存介质,则丢失传输中的数据的可能性甚至更低。

如果运送Winchester驱动器,请在使用前进行表面扫描。或者更好的是,只是不要使用它。取而代之的是,您可能希望将某些驱动器指定为“运送”驱动器,这种驱动器可以查看所有滥用情况,但您并不依赖这些驱动器来确保数据完整性。(即:将数据复制到驱动器上进行运输,然后在运输后进行复制,两面都非常校验和,诸如此类)。


“一旦移动了东西,就回到了开始的地方。” - 不对。磁盘的MTTF图如下所示:cs.cmu.edu/~bianca/fast/img13.png cs.ucla.edu/classes/spring09/cs111/scribe/16 / ...早期测试可以过滤为了排除很多有问题的驱动器,制造商实际上进行了这些压力测试以制造出更可靠的产品,但是在图形变平之前进行测试当然是不经济的。
Karoly Horvath 2011年

3
@yi_H:我认为tylerl暗示早期故障的原因可能是运输过程本身造成的(这并不令人难以置信,我希望看到一个绘制驱动器故障与邮件发送频率的图表),因此,如果您运送硬盘在全国范围内,MTTF将重置;因此,如果您每三个月发送一次驱动器,则您始终处于早期故障区域。
Lie Ryan

5

您的过程有误。您应该使用RAID阵列。在我工作的地方,我们制造了坚固的RAID阵列,这些阵列设计用于四处运输。这不是火箭科学。将驱动器震荡安装在带有大型橡胶隔振器的超大机箱中,将大大提高可靠性。(例如,希捷星座es驱动器的额定冲击力为300G,但只有2G振动,非运行状态:因此,运输箱需要对驱动器进行振动隔离。http://www.novibes.com/Products&productID=62http ://www.novibes.com/Products&productId=49 [part#50178])

但是,您确实要在测试硬盘中刻录,因此可以进行。

我曾在硬盘和刻录机等系统上工作,但发现了一些问题,但是...

为了加快PCB的生命周期测试以发现故障,没有什么能胜过某些冷/热循环。(运行热冷循环的效果更好...但是您很难这样做,尤其是对于HDD的存储库而言)

为您一次购买的驱动器数量准备一个环保的房子。(这些都是相当昂贵的,随处携带RAID阵列会便宜一些。)您不能无视测试室,而需要湿度控制和可编程斜坡。

在两个重复的温度斜坡中进行编程,分别降低到最低存储温度和最高存储温度,使温度梯度足够陡峭,从而使您的硬盘驱动器制造商的应用工程师感到不安。在12小时内进行3次冷热循环后,驱动器将很快发生故障。像这样至少运行12个小时。如果之后有任何工作,我会感到惊讶。

我没有想到这一点:在我工作过的一个地方,有一位生产工程师做到了这一点,要用相同的测试设备运送更多的产品,测试中的故障数量激增,但是到达的失败率几乎下降到了零。


5

我不同意所有的回答,这些回答基本上都表示“不要为老化而烦恼,要做好备份”。

尽管您应该始终进行备份,但是昨天我花了9个小时(除了平时的10个小时外)从备份中恢复,因为系统运行时未烧坏驱动器。

RAIDZ2配置(相当于RAID-6的ZFS)中有6个驱动器,并且在运行了大约45天的盒子中,有18个小时的驱动器中有3个驱动器失效。

我发现最好的解决方案是从一个特定的制造商那里购买驱动器(不要混搭),然后运行它们提供的工具来练习驱动器。

在我们的案例中,我们购买了Western Digital,并从可引导的ISO使用基于DOS的驱动器诊断。我们启动它,运行选项以将随机垃圾写入整个磁盘,然后运行简短的SMART测试,然后进行长时间的SMART测试。通常这足以清除所有不良扇区,读取/写入重新分配等。

我仍在尝试找到一种“分批”的不错的方法,以便可以一次在8个驱动器上运行它。可能在Linux或“ badblocks”中仅使用“ dd if = / dev / urandom of = / dev / whatever”。

编辑:我发现了一个更好的方法来'批量'它。我终于开始在我们的网络上设置PXE引导服务器来满足特定的需求,并注意到Ultimate Boot CD可以通过PXE引导。现在,我们周围有几台垃圾机器,可以通过PXE引导它们运行驱动器诊断程序。


3
你知道什么?回答问题且不向OP宣讲的答案。+1
elBradford

3
如果要将随机数据写入驱动器,请不要从/ dev / urandom中读取;它不像它的堂兄/ dev / random那样慢,但是仍然很慢,它并没有真正给您带来任何好处。相反,可以使用随机密钥(您可以从/ dev / urandom或/ dev / random获得)来设置纯dm-crypt映射,然后仅将dd / dev / zero放入映射的设备中。它的速度可能会快两倍到一个数量级。gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions “如何擦除具有加密级随机性的设备?” 有一个如何做到这一点的例子。
CVn

出色的建议@MichaelKjörling–
亚伦·德·布鲁因

3

在开始使用硬盘驱动器之前进行刻录有多重要?

这取决于。
是否在提供冗余(1、5、6、10)的RAID中使用它?不是特别的。
如果您使用它standstandone?一点点,但是至少在我看来,最好还是运行smartd或进行一些监视它。

这自然导致我回答“ 您如何实施老化过程? ”-我没有。
我不是尝试“刻录”磁盘,而是以冗余对的形式运行它们,并使用预测性监视(如SMART)来告诉我驱动器何时变得不稳定。我发现进行完全预烧(真正使用整个磁盘)所需的额外时间比处理磁盘故障和换出要花费的时间要多得多。
将RAID和良好的备份相结合,即使应对婴儿死亡率(或当硬盘开始老化时也无法解决浴缸问题的另一端),您的数据也应该非常安全。


1
如果由于驱动器不在一个固定的位置而无法对其进行监视,该怎么办?:)
jsmith

2
@jsmith-然后您将其发送给您通知,而不是从监视主机进行轮询-几乎没有任何情况您真正无法监视某些内容,只是有些情况需要一些创造性思考:)
voretaq7

2

Spinrite(grc.com)将读写驱动器上的所有数据。即使您不想使新驱动器发生故障,对新驱动器来说也是一件好事。在第4级运行需要很长时间,对于当前大小的驱动器通常需要几天的时间。我还要补充一点,它是非破坏性的。实际上,如果数据中有坏点,它将移动并恢复它。当然,您永远不会在SSD上运行它。


1

我敢肯定,每周一次的基准测试和错误检查将足以“烧入”硬盘。尽管自您发表文章以来,我从未听说过这样的事情。

引用自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.

总而言之,我个人认为这是一个坏主意。

编辑:搜索:http ://forums.storagereview.com/index.php/topic/27398-new-hdd-burn-in-routines/


0

首先,我同意其他张贴者的观点,即您的用例表明磁带驱动器将是更好的选择。

如果不可能,那么,如果您必须在全国范围内使用驱动器,那么似乎就无法选择使用真正的RAID,因为您将不得不运输更多的驱动器,从而增加了发生故障的风险。但是,如何使用简单的镜像方案发送一个驱动器并将另一个驱动器保留在源站点?

然后,如果驱动器到达失败,则可以制作并发送新副本。如果驱动器可以很好地到达,则可以重复使用备用驱动器-用于发送或备份原始数据。


0

您还没有真正说过为什么要运送驱动器-这仅仅是一种发送数据的方式,它们是否具有可以在PC中启动的完整的应用程序/操作系统映像,或者其他内容?

我同意其他答案,即RAID或备份比扫描更好,这是因为运送驱动器会引起机械问题。

一种更通用的表示方式是“依靠冗余数据来捕获和纠正错误”-为每组数据运送2个驱动器,或在单个驱动器上运送冗余数据。通过Parchive之类的工具,您可以为数据添加定义级别的冗余,即使大部分数据已损坏,也可以进行恢复。由于这些天的磁盘价格非常便宜,因此,购买比严格要求的磁盘更大的磁盘通常比扫描驱动器,运送替换驱动器或运送2个驱动器便宜。

这样可以防止驱动器发生非灾难性故障-但是,如前所述,最好不要重复使用已运送的驱动器,除非要运送它,例如,将其视为必须永久提取到“真实”驱动器中的磁带已安装且未在任何地方发货。

这应该使您可以传送大量数据(甚至是应用程序/ OS映像),并将磁盘错误的影响降低到经济可行的水平。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.