存储专栏:大话高端存储的硬件架构和软件功能

存储在线专栏文章:前几天我们连续发表了多篇西瓜哥的专栏文章,网友反映非常好。今天,我们继续整理并发表西瓜哥关于高端存储的硬件架构和软件功能的相关内容。

高端存储的硬件架构发展到现在,江湖上有很多流派,我们今天做一个简单的归纳总结。

小型机双控架构

这个流派不是一般人都能做的,HP应该也有资格,但市场只有IBM一家在做。IBM 2009年推出的DS8000高端存储就是采用这种架构。其实非常好理解,拿两个小型机,采用双机软件组合成一个系统。

上次我们分析中国区IBM高端存储卖得最好,是否就说明这个流派是主流流派呢?其实玩高端存储的人很多都瞧不起这个流派,主要打击他两点:扩展性和切换时间。最多2控吧,无法再scale out扩展了;采用双机软件吧,切换时间是分钟级?但凭心而论,IBM的POWER CPU太强了,虽然只有两控,毕竟是小机啊,SPC-1的值好像是45万IOPS,成绩非常好了。至于切换时间,我需要找更详细的材料看看具体是多少,如果采用并行处理,就不用切换了,就是热备方式,优化后我感觉应该是秒级能够搞定。

多控架构

高端存储的少林武当派认为,只有多控架构(大于2控)才是正宗的高端存储派系,其他都是歪门邪道。圈内很大人认为,多控才叫高端。但也有人认为,支持大机才叫高端。这些都是民间的说法。现在这个社会就像大数据的MESSY特征一个,全混杂交叉了。你说多控是高端吧,HP 3PAR StoreServ 7000是一个中端存储,但是支持4控。你说支持大机才是高端吧,HP 3PAR StoreServ 10000和IBM自己的XIV都不支持大机。但他们都叫高端。多控架构也有很多流派,我们从出现的时间来一一了解。

1. 总线交换式

做数通的都知道,这种架构高端产品不好再用了,只有低端还在用。存储也一样,EMC和HDS早期的产品就是采用这种架构,市场上应该见不到了;

2. 交换式架构

这种架构HDS首先推出,目前HDS VMAX应该就是采用这种架构。和数通一样的,CROSS BAR交换其实很早以前就在出现在高端交换机里面了。这种架构个人认为比较完美,上面一层是主机接口,中间一层是CACHE,下面一层是后端接口。但也有人攻击这种架构仲裁太复杂,延迟比较大。

3. 矩阵直连式架构

这种架构很可笑,据说HDS给自己的架构申请了专利,EMC没有办法,就撒赖说,我干脆不交换了,每个需要通信的部件全部拿根线连起来。这就是著名的DMX蜘蛛网架构,EMC打击HDS就说我快,时延小,废话,因为不用交换。HDS打击他就说有本事你再扩展一控试试,看你到底是卖高端存储的还是卖线缆的?哈哈,有意思。

4. 全分布式交换架构

自从HDS老讽刺DMX是卖线而不是卖存储的后,估计EMC丢不起那个人,天天再琢磨怎么回击HDS。有了,现在中端存储的节点这么便宜,我拿中端存储的硬件,中间用一个交换机连起来,只有交换机容量够大,我的软件功能够强,想要多少控就多少控。这就诞生了VMAX虚拟矩阵架构。这种架构有好处就是每个节点都不贵,现在都是拿INTEL的平台做的,但扩展性好。我更喜欢叫松耦合scale out交换架构。架构虽然简单,但对软件的能力要求高,因为多个控制器自己的通讯协调复杂啊。3PAR也是采用这个架构,后来被HP收购。IBM的XIV也可以算这个架构,但耦合程度更松,更像云存储。华为去年推出的HVS也是采用这种架构。这种架构内部有很多小流派,主要是交换技术的选择不同,如VMAX采用RapidIO交换(也是国际标准哦,但大家都不熟悉),XIV先是以太交换机现在换成了InfiniBand交换,3Par采用的是PCIE背板交换,而华为HVS也是采用PCIE交换。个人感觉PCIE是趋势,从成本和速度发展看,HVS现在也号称交换容量世界第一,而且现在才采用PCIE 2.0,如果将来采用PCIE 3.0,那还了得。

高端存储硬件架构区分

还有如下有两种方式区分好像比较容易理解,因此,这里也简单说明一下:

1、按照scale的方式分

这种方法,HDS VSP就属于统一大缓存多处理器Scale up架构,IBM DS8000比较特殊,还是模块化集群技术,其他的高端应该都算下面所说的scale out架构。

2、按照耦合的程度分

这种分法好像认可度更高些,由于韩主任在文章里比较认可HDS的架构,认为耦合比较紧,时延全局一致,符合高端的特点。因此,HDS的销售一见客户就拿这个文章去给客户看,呵呵。

现在看来,除了EMC还采用RapidIO技术外,其他架构基本都是PCIE,个别用InfiniBand。IBM的DS8000曾经也用RIO-G(remote IO),现在也转PCIE了。我这里大胆预测VMAX下一代也会抛弃RapidIO。

高端存储除了架构外,还有前端接口和后端接口。

前端接口:所有的高端存储都支持FC,8G为多,部分支持16G。大机的接口FICON只有EMCHDSIBM支持。FCoE和iSCSI除了DS8000好像都支持了。

后端接口:后端磁盘柜的连接只有两种,一是传统的FC AL连接(还不是交换的),DS8000,3PAR 10000,EMC还是采用这种传统的方式,缺点大家都懂,仲裁环的方式,性能肯定不如SAS,并且支持SAS盘很麻烦,需要做桥接。HDS VSP和华为HVS已经采用采用SAS交换技术连接后面的磁盘框,性能上有优势,但不支持FC盘了。谁能想到高端存储不支持FC盘,要在前几年,你都不好意思说。但现在SAS是趋势,FC盘用得很少了。因此,我预测EMC的下一代VMAX产品也会采用SAS后端,不信也赌一顿饭。只是SAS的线缆太粗了,而且距离也比较短,布局上不好设计。但我相信以后的SAS协议肯定支持光纤,就像现在的PCIE也可以用光纤连接一样(但据说成本就好几千一根),这个也可以赌一顿饭,哈哈。

硬件结构就说这么多了,高端存储关键还是在软件上,下面我们会聊聊软件功能。

高端存储其实就是超级计算机

在谈高端存储的软件功能之前,我们先从并行处理这个方向聊一下高端存储的硬件架构,做一个补充吧:

我们先看几个概念:
SMP : Symmetric Multi-Processor(对称多处理器结构 )
NUMA : Non-Uniform Memory Access(非一致存储访问结构 )
CC-NUMA: Cache Coherent Non-UniformMemory Architecture(一致性高速缓存非一致存储访问结构)
MPP : Massive Parallel Processing (海量并行处理结构 )

其实,存储就是计算机,这台计算机专门用来存数据而已,高端存储也就是那么回事,大部分都是借鉴了服务器的思路改进改进罢了。

现在市场上常见的高端存储,我们按照这种方法来归一下类:

IBM DS8000,这个就是两台小机,采用服务器集群技术,但没有采用节点并行处理技术,不归在并行处理范围。但小机内部应该是用CPU SMP技术了吧;

HDS VSP,我理解VSP的架构也是设计为一整台大机器了,有人认为VSP更像紧耦合的MPP架构(比如《大话存储》的作者冬瓜头),我更倾向理解这是一台类似数通高端交换机的大机器,每个控制器就像一个CPU,8个控制器就像8个CPU,他们共享所有资源,特别是内存,这不就像一个8路服务器的SMP架构一样吗?其实HDS内部也认为自己是多控SMP架构;

以上架构最大的问题就是扩展性,应该都算scale-up架构。对于scale-out架构,主要有两大阵营:

CC-NUMA:EMC VMAX、HP 3PAR StoreServ 10000我认为属于这个架构。这个架构的特点是虽然每个节点有自己的本地内存,但内存统一编址,因此每个节点可以访问本地内存,也可以通过高速互连技术(RAPID IO或者PCI-E)访问远程内存。而且他们有共同的CACHE。

MPP:IBM XIV就是这种架构。和NUMA架构不同,每个节点都是独立的,一个节点不能访问远程节点的内存,和CC-NUMA体系结构相比,MPP集群不会共享内存,因此,后端网络采用的是交换互连网络。每个控制器和盘柜组构成一个独立的存储节点,所有的存储节点之间通过后端交换互连网络连接在一起,实现集群存储。当系统中的任意节点接收到数据信息之后,都会通过后端网络将这个处理之后的信息进行转存或者进行数据冗余。这个对后端网络要求很高,XIV采用InfiBand来完成数据的交换功能。

IBMer说,严格来讲,MPP架构才叫scale-out。其实,CC-NUMA和MPP理论上都可以无限扩展。MPP虽然耦合度更松,扩展更容易一些,但XIV目前也就15控,而且只有6控能接主机,不知道为啥扩展性不然VMAX。

至于华为的HVS,我个人认为属于NUMA架构或者是混合架构吧,但由于其一级CACHE不是所有节点都可以访问的,因此,好像归类到CC-NUMA不太合适。但由于采用RAID 2.0技术,硬盘都分成很多小块分配到各个节点上,因此,所有的LUN都可以用到所有节点的缓存,也算是一种全局缓存吧。

漫谈高端存储的软件功能

高端存储除了关注硬件架构外,我认为很重要的是软件。现在有一个和热的词,SDS(软件定义存储),这个和高端存储有啥关系?

我们先看一下SDS的定义。IDC的方法定义“软件定义的存储”为:可以安装在商用资源(x86硬件、虚拟机监控程序或者云)和/或者现成计算硬件上的任何存储软件堆栈。此外,为了取得资格,基于软件的存储堆栈应该提供一套完整的存储服务,还有在基础的持续数据配置资源之间的联邦,这使其租户的数据可以在这些资源之间流动。

这个定义比较抽象,简单理解就是以后存储的存储服务和控制服务分离,用户自己购买或开发存储控制软件,存储厂商提供存储硬件,但智能控制的部分都在软件层面,就如10年前提的NGN。个人认为这是一个方向,但就如NGN一样,还是一个厂商同时提供软件和硬件,如何用户很傻很天真认为以后拿EMC的软件,下面购买HDS的硬件,估计很多功能实现不了,死得很难看。

今天也看了FORREST的SDS的分析报告,由于他们的分析师都在北美吧,因此都太乐观了。他们说现在存储的花费只占IT的总花费的7%,但存储的容量再增长,因此客户会很快转向SDS,先是软件+存储的形态,最后发展为纯软件的形态。个人认为中国5年内不用看这个报告。存储界所用的IT技术是业界发展最慢的,我们10多年前就用FC技术,现在还是,只是速度提升了。因此,你学会存储的基础,可以吃老本。IP就不行了,协议变得越来越复杂,几个月不学就没有共同语言了。

好,侃了那么多,我们还是回到存储软件,这里我们指高端存储的软件功能,看高端存储一般提供什么有区别于中低端存储的软件功能。我按照重要性排个序:

1. QOS功能:我认为这是一个最重要的功能。现在的高端存储承载的业务很多,如何保证各个应用的SLA?个人认为没有QOS,不能叫高端。上次我们提到EMC嘲笑3PAR的存储性能曲线会唱歌(性能不稳定),就是不支持QOS。QOS的控制,一般从优先级,I/O,带宽甚至专门的缓存分区4个方面来控制。这里不能不提一下华为的HVS,号称4个功能都有,而IBM DS8870只支持优先级,HP 3PAR不支持QOS,HDS的高端刚出来的时候,宣传的亮点就是缓存分区功能;这些功能一般中端存储没有或者功能比较简单。

2. 容灾功能:这个功能我认为是第二重要的功能。这个功能如远程复制,原来中端存储没有的,但现在基本都有了。但关键不是有无问题,是功能和性能问题。高端存储可以做到两地三中心的容灾(今天看到HDS也支持四中心的方案),能够支持秒级的RPO,这些功能中端是做不到的。

3. 自动分层:原来的高端存储只支持FC盘,好像这个功能不重要。现在SSD和SATA都支持了,因此自动分层也成为高端存储非常重要的功能。有些厂商只能做到2层,有些厂商可以做到3层。HDS甚至可以根据转速来分层,如SAS 15K转和10K转分成两层。EMC和3PAR甚至可以把其他的存储当做一层,支持4层,EMC叫联合分层存储。

4. 虚拟化:高端存储可以接管其他厂商的存储,HDS的高端首先实现,华为HVS也号称支持。这个功能技术含量比较大,主要是要做大量的兼容性测试。

5. 自动精简配置:这个功能能够大大提高管理的效率,节省首次购买成本。也是高端必备的功能之一。

6. GUI管理和provisoning API接口:高端功能复杂,用户需要简单的易用的管理工具,否则这些功能很难用起来。另外需要提高SMI-S的API和其他管理平台对接,提供provisioning API和用户的业务软件软件对接。

以上6个功能我认为是高层存储大部分都应该有的,这也是区别中端的标志。当然,每个人都有自己的观点和优先级,你是如何看的,欢迎直接回复微信分享你的观点。

除此之外,可靠性是一个高端存储系统的重要指标,和硬件强相关,因此我就没有写到关键软件特性里面。不过这提醒我,应该把安全性作为一个重要特性,这也是区别于中端阵列的标志,主要体现两个方面:

1. 支持全盘加密Full Disk Encryption(FDE)。这个特性传统的高端阵列都支持,中端好像没有见过。做金融的都知道有一个支付卡行业数据信息安全标准Payment Card Industry Data Security Standard (PCI-DSS),这个标准就是金融行业的圣经,高端存储支持全盘加密,可以帮助客户拿到这个认证。不说存储,网络设备也要认证才行,我在泰国工作的时候,由于CISCO网络设备(其实应该是解决方案)取得这个认证,它利用这个门槛多年一直把友商排斥在外。现在民间流传中国某银行高端存储硬盘坏了,厂商拿回日本修理,导致信用卡用户数据泄露。因此,高端存储如果没有这个特性,金融的主流市场就很难进入了。

2. 支持T10标准完整性字段DIF(Data Integrity Field)规范。这个特性一般中端也不支持。也就是每个数据块增加一个CRC字段,保证数据不管如何传输,都是完整的。如果要端到端,需要数据库,HBA卡和高端存储同时支持才能端到端实现。

以下和大家分享一下我学习高端存储的心得,希望有心钻研的微友参考,少走一些弯路:

1. 在各个高端存储厂商上注册一个账号,下载所有高端存储的产品手册和技术白皮书学习。个人经验,不要看售前资料,很多是忽悠的,先看售后资料再看售前资料;免费注册的账号能够下载大部分的内容,有一些内容拿不到,就需要找业内的朋友帮忙了。

2. 如果大家有iPAD,推荐注册一个美国的账号。用iBOOK下载IBM的redbook阅读(用中国账号不能找到这些资料)。

90年代我学网络的时候,拿着思科的DOC CD天天读,后来学存储,发现没有一个厂商的文档有思科的好。这段时间看IBM的redbook,发现真的是IT的圣经,文档的可读性、完整性和逻辑性都很强,和思科有一拼。现在我一有时间就拿IPAD把redbook当小说看,包括上厕所的时候。进步很快。

好了。说了这么多,也说一点可恨的地方。国外高端存储所有的稍微详细一点的资料,都是英文的。为什么我们一直希望高产高端存储快点能够成长起来,这样也是方便用户。用户用个高端存储,如果购买国外厂商,除了国家安全层面外,语言是最大的问题。你可能会说,EMC好像菜单也有中文的了,这个简单的界面翻译太小儿科了,你会发现,大部分的产品手册都是英文的,如果你的设备出了问题,可能稍难一点的都需要找老外沟通。我在泰国工作的时候了解到,HP在泰国份额超过EMC很多,主要就是HP售后热线提供泰语的服务。哎,不说了,希望以后的人学习高端存储看中文就可以了,但现在阶段,你必须把英文手册当小说看,否则你是学不到多少东西的。

希望大家积极反馈你的意见和建议,微信扫描如下二维码,关注微信公众号“高端存储知识”,与作者微信互动。