【IT168 专稿】众所周知,Google为了应付搜索引擎业务增长带来庞大的访问量压力,拥有一个高效的结构独特的信息基础架构,在整个Google信息基础架构中,磁盘当然是重要且不可缺少的一部分。这些磁盘的工作状态如何直接影响了整个系统在庞大的访问量压力下的服务性能。为此,Google收集了10万块磁盘在实际系统环境下的工作信息,并且对磁盘工作状态做了如下总结,其中很多观点似乎与我们的想象以及厂商的宣传有一些出入。
Google的使用报告认为,PATA和SATA磁盘驱动器是相同的驱动器,没有什么区别。更讽刺的是,Google认为采用廉价的磁盘存储数据,要比企业级用户使用的那些高成本的、具有相对较高的MTBF(平均无故障时间)的FC和SCSI磁盘更安全。
Google得出的让人惊讶的调查结果主要来自于以下5个方面:
• 制造商给出的MTBF规格的有效性
• 通过SMART统计出的有效率
• 工作量对磁盘寿命的影响
• 使用年限对磁盘故障的影响
• 温度对磁盘故障的影响
供应商的MTBF和磁盘AFR(平均故障率)
MTBF(平均无故障时间)是一个统计学的测量方法。当供应商承诺其产品的MTBF为300,000小时,对于一般使用PATA和SATA磁盘驱动器的用户,当他们使用大量的磁盘驱动器时,将有一半在第一个300,000小时的运转中出现故障。因此,MTBF并不能验证单个特别的磁盘驱动器来的可靠性。
非常理想的情况下,如果你有600,000块磁盘,MTBF规格是300,000小时,你的预期将是每小时坏一块磁盘驱动器。一年下来就将有8,760块磁盘损坏或者维持一个1.46%的AFR。Google的情况是这样吗?肯定不是。
在这张图上,我们看到在某一段时间,显示的AFR结果还有一些可以讨论的地方,磁盘也没有详细的划分故障细节,所以下面我们将从其他方面加以说明。
认识供应商的MTBF规格
供应商把它们产品的MTBF告诉我们之后,我们还需要知道什么吗?当然还有很多。因为供应商定义的故障和我们看到的故障是不一样的。如果供应商的MTBF能够达到的话,那么我们使用的磁盘产品还将可靠很多。
导致这个结果主要有两个原因:第一,供应商在进行磁盘寿命测试的时候非常关注哪些环境因素会对磁盘寿命造成影响,磁盘寿命测试基本在一个理想化的环境中进行,但是这些结果并不能反映出在实际应用环境中的使用情况。第二,供应商比较关注返修情况,而如果磁盘驱动器的返修在20-30%之间的话,供应商都会说没有发现问题,但对于磁盘使用者来说就完全不是这种情况了。
磁盘是由各个零件的组合而成,所以注定会导致故障时有发生,(例如独特的磁盘驱动器带有独特的控制器和线缆等等)...这许多的磁盘驱动器...将它们放在不同的测试环境中进行操作运转,我们观察到,如果被测试的磁盘驱动器的绿灯始终亮着,那么不久它就将出现故障。
因此,厂商给出的MTBF和其他存储性能统计量值一样,要想在实际应用中达到简直需要奇迹出现。
SMART能预警所有故障?
很多的行业都已经知道,SMART(自我监控、分析和报告技术)能够捕获磁盘驱动器上的数据,预知磁盘未来出现错误的可能,这样你就可以预先对其进行备份。
然而,SMART一直把焦点放在机械故障上,而大量的磁盘驱动器又是电子的,所以SMART不能够监控到一些突然发生故障的磁盘组件,例如电源故障。Google的研究小组发现有36%的磁盘故障不能在SMART的故障监控界面上显示出来。他们断定SMART对于预测单个磁盘驱动器故障时几乎起不到任何作用。所以在某些时候你的磁盘会在没有任何警告信息的前提下垮掉。
Google发现有四项关于磁盘故障的SMART参数可以帮助我们找到错误的一些关联信息:
• 扫描错误
• 重新分配数
• 离线重新分配
• 检验数
例如,通过第一次错误扫描,你会发现有些磁盘在接下来的60天里,要比普通磁盘发生故障的可能高39倍。其他三个相互关联的信息并不怎么显著,但是我们仍然觉得这些信息对以后的检测有很重大的意义。
注:SMART可以帮你找到一些存在的问题,但是也会遗漏点一些其他的问题,所以我们并不能完全的依靠它。所以你还是要有规律的去做备份,如果你发现磁盘出现以上一些小错误,你最好更换一个新的磁盘驱动器。
工作负荷越高,磁盘寿命越短?
如果是一个为企业工作的年轻的雇员人,你肯定相信超负荷的工作会让这个雇员提前死掉。对于磁盘工作状态与寿命之间的关系,我们习惯上也认为,磁盘在较大工作负荷下将提前到达寿命极限。实际情况是否如此呢?
Google的报告认为磁盘的工作量和故障率之间几乎没有任何关联。因为我们中的绝大多数人,包括企业IT的工作人员都没有一个合适的观点来评测我们的驱动器到底工作了多少,利用率也只是一个不太可靠的概念罢了。笔者对这个的定义一般是一块磁盘每周读写带宽的平均值,然后根据实际情况进行调整。因为新加入的磁盘往往要比陈旧的磁盘有更大的读写带宽。
在第一年的使用时间里,我们发现高利用率的磁盘的AFR确实是高于低利用率的磁盘。但是使用3年后,事实表现出来的结果却和我们期望的大相径庭,低利用率的磁盘的故障率却稍微高于高利用率的磁盘。
尽管在刚开始的使用中,高利用率的磁盘故障率远远的高于其他磁盘。但由于这些磁盘还处在保修期,我们可以很方便的更新新的磁盘。并且也不用担心每天备份到磁盘的数据和其他一些I/O密集的工作。使用三年后,低利用率的磁盘反而有更高的故障率,而这些磁盘大多数都已经过了保修期。
时间越长,故障率越高?
Google购买了大量相同型号的磁盘驱动器,但是仅仅过了几个月,就又添加了新型的磁盘类型。因此,他们的数据并没有直接用于计算磁盘使用年限导致的故障率。图表仍然是一个非常好的提供故障描述基线的方式,来衡量我们的磁盘。
当然,最终的AFR并不是平滑没有波动的,也不像供应商提供的MTBF值那样故障率那么少。
温度越高,磁盘故障率越高?
最让我们感兴趣的发现就是磁盘温度和磁盘死亡率之间的关系。Google小组以9个月为周期,每隔几分钟就就从SMART的记录上读取一次温度情况。从其图表的形状上看,磁盘故障率的大小并不随着平均温度的增加而增长。在许多较高温度的时候,只是有很少的影响,并且就算影响也是微小的。下面是他们之间的关系图表:
但是在很高的温度环境下。磁盘的使用年限就对结果有了很大的影响,下面是图表显示:
在较低和中等温度的范围内结果比较正常,但在较高的温度下的结果并不能作为高故障率的衡量标准。这是一个公平地,但令人惊讶的结果,这些表明数据中心和服务器的设计者们在设置操作系统对磁盘等设备温度控制的时候,要比以前认为的温度范围有太多的自由度。他们并不需要那么担心磁盘的温度变化,这对于互联网数据中心的管理员们无疑是个好消息。
结论:现实与理想的差距
- 磁盘的MTBF值往往都是大打折扣的阐述着磁盘的故障率。如果你计划的AFR要超过MTBF建议的50%以上,那你需要做大量的准备工作。
- 一般的SOHO的用户,由于数据量一般而言不会太大,因此要考虑换掉还在使用的已经超过3年时间的磁盘,或者至少要非常严肃的面对数据备份问题。因为磁盘的替换需要做大量的数据迁移工作。
- 企业级用户的磁盘采购者应该要求知道磁盘真正的MTBF值,然后记录下他们声称的值。比较典型的就是1,000,000小时以上。
- SMART能够在发生一些问题的时候给你发出警报,但并不是全部的问题,一些工业用户已经认识到这个问题,并逐步为这些预警信息做一些事情。
- 工作量与磁盘寿命的数值关系往往给一个体系架构的利用带来影响。例如MAID(大规模非活动磁盘阵列存储),它依靠给磁盘断电来提高磁盘使用寿命。Google调查人员没有研究其应用情况,但是如果是我来行销MAID,我一定会为一些硬件问题做大量准备。
- 计划或者销售磁盘冷却系统的人们要准备面临棘手的难题了。因为测试中冷却好像不能让磁盘使用更好,但它却实实在在的带来成本的增加。
- 磁盘在某些故障发生之前不会给我们任何的预警信息:一半以上的磁盘驱动器都可能在第一天出现故障坏掉,而其他另一半可能使用10年时间,但厂商提供的MTBF值却是相同的。
通过 “理想”情况界定,我们尝试着提出,如果随着时间的推移,磁盘故障的发生是均匀分布的,那么就将是每小时有一块磁盘出现故障。但是这是在一个非常大的假设面前。从Google的数据可以看出,在现实的世界中我们并不知道磁盘是如何发生故障的。我们也不能通过某种外在的因素来评测磁盘发生故障的概率。