磁盘后端采用更多的并发带宽
在讲到这一节的时候,我们来看看下面这张图,这张图上的东东就是世界上第一块1GB的硬盘,它诞生于1980年,重550磅,售价4万美元。还记得开篇中笔者提到97年本人在做系统管理员时看到的那个当时能够顶得上大街上一台夏利出租车的磁盘么,我记得容量好像是是4.5GB或者说9GB,当时磁盘柜内部用的应该是20MB/sec的SCSI总线。而现在呢,450GB、600GB的10K/15K RPM的磁盘都出现了,更有单盘容量达到2TB的SATA磁盘,我的乖乖,这十几年存储技术的发展真是日新月异啊。
然而我们在把这些变化用数据量化一下就会发现更加有意思的现象:
首先我们从容量上来分析,从早期的4.5GB/9GB的单盘容量发展到现在的2TB的单盘容量,所以说单盘容量发展了444倍(或222倍),厉害;
其次我们从单条磁盘后端通道速度来分析,早期是20MB/sec,现在流行的4Gb(400MB/sec)的光纤通道后端(2011年可能会升级到8G),所以说后端通道速度增长了20倍(下一步可能到40倍);
然后我们再从单块磁盘的转速来比较,当时应该比较流行的是7200RPM和10000 RPM,而现在流行的是10000RPM和15000 RPM的,所以说单盘的转速仅仅增长50%到1倍;
从以上数据我们可以看到,制约存储器这台计算机进一步发展的仍然是机械设备磁盘,而现在存储器最大可以支持的磁盘数越来越多,从早期的十几块几十块到现在的动辄几百块甚至1000块左右,如何把这些相对慢速的磁盘组合起来高效率运行,以匹配日新月异的存储器的发展是一个大课题。而其中一个关键的部分就是增加存储器后端磁盘接口的带宽,让每块磁盘可以平均享受更多的后端通道带宽。再考虑到现在流行的RAID 6计算(比传统的RAID 5需要更多的内部校验计算)和ATA磁盘的读写机制(比传统的SCSI磁盘和FC磁盘需要更多的校验写操作),我们可以很容易地发现磁盘阵列内部的计算消耗量将变得越来越多。接下来我们进一步考虑到磁盘阵列流行的内部克隆、快照等技术…原来存储器内部需要这么多的内部带宽来实现各种数据保护…
传统的存储器后端采用的FC-AL光纤通道接口,首先解释一下什么叫AL,AL全称是Arbitrated loop,说白了每条后端仍然是个环路,当一个磁盘要传输信息时,其他磁盘需要等待,这在少量磁盘并发运行时问题不大,但是当后端需要接多条通道时就会出现性能问题,而在存储器需要在线扩磁盘时后端环路需要重新内部配置,也会出现一定的不稳定因素。那么我们来看看各家存储厂商在这个基础上分布采用了什么方法来增加存储器的后端磁盘通道带宽:
1、 在后端FC环路上配置loop switch隔离故障点(代表产品HP EVA系列)。从下图我们可以很清楚地看到,HP公司在2002年发布的EVA 5000产品的设计思路,整个EVA存储控制器HSV 110本身并没有什么显著变化(仅仅在微码层有些软件更新),然而EVA5000存储器针对存储控制器到磁盘后端做了一个比较明显的改进——添加了4个FC loop switch,这样每个磁盘柜将直接连接到这4个FC LOOP SWITCH上面。而HSV110控制器再和这四个FC LOOP SWITCH相连。
这种设计摒弃了其他存储器通过菊花链级联直接连接到存储控制器上面的做法,这在当时是一个非常贴心的改进,很大程度上减轻了EVA存储器每个后端环路的内部通讯信息,屏蔽了由于各个磁盘柜内部增减磁盘而引起了信息干扰。
2、从JBOD向SBOD发展(代表产品EMC CX系列/IBM DS系列)。传统存储器采用的FC-AL后端链路传统上还是一个环路技术,传统FC环路的JBOD不仅暴露出硬盘间、机柜和RAID控制器间共享带宽的弱点,难于隔离和诊断出错的硬盘等问题也影响了RAS(可靠性、可用性和服务能力),延迟时间还会随着硬盘数量增长。可见,改用交换架构势在必行而是Switched Bunches of Disks(交换的磁盘组)。与人们耳熟能详的JBOD(Just A Bunch of Disks)相比,SBOD算是个蛮新的概念了。Emulex也已经在2007年1月发布其4Gb/s FC芯片InSpeed SOC 422之前提到了SBOD应用。非常好的方案当然是:机柜内部用SBOD SOC,机柜和RAID控制器之间则通过所谓的“根交换机”(Root Switch),组成完全的交换架构。一方面,JBOD变成了SBOD;另一方面,直接的数据路径提高了可扩展性和服务能力。
EMC在CLARiiON CX3 UltraScale 系列中推出了这种技术来提高后端带宽,参考下图所示。
3 、后端采用SAS技术(代表厂商HDS AMS2000/NETAPP FAS的最新更新/DDN 最新的存储器产品)。
下面我们稍微节省一下SAS的技术背景:2002年,为了给带宽很难继续提升的并行SCSI缔造一个合适的接班人,Compaq(现HP)、IBM、LSI Logic、Maxtor和Seagate(如今是一家)带头开始发展被称为Serial Attached SCSI(串行连接SCSI,即SAS)的技术。这种技术继承了并行SCSI的指令集,却又利用了SATA的成果,软硬件都天然兼容后者,且通过将并行SCSI时代就有的Expander(扩展器)重新塑造成一个类似交换机的角色,由SATA的点对点架构升级为能够容纳上万个端口(一个设备可以拥有多个端口,如Expander)的全交换网络,同时还借鉴了FC-AL的双端口概念,以提高驱动器的可用性。