挑战:提高存储效率

近两年来,关于信息爆炸的报道又逐渐多了起来,最为典型的就是去年IDC公布的“数字宇宙十年”调研报告,认为“过去几年对于数据增长的预测严重低 估了数据的生成量”。报告指出,在2010年,数字宇宙(由全球所有消费者和企业所创建的数据,包括视频、音频和文件等)将增加1.2 ZB(120万PB)。到2020年,数字宇宙将达到35.2ZB,是2009年的44倍。

众所周知,信息爆炸实在不是一个新鲜的词汇,存储行业不屑于用这个概念催促用户多买存储也已有些时日。那么,新一轮的概念轰炸,不同之处在哪里?IDC的报告中有一句话值得注意——当前创造出来的数字信息量比现有的存储容量多出35%,且在未来几年将跃升到60%。

Storwize V7000解析:走进存储系统的SVC

1956年IBM推出的世界第一台硬盘驱动器RAMAC(下),容量只有5MB,但只有大型企业才能用到;2010年10月7日IBM发布了新一代中端存储系统Storwize V7000(上),一个2U机架规格的盘柜即可容纳24个容量为300~600GB的SAS硬盘驱动器或固态盘(SSD),最多可以级联到10个……能满足中型企业的存储需求吗?

IBM全 球存储系统销售总裁Jeff Barber 在2009年6月访华时有过类似的表述:市场数据量平均对存储需求的增长率是50%,虽然各供应商每18个月都有更新换代的新产品出来,但 所提供的存储容量增长速度是每年40%,所以中间还有10%的差异。也就是说,用户的数据量增长过快,需要有合适的技术来弥补这10%的差距。

显然,存储厂商们需要设法改善存储的利用率,用同样或更少的物理存储来保存更多的数据,也就是提高效率,满足供给。

中端存储市场前三名厂商近两代产品部分参数对比

Storwize V7000解析:走进存储系统的SVC

* 主要是15000RPM,也有10000RPM;** 主要是7200RPM,也有5400RPM

就磁盘阵列而言,提升物理存储容量的方法不外乎两种——增加支持的驱动器数量,单个驱动器容量的增长。硬盘驱动器容量的增长率无法稳定在40%以上 ——固态盘倒是可以,不过容量水平和成本还不可接受。因此,在过去几年中,中端存储系统支持的驱动器数量呈增长态势,目前在售的主流产品如EMC的 CLARiiON CX4和IBM的DS5000系列,支持的驱动器数量都比前代产品提高了一倍。

不过,这种做法显然是不可持续的。首先,单台存储系统支持的驱动器数量不可能无限制地增长下去;其次,增加单台系统支持的驱动器数量也好,还是增加 存储系统的数量也好,最终的结果都是用户要购买更多的磁盘(或SSD),来满足对容量的需求。资本支出(CAPEX,如购置费用)和运营支出(OPEX, 如占地空间与能耗)均无法得到有效的控制,是很没有效率的行为,也与企业机构缩减IT开支的大趋势背道而驰。

智能:以计算换存储

于是,业内逐渐兴起了一股风潮,利用日益丰富的计算资源,通过软件赋予的智能,挖掘物理存储的潜力,增加实际可用的存储容量,从而抵消一部分非必要的需求增长。

具体而言,我们经常提到的SAN存储系统,是基于块(block)的设备。传统块设备的优势是访问效率高、性能好,劣势是访问的层级较低,缺乏对数据的内容感知能力,由此带来了利用率和管理上的难题。下面举两个典型的例子:

SAN上的存储容量资源,需要经过分配才能使用,这一过程称为provisioning,通常被翻译为“配置”。存储容量以卷(Volume)的形 式分配给用户或应用,卷的大小通常由用户或应用的需求决定。出于对卷的尺寸缺乏灵活性的担忧,用户申请或管理员分配时往往会考虑为未来可能的数据增长预留 足够的空间,从而赋予卷比实际需求大很多的容量。但在多数情况下,到了预期的时间之后,卷上往往还有50%以上的剩余空间,而整个存储系统内却没有可分配 给其他用户或应用的存储容量了。这种超量分配的习惯乃人之常情,却也是很多存储系统容量的实际利用率不到50%的罪魁祸首。

Storwize V7000解析:走进存储系统的SVC

一个500GB硬盘上的3个卷,每个卷上的可用空间都超过50%(也就是利用率不到50%),可是却已没有足够的未分配空间来建立新的卷了

固态盘(SSD)的出现则带来了“幸福的烦恼”。我们知道,SSD的IOPS(I/O per second,每秒I/O数)性能是硬盘驱动器(HDD)的数十乃至上百倍,可单位容量的价格也要高差不多一个数量级。所以,绝大部分有需求的用户,只能 把系统中最需要高IOPS性能和低延迟的“热点”数据放在SSD上,用最少的SSD达到理想的效果,即所谓“好钢用在刀刃上”。但是,有多少用户能准确地 界定哪些是应该放到SSD上的热点数据?就算借助分析工具找了出来,能保证一劳永逸么?要知道,“热点”有可能是阶段性的……

Storwize V7000剖析:走进存储系统的SVC

IBM是首家在中高端存储系统中采用STEC MLC(多层单元闪存)固态盘的厂商,300GB的容量不逊色于同为2.5英寸的15K RPM硬盘驱动器,但价格仍不在同一层面上

不难看出,上面两个例子都涉及到了利用率(容量或高性能介质的有效利用)和管理两个方面。从理论上来说,有效的规划可以在一定程度上提高利用率,降 低管理难度,但却无法从根本上解决问题。首先,需要存储管理人员具有丰富的管理经验,并且十分了解企业中各种IT应用的状况;其次,即使企业有幸能找到这 样稀缺的人才,也能支付得起高昂的薪水,但在各种企业和机构的IT环境愈发复杂的今天,随便一台中端存储系统上都可能有数百个卷,还有各种随时可能发生变 化的应用。仅凭人力和既定的策略去应付动态的改变,效率将十分的低下,更不要说做出及时的调整了。

所幸,在强大的计算能力的帮助下,两大冠以“自动”(对应的英文未必有此意)前缀的软件功能——自动精简配置(Thin Provisioning)和自动分层存储(Automated Tiered Storage,ATS)——已经开始在新一代的SAN存储系统中解决上面提到的难题了。

系统:SIVC中端存储
2010年10月初,在一番颇具神秘感的宣传之后,IBM如期推出了一系列存储新品,其中最受关注的当数Storwize V7000中端存储系统。


Storwize是IBM此前几个月收购的一家实时数据压缩厂商,但是V7000只是借用了它的名字,并没有集成实时数据压缩技术。真正的焦点在于,Storwize V7000是一款集IBM SAN存储技术于大成的产品。

众所周知,IBM的System Storage DS4000/5000系列中端存储来自LSI的Engenio外部存储系统。上一代的DS4000系列全球销量早已超过 10万台,帮助IBM稳固了在外部存储系统市场的地位,现在的DS5000系列也有很好的表现。看起来,IBM似乎没有必要发展自己的中端存储系统。

Storwize V7000解析:走进存储系统的SVC

2009年释出的DS5000系列发展路线图,中间一列是在SVC帮助下实现的一些功能,包括红线划出的Thin Provisioning,后来被某些媒体讹传为DS5000支持自动精简配置

但是,已经开始成为流行元素的自动精简配置和自动分层存储等功能,DS5000系列都不支持。而Storwize V7000的强项正在于软件功能,包括存储虚拟化和自动精简配置,还有三项与IBM高端存储系统相关的技术——基于DS8000系列的RAID代码,DS8700最先引入的Easy Tier自动分层存储软件,以及XIV风格的图形用户界面(GUI)。

乍一看V7000的来路似乎有些复杂,实际上却很简单——Storwize V7000相当于配置略低,但增加了内部存储(并以此为重点)的SVC!

Storwize V7000剖析:走进存储系统的SVC

Storwize V7000的控制盘柜2076-124,可容纳24个2.5英寸驱动器。还有12个3.5英寸驱动器的2076-112,均为2U机架规格

SVC即IBM System Storage SAN Volume Controller(SAN卷控制器),是著名的存储虚拟化软件,以IBM的System x系列服务器(如x3550 M2)为运行平台。提到Storwize V7000支持存储虚拟化功能,很自然会想到SVC,就不用解释了;

从2008年推出的4.3版本起,SVC有了一项被称为SEV(Space-Efficient Vdisk)的功能,“只有当进行写数据时,才使用物理磁盘空间”,也就是自动精简配置(Thin Provisioning)。SEV功能是SVC免费提供的,不需要额外的软件授权;

IBM的System Storage Easy Tier自动分层存储软件,还有基于XIV界面的全新GUI,都是与Storwize V7000同时发布的SVC 6.1新增的功能。

Storwize V7000解析:走进存储系统的SVC

Storwize V7000的核心部件:绿色代表来自SVC 6.1的部分;蓝色代表来自DS8000 DA适配器的软件;粉色代表与Enc(盘柜管理)和BBU(电池备份单元)等硬件部件相关的新增固件;黑色方框中的粉色区域代表XIV风格的GUI,也是V7000与SVC 6.1共有的

只有RAID代码是个例外,因为SVC管理的容量都来自外部存储系统,已经有RAID那一层,自然不需要RAID软件栈。可是Storwize V7000有本地的磁盘/SSD要管理,从DS8000系列“借来”RAID代码也就顺理成章。

因此,可以说,在软件的层面上,Storwize V7000 ≈ SVC 6.1 + DS8000 RAID code + SAS backend……你们懂的

进化:紧凑给力集成

由于有着如此密切的“血缘”关系,Storwize V7000的互操作性列表与SVC 6.1基本相同,包括支持的操作系统、主机多路径软件以及外部存储系统。不过在运行的硬件平台上,Storwize V7000略低于SVC,原因如下:

Storwize V7000首先是一款中端存储系统,之所以具备存储虚拟化功能,要归因于套用了SVC 6.1的代码,但也不“白送”——需要购买License,而Easy Tier和自动精简配置则是标配功能;
正因为只是一款不以存储虚拟化为主要诉求的中端存储系统,Storwize V7000配备的CPU和内存等运算资源不能(更不必)与SVC企业版相比,但高于SVC入门版,可以取代后者。

Storwize V7000与SVC的硬件平台对比

Storwize V7000解析:走进存储系统的SVC

无论如何,Storwize V7000“支持存储虚拟化功能的中端存储系统”这一“跨界”身份,决定了其硬件架构兼具SVC与传统双控制器存储系统的特点。

我们知道,SVC的硬件平台是1U机架型System x系列服务器,通过一个4端口的FC HBA提供与FC交换机的连接能力,从而在SAN中实现存储虚拟化功能。区别在于SVC企业版基于双路的x3550 M2,CPU与内存配置更高,并支持8Gbps FC;SVC入门版则基于单路的x3250 M2,内存容量只有三分之一,且仅支持4Gbps FC。

Storwize V7000解析:走进存储系统的SVC

高可用性对SVC是如此的重要,入门版也以成对的形式出现

SVC的使命是连接多台外部存储系统,作为虚拟化资源提供给主机,必须具备很高的可用性,否则一旦SVC不能访问,所连接的存储资源也就变得不可用。因此,SVC必须成对使用,两个SVC节点构成一个I/O组,互相复制写命令,还需要UPS提供断电保护。

Storwize V7000剖析:走进存储系统的SVC

Storwize V7000控制盘柜后视图。虽然是2U机架规格,但是双控制器相当于两个SVC节点,每个节点也就是1U的高度,而宽度又被两个电源模块占去了大半,内部空间显然比SVC的服务器平台局限很多

作为一款模块化的双控存储系统,Storwize V7000的核心是符合SBB 2.0(Storage Bridge Bay,存储桥接埠)规范的2U控制盘柜(Control Enclosure),体积与一对SVC节点相当。但是,在同样的2U机架空间里,V7000的控制盘柜不仅容纳了一对SVC节点(两个控制器),还有一对自带UPS(内嵌电池备份单元)的冗余电源,以及12个3.5英寸或24个2.5英寸驱动器。

Storwize V7000剖析:走进存储系统的SVC

Storwize V7000的节点控制器,具有4个8Gbps FC端口,既能用于连接主机(作为存储系统提供容量),也能连接外部存储系统(作为主机实施存储虚拟化)。内部的32GB闪存驱动器用于装载固件(包括SVC软件和RAID代码),断电时还可在电源里的电池备份单元(BBU)帮助下保存Cache中的数据;右下角的空白处对应内部预留的PCIe x8插卡空间,将来可增加10GbE端口

显然,就单个节点的设计而言,Storwize V7000要比SVC紧凑得多:与SVC相比,V7000的控制器(相当于SVC的 一个节点)需要连接内部的驱动器并实现RAID功能,因此它采用了集成XOR加速的英特尔Xeon C3500(代号Jasper Forest)处理器,还有8端口的SAS控制芯片和36端口的SAS扩展器(Expander)芯片各一。此外,4端口8Gbps FC也通过板载芯片解决,并为未来的扩展预留了一个PCIe x8的插卡空间,譬如增加10GbE(万兆以太网)端口实现10Gbps iSCSI支持。

Storwize V7000剖析:走进存储系统的SVC

Storwize V7000节点控制器架构的核心是Xeon C5500/3500(代号Jasper Forest)四核2.1GHz CPU,经分析查证应为实际频率2.13GHz的Intel Xeon EC3539处理器。CPU自带的内存控制器搭配了2条4GB双通道DDR3 1066MHz内存;同时它还需要连接Intel 3420芯片组(PCH),提供启动设备(操作系统/Firmware)、BMC管理和2个千兆以太网控制器(对应2个iSCSI主机/管理网 口)PCIe连接的支持。

CPU通过16通道PCIe 2.0总线连接到48 lane的PCIe交换芯片,后者余下的32 lane分成4个PCIe x8通道,有两个分别支持用于前端接口的8Gb/s FC控制器、8端口6Gbps SAS控制芯片(不是DS3500那样的SAS RoC,因CPU已集成RAID运算功能),进而连接到3x端口SAS扩展器以实现后端驱动器支持。还有2个PCIe x8通道,一个通过SBB高速背板与另一个控制器通信,一个留给可插拔PCIe前端接口卡,未来可增加10GbE等主机接口。

硬件:IBM掌控设计

前面已经说过,Storwize V7000从推出时就受到广泛的关注,根本原因在于“it’s ALL BLUE”:存储虚拟化、自动精简配置、RAID代码、Easy Tier自动分层存储和GUI,不管是来自SVC、DS8000还是XIV,都是IBM自己的技术。

没错,这些技术都是软件功能。但是,再好的软件,也需要合适的硬件平台才能发挥作用。

以IBM的眼光来看,典型双控制器架构的中低端存储系统,除控制器之外的部件,如盘柜、电源、背板等均属于较纯粹的硬件范畴,没必要亲自参与设计和制造。控制器包括计算资源和RAID软件,有一定的技术含量,不过LSI在RAID代码和控制器方面颇有造诣,也能吸取IBM的意见,所以从低端的DS3000系列,到中端的DS4000/5000系列,基本都是直接OEM的合作方式。

DS5300 的控制器架构,围绕着XOR ASIC,与FC主机接口卡(①)、后端的驱动器控制芯片(②),以及两个控制器之间(③),都采用PCI-Express x8连接,重点是数据的快速传输。虽然也有1个Intel Xeon 2.8GHz处理器(Management Processor)和2GB内存,但只承担管理功能,居于从属地位

问题在于,LSI的Engenio外部存储系统以PowerPC为核心的控制器架构,虽然“搬运”数据的效率够高,但是运算能力和开发环境不如英特 尔至强(Xeon)处理器的“x86 + Linux”组合,要增加相对复杂的软件功能(如自动分层存储),非常受限制。去年早些时候,IBM系统及科技事业部存储产品线经理庞文铮在被问到DS5300是否可以集成Easy Tier时,就委婉地表示,控制器的运算能力可能是个阻碍。

Storwize V7000解析:走进存储系统的SVC

2010 LSI存储论坛上透露的下一代Engenio存储系统,代号Pikes Peak(红色圆圈中),Snowmass即现在的DS3500

虽然在2010年12月,LSI承认代号Pikes Peak的下一代中端存储系统(传说中的IBM System Storage DS5400)将于2011年年中推出,并且基于IA架构,但是IBM似乎等不了这么久(也不排除之前LSI已有出售Engenio外部存储业务的意向,IBM不宜追加投入Easy Tier等知识产权)。如果IBM自己设计控制器,由LSI负责盘柜等外围部件,恐亦非后者所愿——毕竟LSI是凭借在RAID控制器上的能力进入外部存储系统市场的,可以接受以提供控制器为主的合作(如戴尔MD3000系列),反之则不能体现价值。

Storwize V7000解析:走进存储系统的SVC

Storwize V7000发布仅仅半个月之后,IBM就在西安举行的“智慧信息架构高峰论坛”上展出了样机

所以,不难理解为何Storwize V7000的硬件在英国设计,因为IBM选择的OEM合作伙伴Xyratex是一家英国公司。Xyratex是1994年从IBM通过管理层收购成立的,如今已连续两年被IDC评为最大的OEM存储系统供应商。

Storwize V7000解析:走进存储系统的SVC

Storwize V7000展示样机上还贴着“Xyratex工程样品”(红色箭头所指处),以及“英国制造”的标签

当然,渊源或资质并不是决定性的因素。表面看来,Storwize V7000与LSI设计制造的DS3500一样采用符合SBB 2.0规范的2U盘柜,都有24个2.5英寸驱动器或12个3.5英寸驱动器两种选择,甚至控制器在中间、电源在两边的背面布局也与Dell PowerVault MD3200系列相同……但最关键的区别在于,IBM掌管了整个设计——特别是控制器和所有的固件(包括SVC及RAID代码),而Xyratex负责制造所有的硬件。

扩展:双链内藏玄机

IBM掌控设计,Xyratex制造,决定了Storwize V7000的硬件架构与LSI统管设计制造的System Storage DS3500,有着太多的不同。

为什么不拿V7000与DS5300对比呢?因为DS5000系列的后端驱动器接口技术还是共享环路式的4Gbps FC-AL,不像V7000和DS3500,都采用交换式的6Gbps SAS,具备可比性。

不过至少有一点DS5300和DS3500是相同的,即两者的双控制器均采用负载均衡设计,彼此都有专用的驱动器接口链路与对方的后端连 通:DS5300是每个控制器的两个4Gbps FC驱动器芯片中,有一个用于连接另一个控制器的4Gbps FC-AL环路交换机(Loop Switch);DS3500则是每个控制器的6Gbps SAS RoC(RAID-on-Chip,片上RAID)专门拿出一条6Gbps SAS x4链路,与另一个控制器的6Gpbs SAS扩展器相连。

Storwize V7000解析:走进存储系统的SVC

DS3500每个控制器的SAS RoC(Core Processor)各有两条6Gbps SAS x4链路(红色圆框中),分别与本控制器及另一个控制器的6Gpbs SAS扩展器相连

Storwize V7000的每个控制器都是一个SVC节点,两个控制器正好构成一个I/O组,采用active-active(双活)架构,互为故障转移(failover)节点。与通常一个SVC I/O组中的两个节点相比,Storwize V7000控制盘柜中的这两个节点控制器之间通过SBB高速背板有一条PCIe x8的链路相通,以保证Cache的一致性。

Storwize V7000解析:走进存储系统的SVC

Storwize V7000节点控制器架构图,注 意红色椭圆框中的两条6Gbps SAS x4链路,都通向SAS扩展端口连接扩展盘柜,区别在于左侧链路(SAS Chain 1)直接由SAS扩展芯片引出,右侧链路(SAS Chain 2)已经过一个SAS扩展器,好在该SAS扩展器右侧连接的控制盘柜内的驱动器也属于SAS Chain 2

DS3500控制器中的6Gbps SAS RoC,有两条6Gbps SAS x4链路,分别连接到两个控制器的6Gbps SAS扩展器,扩展器除了提供到本(控制)盘柜内每个驱动器的直接连接,还有一条6Gbps SAS x4链路用于连接扩展盘柜(Expansion Enclosures)。相比之下,Storwize V7000控制器中,6Gbps SAS控制芯片(SAS Controller)也是用一条6Gbps SAS x4链路与6Gbps SAS扩展器相连,但另一条6Gbps SAS x4链路却不是通向另一个控制器,而是和6Gbps SAS扩展器一样,用于连接扩展盘柜。

这样一来,就在扩展盘柜的连接方式上,出现了一系列不同于DS3500的结果。

首先,Storwize V7000的每个控制器上有两个用于连接扩展盘柜的SAS端口,分别属于不同的链路——SAS Chain 1和2。SAS Chain 1直接挂在SAS控制芯片上,而SAS Chain 2来自控制器内的SAS扩展器。也就是说,从控制器出来的时候,SAS Chain 2已经比SAS Chain 1多经过了一个扩展器。所以,SAS Chain 2所能连接的扩展盘柜比SAS Chain 1少一个(每个扩展盘柜内都要经过一个扩展器),分别是4个和5个。但是SAS Chain 2并不吃亏,因为控制盘柜内的驱动器归它管。

Storwize V7000解析:走进存储系统的SVC

DS3500控制盘柜(左侧最上方单元)的一个SAS扩展端口就可以访问所有的扩展盘柜(最多7个),Storwize V7000控制盘柜(右侧中间Control Enclosure)的一个SAS扩展端口只能访问半数的扩展盘柜(最多5个),一个节点控制器需要两个SAS扩展端口配合才能访问所有的盘柜——蓝色连 线所示为SAS链路1,不包括控制盘柜内的驱动器,共5个扩展盘柜;绿色连线所示为SAS链路2,包括控制盘柜内的驱动器,还有4个扩展盘柜,一共也是5 个盘柜

无论如何,两条SAS链路各自管理5个盘柜,加在一起是10个盘柜。Storwize V7000的扩展能力是以盘柜为单元来计算的,同样10个盘柜,根据具体配置的不同,所能支持的驱动器数量有很大差别:

如果都用24个2.5英寸驱动器的盘柜(控制盘柜2076-124和扩展盘柜2076-224),就达到支持驱动器数量的最大值240个;
如果都用12个3.5英寸驱动器的盘柜(控制盘柜2076-112和扩展盘柜2076-212),则仅能支持120个驱动器;
如果混合使用不同规格的盘柜,则支持的驱动器数量介于120和240之间,取决于采用的组合方式。

Storwize V7000剖析:走进存储系统的SVC

2个2076-124/224盘柜(24个2.5英寸驱动器)和8个2076-112/212盘柜(12个3.5英寸驱动器)组合的Storwize V7000配置,驱动器总数上限为144个(48个2.5英寸,96个3.5英寸)

DS3500则是一条SAS链路贯穿所有盘柜,并且不管采用何种盘柜,只要驱动器配满,总数都能达到96个。换言之,都用24个2.5英寸驱动器,最多4个盘柜;都用12个3.5英寸驱动器,最多8个盘柜。

 

更多精彩内容请关注:
IBM存储化官方微博
IBM存储化官方网站