通常的说法是,机械硬盘的理论寿命大概有3万小时以上,一般硬盘一直开机工作(例如网站服务器的硬盘),3年就会寿终正寝,如果正常使用,6、7年应该 没有问题。不过,并没有人对硬盘的寿命进行过理论性的分析,也没人公布类似的研究成果,直到最近,一个名为Backblaze的公司发布了一项报告,通过大量数据来分析硬盘的使用寿命,Backblaze是一家在线备份服务提供商,成立已经超过五年,现在手里有超过2.5万块硬盘正在运行,因此有了足够的数据可以统计出硬盘的寿命。
需要指出的是,这些硬盘都是24×7不间断运行的,还组建了RAID阵列,但使用的都是普通消费级产品,而不是企业级的、监控级的,只是使用软件冗余来 保护数据,因此本文中的统计情况都代表了持续运行下的硬盘表现,普通用户手中的至少得延伸3倍(那也是每天跑8个小时)。
在具体展开之 前,先解释一下故障率。你可能会觉得100%的故障率就是最糟糕的,那可大错特错了。假设你有100块硬盘,一直都很可靠,然后过了半年突然全部挂掉了, 那年故障率应该是多少?这时候你每年得两次全部换新,也就是需要200块新硬盘,因此年故障率为200%。
要是每小时坏一块硬盘呢?年故障率就是876000%!
Backblaze历年使用的硬盘数量
浴盆曲线(Bathtub Curve):工程师用这个名词表示产品预期故障率随时间的变化情况。浴盆曲线是指产品从投入到报废为止的整个寿命周期内,其可靠性的变化呈现一定的规 律。实践证明大多数设备的故障率符合浴盆曲线,曲线的形状呈两头高,中间低,具有明显的阶段性,可划分为三个阶段:早期故障期,偶然故障期,严重故障期。 浴盆曲线是指产品从投入到报废为止的整个寿命周期内,其可靠性的变化呈现一定的规律。
一般来说,产品故障来自三个方面:1、出厂缺陷,几乎很快就会导致产品坏掉;2、随机故障,基本上是稳定的;3、零部件磨损故障,使用时间越长越容易出现。
三者综合,就会形成一条浴盆曲线。
硬盘驱动器故障符合浴盆曲线
理论和事实符合得非常好。以下就是Backblaze硬盘每个季度的硬盘故障率统计:
前四年硬盘驱动器的故障率
最初18个月(六个季度),故障率一直在5%上下,之后一年大幅降低,然后在进入第三个年头的时候急剧增加,达到了10-15%。
这说明,硬盘如果连续使用,有很大的几率在三年后出问题。
平均预期寿命:
人的平均预期寿命这个说法大家经常会听到,但你可能并不清楚它到底代表什么。假如说2010年全球新生儿的平均寿命为67.2岁,那么等大概一个世纪这 些人全部去世之后,他们的平均死亡年龄就是67.2岁。当然,可能有些人出生没多久就夭折了,也有些人活到了130岁。
硬盘也是如此。
硬盘存活率:
Backblaze对自己的硬盘统计后发现:
- 头一年半内,每年有5.1%的硬盘挂掉。
- 接下来的一年半里,这个比例降至仅仅大约1.4%。
- 再往后的三年中,故障率窜升至11.8%。
减去这些牺牲的,剩下的在总量中的比例就是硬盘存活率。
前四年硬盘驱动器的故障率
其实单看上述图表很容易误导,似乎硬盘很快就要全部没法用了,但注意Y轴存活率的起点是70%,而换成0的话是这个样子的:
前四年硬盘驱动器的存活率
这就是说,连续运行四年之后,仍有80%的硬盘一切正常。
硬盘到底能用多久?
五年之后会怎么样?这方面的数据实在匮乏,网上基本搜不到有用的,Backblaze也需要继续观察下去才行。只有其它类似但运营时间更长的公司/机构慷慨一些,才能告诉我们更多。
但是如果纯粹在理论上预测呢?将上图的曲线延续下去会是这样的:
前六年硬盘驱动器的存活率
换言之,如果维持后期的故障率不变,那么六年后将有一半的硬盘挂掉,或者说还剩下一半是正常的,又或者说你的硬盘有一半概率能连续跑六年。