记得还是工作的第一年,在中关村打工的我接到一个数百块540MB硬盘的订单,前往用户(当时的某PC厂商)生产线配合加班检测硬盘… 近20年过去了,从40MB到TB级别,从IDE、SCSI到SATA、SAS,我一直关注着硬盘领域的技术发展。希望这两篇分享内容能够对大家有所帮助:)
玩存储的朋友都知道,SSD固态硬盘由于使用闪存做为介质,不会像传统HDD硬盘那样出现机械故障。另一方面,闪存有P/E cycle(编程/擦除周期)的限制,也就是存在着写寿命,SLC/MLC/TLC的擦写次数有着明显的差别。那么机械硬盘有没有读写寿命的问题呢?我觉得可能不是所有人都了解或者关注过这个问题。
认识不同硬盘之间工作负载和可靠性的差别,有助于我们选择更合适的产品。
一款5张碟片的Nearline企业级硬盘,目前非充氦的极限密度是6张。后文中我们还会谈到碟片数量与功耗、工作温度范围之间的关系。
横向对比:这么多种硬盘你能辨清吗?
目前硬盘行业总体营收受SSD冲击开始出现一定下滑,但若干年内仍将保持可观的需求,特别是大容量型号的性价比优势。而且这一市场已经由于成熟而细分,以希捷为例,仅3.5寸7200转及以下硬盘就衍生出以下型号等。
注:以上规格没有全部核对官方文档,仅供参考,后面还会补充一个我自己整理的表格。其中红框标出的做为重点讲解,篮框部分代表有一定疑问的参数。
上表来自我几个月前看到的一篇国外文章,其中总结的希捷硬盘型号和规格比较全。从左到右,Archive是SMR叠瓦式磁记录的归档硬盘;Desktop为普通台式机硬盘;NAS HDD适用于小型文件服务器/网络存储;Video 3.5/2.5 HDD针对消费类DVR视频应用优化;Surveillance专门用于视频监控;ENAS(Enterprise NAS)适合硬盘数较多、高端一些的网络存储设备;ECAP(Enterprise Capacity,原Constellation ES系列)就是传统的Nearline硬盘。
除此之外,企业级硬盘市场的另一家主力厂商WD-HGST也拥有比较多的产品线,其特点是数据中心产品以HGST为主,像视频/流媒体、NAS应用这些在传统WD品牌下多些。本文先用希捷进行对比分析。
上表继承了前一个表格中的部分数据、引用官方`资料,也有经过我计算得出的。标红色表示该指标优秀。
在这个表里我增加了2个对比的产品系列:Constellation CS(云盘)和高转速10K SAS,其中云盘现在官网上看不到,应该只针对互联网等大客户出货;万转硬盘的规格用于参照。
Constellation CS“云盘”及其衍生出的低转速版本Terascale,其MTBF和AFR都与桌面硬盘接近。这一点正好印证了本文开头案例中提出的疑问。
如果脱离用户需求,谈任何参数都没有意义,下面先列举几个我遇到的实际案例。
案例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(根据本文后面列出的数字,7200转企业级硬盘也在这一范围内)。
正如有位专家所说的,如果把硬盘固定在一个足够稳定的基座上,它就不会受到自身以及外界产生振动的影响,能够发挥出最佳性能和寿命。但真实环境往往不是如此,在存储服务器/磁盘阵列机箱中通常会有多块硬盘,同时工作时难免会产生共振现象。这里面涉及的因素主要有硬盘的转速、数量以及箱体结构设计。
许多朋友应该都知道,磁盘阵列的空箱重量往往要比同等尺寸的服务器大不少,采用较厚的钢板能够“吸收”一部分振动。尽管不只一家厂商号称可以混插不同转速的硬盘,但实际上都不推荐这样做。
超标的振动会影响磁头定位,导致硬盘性能下降乃至寿命降低。抗旋转振动大致就是伺服电路根据传感器信息对振动进行相应的补偿,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%工作负载。
上图截自《Seagate Enterprise Capacity 3.5 HDD v5 Serial ATA Product Manual》
同样为7200转速,但定位企业级应用的Nearline(近线)硬盘比桌面硬盘的可靠性要强不少。首先是MTBF和AFR(平均故障率),目前Nearline盘大都能达到140-200万小时MTBF,并且这个数字是在40℃、7x24小时全年连续开机条件下得出。
注:我们会在后文中介绍MTBF与AFR的换算关系。
这张照片来自2004年我做服务器测试工作时,制作的MaxLine Plus II近线硬盘技术规格书,7200转ATA接口250GB在当年算大容量了,10年间硬盘的存储密度提升了近20倍。当时100万小时的MTBF已经明显高于桌面硬盘(同期大约60万小时)。照片效果不够好请大家包涵:)
记得第一家推出Nearline硬盘的,是Maxtor(迈拓)的MaxLine系列。当时根据经验提出近线硬盘建议不超过20%工作负载的说法,超过这一水平故障率会超标。经过十几年的发展,硬盘厂商们经过大量分析统计工作,认为读写数据量是个更合适,并且容易量化的指标。根据本文开头那两个表格,目前业界统一遵从Nearline硬盘工作负载为550TB/年,如果明显超出则故障率会上升。
小知识:硬盘读写负载与SSD擦写寿命
关于这一点,除了硬盘是个建议值而SSD存在“硬指标”之外,一方面SSD只是擦写次数有限而不限制读,硬盘则不分读写都要考虑;另一方面,SSD寿命源自每个闪存单元的特点,在其它条件同等情况下其可写入数据量与容量成正比;而硬盘却不是容量越大这方面就越好,因为磁头的老化与它读写数据量的相关性更强。
当然,10K/15K高转速硬盘在质保期内没有这些限制,所以说它们的等级不同,单盘容量、单位容量的价格也有着显著差距。
3、环境规格——温湿度范围
上图引用自《HGST Hard Disk Drive Specification - Ultrastar 7K6000》
这里引用一份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转。