本文内容非商业用途可无需授权转载,请务必注明作者、微博ID:唐僧_huangliang,以便更好地与读者互动。

本文经由同行朋友和我自己的观点整理而成,未经官方确认,不代表任何厂商观点。

一石激起千层浪?

“Exadata上的希捷SAS硬盘,当温度低于20摄氏度时,性能会出现下降…

日立硬盘只有当温度低于15摄氏度时,才会引发性能问题。”

上周,DBAplus社群发表了一篇技术干货《鲜为人知的Exadata存储性能秘密》(点击本文底部“阅读原文”可以访问),来源于实际项目经验,对硬盘的研究也算比较深入了。

我想就此问题,主要讨论和解释几个方面:

1、读传输率略低是否与温度有关?

2、RAW验证:硬盘超出最佳温度范围的保护手段

3、降速是否会引起Medium Error?

4、硬盘20℃降速背后原因:液态轴承?

今天无意中注意到那款硬盘的型号——ST360057SS,是自己7年前仔细测试过的…

涉事硬盘档案

希捷Cheetah15K.7(3.5英寸15K硬盘的绝唱?)

600GB型号为4碟片/8磁头

第一代外圈传输率超过200MB/s的机械硬盘

大约去年刚停产

我们首先来看下“Exadata存储性能”一文中列出的3张图——也就是硬盘低于20℃时不正常的证据表现:

由上图,在ORION测试中异步I/O失败。

还可进一步看到介质错误,和不可恢复的读错误。

读传输率略低是否与温度有关?

在“Exadata存储性能”一文介绍的性能测试部分,LUN 0_5对应的硬盘传输率低于其它盘。

值得注意的是,这里列出的IOPS符合15K硬盘随机读I/O的水平,而传输率数字则比较像较大数据块乃至于顺序I/O的测试结果。涉事硬盘139MB/s只是比其它盘略低,不知有没有朋友注意到其对应的416 IOPS反而比别的盘略高?

根据十几年与硬盘打交道的经验,我对上面截图的猜测为:这个更像是被测硬盘的LBA范围不同——比如会不会LUN0_5从由盘片外圈30%的位置到内圈之间测试,而其它盘从20%的位置开始测试呢?如果这句话有点不好理解可以配合看看下图:

我拿希捷SAS盘的剖面照片加工了这张草图,了解硬盘工作原理的朋友估计明白我的意思了吧?如果这种的猜测成立的话,导致上述降速的原因可能是ASM底层磁盘分区的起始偏移量不同。

注:硬盘传输率外圈比内圈高;而寻道时间与磁头行程相关,进而影响到IOPS。

也许我的猜测不对,但下面还有别的理由可以解释该性能结果与低温难以联系上。

RAW验证:硬盘超出最佳温度范围的保护手段

“RAW”就是read after write的缩写,在写入数据之后读取一遍以验证其正确性。让我们从硬盘的工作温度范围说起。

上图截自希捷Cheetah 15.7 600GB硬盘的datasheet文档,由于转速、盘片数量的原因它在硬盘中属于发热偏大的,典型(寻道时)功耗超过了16W。尽管其运行温度范围5-55

℃当前一些主流硬盘的5-60℃略小,但我反而觉得这对它在相对低温下工作不是个坏事情:)

注意:上面这里讲的是环境温度,也就是硬盘周围空气的温度。按照一般服务器硬盘接近进风口的设计,该温度通常会比进风温度高出5-10℃。

当年,我在室温、散热气流不足的情况下,测试中曾遇到这款15K硬盘的IOPS下降的过热保护,而另一款同时代希捷10K盘因为功耗较低而未出现类似情况。当时没有仔细记录和深究,如今我得到来自资深人士的解释——“如果盘体温度过低或者过高,对于写操作,FW自动转换为写后读,也就是写后验证一次”。

如果这个默认设置为20℃(指盘体温度,也就是比环境温度要高),根据需要可进入某种工厂模式将其下调一定幅度,所以我们看到“Exadata存储性能”一文中提到日立硬盘对应温度设置为15℃。在高温环境下,如果超过某个温度也是同样的处理机制。

根据硬盘盘体温度,我们推断所在机房的温度会不会只有10℃左右呢?

另外,进入RAW模式下的硬盘读速度是没有变化的,我理解顺序写大概会下降一倍左右吧。按道理是不应该导致ORION测试Media Error?或者说不排除有批次问题,而希捷ST360057SS型号不应普遍如此。

液态轴承在低温下的工作状态欠佳?

参照下一代HAMR(热辅助磁记录)技术的原理可知,磁介质稳定性是随温度而变化的。对于当前的硬盘而言,在一定温度范围内盘片上的存储单元既适合被外界(磁头)改变磁极方向又容易保持。

这里面深入的理论我不算擅长,而还有朋友提出了另一种观点,即液态轴承在低温下的工作状态不佳。在网上搜索之后,我也看到了这段话:

“某些使用液态轴承的硬盘,例如Maxtor Diamond Plus 8和Maxtor Diamond Plus 9在环境温度低于15 °C是就会发生故障。在低温环境下,轴承中的液体需要一段时间的预热才能达到正常工作所需的粘度。因此,在硬盘启动时,盘片就会发生上下振动,导致读/写频繁出错,最终导致硬盘损坏。”

说实话,我还真遇到有位家人的朋友,多年前曾因为金钻9代的某个缺陷而压在手上一批盘,最后低价处理的情况。只是当时没仔细询问原因。

这里我再简单带大家回忆下液态轴承的诞生:

我们知道最早硬盘的主轴电机中也是滚珠,就像今天的风扇等那样。而由于其长期高速工作容易磨损,后来开始有硬盘厂商用一种“极其粘稠的油膜”替代原来轴承中的滚珠,可有效减少磨擦。当时还提出过一个好处,就是辅助散热。

许多新技术也会伴随着一些问题,在开始时容易凸显而后不断成熟。比如当年IBM最初引入一种玻璃介质盘基,有几代腾龙系列硬盘就曾出现大范围故障,也是引发该部门出售给日立(HGST)的原因之一吧。有人说是因为“玻璃”的光滑程度更高,所以磁头设定的飞行高度比原来降低,对外界振动更为敏感,导致增加了磁头与盘片撞击的可能。

有点扯远了,本文到此先告一段落吧,读者朋友们如仍有疑问、不同意见欢迎拍砖!

注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术,可以加我的QQ/微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)

尊重知识,转载时请保留全文。感谢您的阅读和支持!《企业存储技术》微信公众号:huangliang_storage

原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODExNjI3NA==&mid=2649775157&idx=1&sn=0d6205f087fb04ec395584c2ec17e4d6&chksm=83773d68b400b47e999d55ff03bdf89b4163dd37786372cfc51c20f8a48e77537fb43603db0e#rd