• 硬盘参数你都懂吗?(上)-从案例引发的讨论


    案例1:备份数据量与硬盘选型

    去 年的一天,有位互联网公司的朋友向我咨询了一个问题:他们目前服务器大部分都是戴尔PowerEdge R510和R720xd,现在需要采购硬盘用于数据备份。每块硬盘平均每天会写入不到1TB的数据。这种场景下,每天都会有大量的数据写入、读取,对盘的 寿命影响大吗?

    由于是企业级应用,按照365天来计算,硬盘的全年的读写负载大约在360TB以内,我认为原厂配件中的Nearline硬盘就比较合适。那么这一结论是怎么得出呢?

    案例2:视频监控存储可以用“云盘”吗?

    某 公司接到用户一个视频监控存储的项目,一开始按照Nearline SATA企业级硬盘计算了成本,发现价格与竞争对手相比不占优势。由于对方使用了价格相对较低的监控专用硬盘,该公司于是考虑是否可以采用也属于企业级但 成本更低的“云盘”(即希捷Constellation CS)?

    暂时先搁置这个问题,阅读完本系列文章相信您会有比较全面的理解,再来看看看我遇到的另一个案例。

    案例3:便宜的代价——云盘故障率我曾经听说国内某互联网公司使用过一批“云盘”,但后来遇到故障率较高。“云盘”的价格仅比桌面硬盘稍高,在多种细分的低转速(7200rpm及以下)企业级硬盘中具有成本优势。那么,它的故障率在什么范围内是正常的?

    企业级vs.桌面:性能、可靠性差距

    引用自一份来自Intel的文档《Enterprise-class versus Desktopclass Hard Drives》,2008年4月

    上图是一份比较早的对比资料,不过这些年来机械硬盘技术发展不算快,所以仍有一定参考价值。其中“Enterprise”在这里代指15K高转速企业级硬盘;而7200转企业级硬盘衍生自“Desktop”,所以性能方面指标是接近的。

    第 一项,硬盘的延时和寻道时间=平均寻道时间+平均旋转等待,15K由于转速高、磁头臂移动速度快而大幅领先;而这一项又直接影响到后面的“每秒典型 I/Os”(无旋转振动IOPS)。当然这里15K 硬盘的319不完全是机械结构的功劳,还有上面命令排队(CQ)的效果——左边由于SCSI/SAS协议能够完整支持,而右边的ATA支持有限在高并发情 况下提升少一些(注:寻道速度较快的7200转Nearline硬盘这一数值应该比77要高)。

    1 :振动对硬盘的影响及防范

    15K硬盘能够达到21 rad/sec/sec,这里的Radian应该是一种弧度单位,我不是这方面的专家,就不不展开讨论了。而桌面硬盘该指标只有5-12

    正如有位专家所说的,如果把硬盘固定在一个足够稳定的基座上,它就不会受到自身以及外界产生振动的影响,能够发挥出最佳性能和寿命。但真实环境往往不是如此,在存储服务器/磁盘阵列机箱中通常会有多块硬盘,同时工作时难免会产生共振现象。这里面涉及的因素主要有硬盘的转速、数量以及箱体结构设计。

    许多朋友应该都知道,磁盘阵列的空箱重量往往要比同等尺寸的服务器大不少,采用较厚的钢板能够“吸收”一部分振动。尽管不只一家厂商号称可以混插不同转速的硬盘,但实际上都不推荐这样做。

    超标的振动会影响磁头定位,导致硬盘性能下降乃至寿命降低。抗旋转振动大致就是伺服电路根据传感器信息对振动进行相应的补偿,10K、15K高转速硬盘由于自身产生的振动大一些,因此在设计上“耐受力”也更强。如上表,在旋转振动20 rad/sec/sec的条件下,15K硬盘IOPS只有少量下降;而桌面(7200转)硬盘的性能则下降了10倍以上,可见磁头定位困难的程度。

    下面一项“双工模式”, SAS支持全双工,SATA是半双工,这就在于SCSI和ATA协议之间的差别。SAS硬盘提供双端口可同时连接到2个控制器,实现故障切换。关于可变扇区大小,我们在后文中会有讨论。

    2:可靠性前提条件和NL硬盘的由来

    再来看看可靠性。当年的高转速企业级硬盘的MTBF(平均无故障时间)为120万小时左右,现在由于工艺进一步成熟,设计/制造标准普遍已达到200万小时。而桌面硬盘还停留在70万小时左右,没有动力也不需要为此而增加成本。

    这里容易被忽视的还有MTBF的先决条件。高转速企业级硬盘是在45℃的环境温度下,7x24小时100%工作负载;而桌面硬盘则是25℃环境,5x8小时10-20%工作负载。

    同样为7200转速,但定位企业级应用的Nearline(近线)硬盘比桌面硬盘的可靠性要强不少。首先是MTBF和AFR(平均故障率),目前Nearline盘大都能达到140-200万小时MTBF,并且这个数字是在40℃、7x24小时全年连续开机条件下得出。

    注:我们会在后文中介绍MTBF与AFR的换算关系。

    小知识:硬盘读写负载与SSD擦写寿命关于这一点,除了硬盘是个建议值而SSD存在“硬指标”之外,一方面SSD只是擦写次数有限而不限制读,硬盘则不分读写都要考虑;另一方面,SSD寿命源自每个闪存单元的特点,在其它条件同等情况下其可写入数据量与容量成正比;而硬盘却不是容量越大这方面就越好,因为磁头的老化与它读写数据量的相关性更强。

    当然,10K/15K高转速硬盘在质保期内没有这些限制,所以说它们的等级不同,单盘容量、单位容量的价格也有着显著差距。

    3:环境规格——温湿度范围

    这里引用一份HGST硬盘资料中的环境规格。其中有两个类似梯形(右边不是直线)嵌套在一起,大的范围是硬盘的非操作温湿度范围,而里面的小块区域则是工作温湿度。可以看出在5-31℃之间可以支持90%相对湿度,而到60℃时只能支持到10%的湿度了。

    只有少数的低转速(10K以下)企业级硬盘带有湿度传感器,本文中包括归档、ENAS和Enterprise Capacity三个针对数据中心的系列。

    4:MTBF不是虚标:换算出年均故障率

    可用性一项,除了Video 3.5是AFR数值之外,其它列出的都是MTBF。利用MTBF来计算AFR的公式如下:

    年平均故障率AFR=1 / (MTBF / 365 / 24)

    MTBF看上去很高,前面表格中最长的200万小时(8TB型号,目前希捷6TB及以下Nearline硬盘为140万小时)折合228年,最短的75万小时也有85年,其实它们的设计寿命都没有那么长(通常为8-10年),从温彻斯特硬盘发明到现在也没有这么多年。这些可靠性不是针对单一硬盘,而是根据质保期内大量样本计算和统计出来的。记得十多年前,我当时就职的公司有一位孙老师,她主持的10万小时PC MTBF测试就是拿若干套设备集中进行的。根据上面公式,Enterprise Capacity的AFR计算得出0.44%,也就是说100块盘每年平均损坏0.44块,如果10,000块盘就是44块。

    读写负载、使用率和支持盘位数量,桌面硬盘都是最低,表格中除此之外都支持7x24连续开机,并且桌面硬盘官方只建议部署1-2块。也就是说它没有抗旋转振动方面的优化,如果您实际使用3块盘以上做RAID,可能会遇到性能降低、寿命下降的问题。

    Enterprise Capacity(ES)的年读写负载在这里最高为550TB,ENAS为300TB,余下4款都是180TB——也比桌面硬盘的55TB高不少。或许这些数字还不够直观,后面我们还会用它们简单计算出平均每天、每秒的读写负载。

    至于一个机箱中支持的硬盘数量,与另外两项规格——旋转振动传感器和抗旋转振动容忍度直接相关。比如没 有RAFF Sensor的桌面、NAS和Video 3.5硬盘支持的系统规模都较小;监控和归档硬盘具备RAFF Sensor且抗振指标为5 rad/sec/sec,根据最新资料都能支持8块以上的配置;不过它们在高振动环境下的性能表现可能不如12.5 rad/sec/sec的ENAS和Enterprise Capacity。后文中我还会列出更多的引证资料。

    关于硬盘转速,两款7200转/分钟的性能相对较好;希捷目前主流的桌面硬盘应该都是7200转,早期低转速的Barracuda LP应该已经退出市场;Video 3.5由原来的Pipeline HD发展而来,一直是5900转;监控盘由7200转的SV35发展而来,不过现在4TB及以下应该都降到5900转,5-8TB型号为7200转。

    5:视频监控写入负载是否会超标?

    我们根据硬盘每年的读写负载,计算出550/300/180/55TB对应到平均每天就是1.51/0.83/0.49/0.15TB,平均每秒大约17.5/9.6/5.67/1.74MB。回到本文上篇中那个数据备份的需求,每天写入不到1TB的数据,使用Enterprise Capacity这个档次的Nearline硬盘比较合适 。这里我还有一点疑问:视频监控应用是比较典型的多流写入,而且7x24小时连续工作,在一个系统中为了应对单盘故障RAID保护又是有必要的。首先,年负载55TB的桌面硬盘很容易超标;其次,如果有高清监控且需要保留时间较短的场合,每块硬盘平均写入速度超过5.67MB/s,是否将年负载180TB的监控盘换成550TB的Nearline硬盘更合适呢?

    如果超出建议负载较多其故障率会高于标称的AFR(监控盘为0.88%),而且Enterprise Capacity(ES)的AFR设计标准本身就低至0.44(8TB)~0.63%,可以降低后期维护的成本和数据丢失风险。

    至于“云盘”,其平均故障率监控盘还要高些,只要不在意也可以用吧?

    当然这里面还有成本的因素,Enterprise Capacity的公开报价是7200转盘里面比较高的。由于视频监控在国内的市场巨大,像海康、大华这样的厂商在监控硬盘上估计有较大的议价能力。

    6:盘位数支持与箱体结构

    要求在每个机箱支持的盘位数上,最新资料4TB及以上写的都是“8+”,在视频监控环境中,非RAID应用顺序(I/O)使用模型下盘数不限。(取决于箱体结构)而监控硬盘在RAID应用中建议≤16盘位。究其原因,如果做了RAID,硬盘磁头容易按照同样的轨迹来运动。这时共振的影响应该会有所加大。

    根据我的理解,ENAS系列虽然抗旋转振动能力与Enterprise Capacity相同,但由于其主要定位中小型设备,只建议配置不超过16盘位,对机箱结构要求相应放松。经济型Constellation CS主要针对互联网等大型分布式环境,其中定制系统相对偏多,需要适应各种不同需求,因此抗旋转振动也达到了12.5 rad/sec/sec。

    7:不可恢复读错误:

    NL盘表现居中不可恢复读错误可以理解为磁介质上静态数据损坏的比率,由于这个数值比较固定,随着单盘容量增大在一块盘上遇到错误的几率也越来越高。我们注意到,Enterprise Capacity和ENAS的该项指标比10K、15K高转速SAS硬盘高一个数量级,但比桌面和其它“准企业级”硬盘还是要低一个数量级的。

    对于监控硬盘,资料显示目前只有8TB型号可以达到1 per 10E15。由于目前桌面硬盘的容量只达到6TB,那么8TB监控盘有可能与Enterprise Capacity出自同一平台。

    由于不可恢复读错误可能在RAID Rebuild时才暴露出来,RAID卡、磁盘阵列控制器普遍设计了后台介质扫描的功能,而有些廉价视频监控设备使用的软RAID就不好说了。此外,EMC等存储厂商还使用非标准扇区(从传统512byte增大到520byte)加入校验实现容错。

    8NL-SAS并不只是“假SAS”硬盘主机接口方面,7200转硬盘中只有Nearline(Enterprise Capacity)系列具备SAS版本。除了SCSI协议的完整性之外,最重要的是提供双端口支持,在那些双控磁盘阵列中SATA驱动器还得加个转接板就不划算了。而且,也只有SAS接口硬盘才能兼容520/528这些非标准扇区大小。

    在质保年限上,桌面硬盘目前执行2年;Enterprise Capacity、NAS与高转速SAS同为5年;表格里对比的其它7200转硬盘基本上是3年。根据经验,质保5年的硬盘设计寿命一般在8-10年,如果超出5年使用故障率会提高;同理,普通7200转硬盘的设计寿命通常也有5年,缩短保修时间也有降低服务成本的考虑。

    至此,我们看出ENAS系列应该是由Enterprise Capacity近线硬盘“降级”而来,它们之间的定位可以从开头表格中的组件级差别上看出来。比如:两者都使用了相对较好的高通量密度音圈磁头,而读写头和盘片ENAS为Performance而Enterprise Capacity采用High Performance等级。总之结构决定性质,只是我们在本文中并不都需要深挖。

    9性能增强新技术:Flash缓存、掉电保护在硬盘上添加少量闪存的固态混合硬盘(SSHD),希捷最早推出消费级产品,并于后来引入到企业级市场(只限10K高转速SAS盘)。客观地说其市场空间不大,因为在混合阵列上可以做SSD+HDD之间的分层存储,混合硬盘用于服务器也要看应用能否发挥其优势。

    不过加入Flash之后带来了另外一个用途——掉电保护。我们知道早期硬盘上DRAM缓存中的数据断电就会丢失,所以对数据一致性要求高的应用通常会选择在RAID卡/阵列控制器上关闭硬盘自身的写缓存。如今则可以利用电容和盘片旋转的势能将DRAM写缓存区的数据写到闪存中。

    对于没有Flash缓存的Enterprise Capacity,希捷在最新一代8TB型号上内置了2MB NOR闪存,用于掉电时备份写缓存数据,因此可以打开WCE(Write Cache Enable),大幅提升随机写性能——IOPS 342明显超出读IOPS 164(队列深度16)。

    据了解,HGST企业级硬盘采用了另一种技术来达到同样的目的——开辟一小块磁道做为将随机写I/O变成顺序写入的缓冲区。

    10硬盘厂商怎么说?


    上表引用自希捷文档《安全和智能的监控硬盘选择指南》

    其实希捷官方也做了监控专用硬盘和企业级3.5寸海量盘的对比。首先,监控盘“划算”就是在谈它的性价比;而性能、节电模式/响应时间、写入负载、抗振动、SAS接口支持和质保期限上Enterprise Capacity都更胜一筹,具体的技术我们都已讨论过。

    11更多选购要点:系统设计和兼容性以上写了这么多硬盘自身的特性,其实同样的盘用在不同系统上其可靠性表现也可能会有不小的差距。

    比如散热设计,我认为正规一些的服务器、存储厂商,测试每个盘位上承载最大功耗硬盘时的满负载工作温度,应该是比较基本的要求。对于一线品牌,安装各种转速硬盘时产生的线性、旋转振动值是否超标,估计也在结构方面的测试项目中。用软件仿真和实测可以做为互补,通过这些评估工作可以看出机箱、硬盘托架等有无改良空间,能够支持的硬盘范围等。


    戴尔DSS 7000高密度存储服务器,在4U空间内提供了90个3.5英寸热插拔硬盘位

    举例来说,像4U 60盘位及更高密度的机箱,我看各家基本都不支持15K高转速硬盘。如果支持2.5寸10K硬盘,在这里也是不应该按经验“拍脑袋”决定的。

    再比如前几年,某公司进入企业存储领域时间尚短,其硬盘故障率偏高,也是投入了不少资源来改善。

    另一方面,从EMC、戴尔等厂商采购的硬盘,与渠道市场中的相同型号也有些区别。定制的Firmware版本只是一个表象,兼容性测试也是很重要的工作。因此大家最好还是按照系统厂商的建议来选购硬盘,如果一时贪图便宜导致数据丢失就得不偿失了。

    我们建议,如果您没有条件计算读写负载,或者不确定服务器/存储机箱本身消减振动的能力,选择一款规格较高、有裕量的硬盘相对比较保险。比如本文对比中的Nearline硬盘Enterprise Capacity(ES)系列或者其他品牌的同级产品。

    终于到了这两篇的结尾,我想说一句:“写硬盘很累”,而硬盘读写数据也是有一个“疲劳磨损”的过程,希望能够引起人们对可靠性的关注。尽管这是我熟悉并关注近20年的领域,为撰写本文还是查阅、整理了大量资料。总之希望对大家有所帮助,同时也欢迎各路高人批评指正!


  • 相关阅读:
    JDK Base64编解码1.7和1.8的坑
    nacos部署注意点
    详解CurrentHashMap之预习篇
    SpringBoot爬坑系列
    开发之缓存与数据库优化
    jreble备注
    Unable to open debugger port (127.0.0.1:55119): java.net.SocketException "Socket closed"
    ConcurrentHashMap源码分析
    为什么要先高16位异或低16位再取模运算
    HashMap(三)之源码分析
  • 原文地址:https://www.cnblogs.com/weikunzz/p/6710572.html
Copyright © 2020-2023  润新知