在大规模IT安装中组件故障成为一个越来越大的问题,因为单集群中组件的数量已经接近百万。
在本文中,我们提供和分析了很多大规模生产系统中的磁盘替换的数据,其中涉及高性能计算站点和因特网服务站点。统计数据涉及大约100000个磁盘,有些涉及整整五年的生命周期。统计数据包含SCSI和FC驱动,以及SATA接口。在他们的数据表中指出的平均无故障时间(MTTF)的范围从1000000到1500000,这意味着名义年故障率最大为0.88%。
我们发现实际上年磁盘替换率一般得增加1%,普遍来说是2-4%,某些得增加13%。这意味着实际的磁盘替换进程与依照数据表MTTF预测的进程完全不同。
基于磁盘替换记录我们还发现,该故障率不是恒定的,随着时间的增长而增长,像儿童夭折概率一样.
我们看到了一个显著的早发性磨损退化曲线。
也就是说,更换率在5年的标称寿命内,往往没有象设定那样随着年龄的不断增长。
有趣的是:我们观察到SCSI,FC和SATA驱动器之间的替代率差别不大,
潜在的迹象表明磁盘的独立危险因素,如运行条件影响替代率超过组件的其它因素。
在另一方面,我们只见过一例客户因为媒体的错误率高拒绝了整个一个批次的硬盘,
这个问题出现在SATA磁盘上.
更换时间,故障间隔时间,都不能很好的建立出一个指数模型 .
并现出显著时间相关信,包括自相关和远距离依赖
尽管工业界和学术界共同的辛苦努力,高可靠性在大规模IT系统中仍然是一个很大的挑战,灾难预防和实际的灾难成本组成总拥有成本(total cost of ownership)的很大部分。随着更大的服务器集群出现,维持高等级的可靠性和可用性对很多站点来说是一个日益严重的问题,这些站点涉及高性能计算系统和因特网服务提供商。出于以下原因,特别让人担忧的是存储系统的可靠性。第一,存储故障不仅会造成数据暂时不可用,而且更糟糕的将会导致数据永久丢失。第二,技术趋势和市场力量将会组合起来使得未来存储系统故障将会更频繁发生[24]。第三,存储系统在现代大规模IT部署中已经增长到史无前例的规模,包含数以千计的存储设备,这使得组件故障成为常态而不是异常[7]。
因此大规模IT系统需要更好的系统设计和管理来处理更频繁的故障。例如,可以预见为特定故障模式设计更高等级的冗余[3,7]。这样的设计和管理系统基于非常简单的组件故障和修复模型[22]。更多的认识存储故障过程的统计特征可能会使研究者和设计者能够开发出新的、更可靠的和更可用的存储系统。
【译者注:总拥有成本(total cost of ownership)是一种在整个企业范围内长期考虑企业整个成本的一种全局性的方法。它是定性分析机构的信息系统的效能的一种定量化的手段,是一种有助于机构全面彻底分析、评价、管理和降低自己的成本的一套方法和建模工具,从而提高整个IT投资的价值,使IT更好地支持业务。】
很不幸,实际系统中磁盘故障的很多方面并没有被很好的理解,可能是因为这些系统的拥有者不情愿公布故障数据或者没有收集这些数据。结果,实践者经常得依赖供应商指定的参数,例如平均无故障时间(MTTF),来模型化故障过程,虽然很多人怀疑这些模型的准确性[4,5,33]。太多的学术界和工业界的研究是基于臆想的数据和粗略的计算,而不是经验数据[28]。
本文的工作是一个更广泛的研究计划的一部分,这个研究计划的长期目标是通过收集、分析和公开大规模生产系统的真实故障数据来提供一个对系统故障更好的理解。我们已经向很多大规模生产站点诉说了我们的请求,其中很多答应提供他们系统的故障数据。
在本文中,我们对收集到的七个数据集做了分析,主要关注存储相关的故障。这些数据集来自大规模生产系统,涉及高性能计算站点和因特网服务站点,主要包括硬件替换日志。这些数据集的持续时间从一个月到五年不等,总共包含至少四个供应商的超过100000个磁盘驱动器。这些数据中的磁盘驱动包含SCSI和FC接口,这两种通常来说代表磁盘驱动中最可靠的类型,也有SATA接口,通常用于桌面和近线系统(nearline systems)。虽然100000个磁盘驱动器相对于以前公布的研究是一个很大的采样,但是与2006年估计的三千五百万个企业磁盘驱动器和总共生产的三亿个磁盘驱动器相比只是很小的采样[1]。诸如由于生产线改变引起的批量次货的现象可能需要更大的数据集才能完整的描述。
【译者注: 近线存储( near-online storage)指的是存放在移动媒体上的在站存储数据。】我们分析了数据三个不同的方面。在第三章,我们对磁盘的替换频率和其它硬件的替换频率做了比较。在第四章,我们使用现实中的数据对磁盘替换率做了量化分析,与磁盘供应商的预测和模型做了比较。在第五章,我们分析了磁盘替换率的统计特征。我们研究了磁盘替换之间的相关性,鉴别了替换时间的经验分布的关键属性,并经将我们的结果与通常的模型和假设做了比较。第六章提供了相关工作的综述,第七章做了总结。
表 1: 七个故障数据集的综述。注意,表中出现的磁盘数量指的是数据收集结束时系统中磁盘驱动器的数量。对于一些系统,在数据收集过程中,磁盘驱动器的数量是变化的,在分析中,我们做了解释。磁盘参数10K和15K指的是以每分钟旋转数表示的转速;没有标记10K和15K的磁盘可能是7200rpm。
|
虽然磁盘故障经常被假设为简单的故障-停止(fail-stop)模型(也就是说通过一个简单的检测方法,磁盘要么正常工作要么完全故障[22,24]),但是现实中的磁盘故障复杂很多。例如,磁盘驱动器可能发生潜在的扇区错误或者瞬时的性能问题。通常来说,将问题的根源正确地归于特定的硬件是很难的。
我们的工作基于硬件替换记录和日志,也就是说,我们关注导致客户认为磁盘已经永久故障并且替换掉它的条件。我们分析了从很多从大规模生产系统收集的记录,其中包含每个磁盘被替换的记录。为了正确的阐述我们工作的结果,理解数据产生的过程是至关重要的。当磁盘驱动器被认定是某问题的“嫌疑犯”之后,运维人员(或者计算机系统自己)将对该磁盘驱动器做一系列测试来评估它的状态。如果该磁盘的状态被认定为客户所定义的有问题的,那么这个磁盘就会被替换掉,硬件替换日志就会添加对应的条目。
务必注意,对于磁盘驱动器是否有问题并没有一个统一的定义。特别的,客户和供应商可能使用不同的定义。举例来说,客户通常的方法是读所有的扇区,看看是否有任何读错误,如果某操作的时间超过特定的阈值,那么就断定这个磁盘有问题。这种测试方式的结果依赖于阈值的选择。很多站点都是抱着“宁可事先谨慎有余,不要事后追悔莫及”的心态,甚至进行更严格的测试。结果会出现这种情况:客户声称磁盘故障了,然而制造商认为是正常的。也有可能客户对“故障”的定义并不满足制造商承诺的稳定性预估中的定义。实际上,某个磁盘供应商声称客户退回的43%的硬盘都是没有任何问题的[ 1]。
务必注意,磁盘故障行为依赖于操作环境,不仅仅是组件等级的因素。举例来说,故障率受环境因素影响,例如温度、湿度、数据中心处理流程、工作负载和“占空比”或者启动时间模式。
我们还想指出磁盘驱动器的故障行为即使在相同的磁盘型号下也可能是不同的,因为磁盘是组装的,部分流程可能改变。这些改变可能改变磁盘的故障行为,例如驱动器固件的改变或者硬件组件甚至组装线的改变。这种影响经常被称为批次或者年份的影响。一个坏批次可能导致异常的高磁盘故障率或者异常的高介质错误率。举例来说,在HPC3数据集中(表 1)客户在2006年10月发现写操作高频率介质错误后替换掉了11000个SATA磁盘驱动器。虽然经过一年的协商处理后,客户和供应商一直认为这些驱动器并不符合保证条件。事故被归因于缓冲设施故障导致的无法承受的高负载。在数据中,这些磁盘驱动器的替换并没有被记录为故障。
在我们的分析中并没有深入研究批次的影响。我们报告一组客户的磁盘替换率的实地经验。客户通常没有判断某些磁盘来自相同或者不同批次所需的必要信息。因为我们的数据涵盖大量的磁盘驱动器(超过100000个),来在不同的客户和系统,所以我们假设这些数据也覆盖不同的供应商,型号和批次。因而我们认为我们的结果不会因为“坏批次”而存在显著偏差。然而,我们要警告读者不要假设所有的磁盘行为完全相同。
磁盘厂商通过年故障率(AFR)和平均无故障时间(MTTF)这两个相关测量来指定产品的可靠性,年故障率指的是测试中故障磁盘的百分比扩展到一年的估计。新产品的AFR通常是基于应力加速寿命试验或者早期产品的实际数据的估计[2]。MTTF是用每年通电时间除以AFR来估计。在服务器中磁盘的通电时间通常假设为100%。我们的数据集提供者都相信他们的磁盘一直处于通电工作状态。目前最高质量的磁盘的MTTF指定为从1000000小时到1500000小时,对应0.58%到0.88%的AFR。制造商对AFR和MTTF的估计包含在磁盘的数据表中,我们将它们称做为数据表AFR和数据表MTTF。
与此相反,我们对数据的分析将会报告反映真实情况的年替换率(ARR),严格来说,客户日志中记录的磁盘替换并不一定等价于磁盘故障(在 2.1章中已经说明)。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务