关于传统存储的发展史,早期已有人做过大量分析和总结。私有云、存储服务化、智能运维这些字眼吸引着大众眼球,那今天为什么还要旧话重提呢?一个时代眼看就要离我们而去,昔日的辉煌照亮眼下前进的方向,传统硬件存储盒子仍旧有很多东西值得我们品味和回顾。
架构演变贯穿存储发展历程,存储起源于高端,那就从存储多控架构开始回顾,最早的多控制器存储其产品名为HDS通用存储平台(Universal Storage Platform即USP/USP V)。从历史信息上可以看到,HDS在2000推出全交换架构后,EMC在3年后也推出了直连矩阵架构存储DMX。
这就是历史有名的存储三层架构,即前端、Cache和后端,架构紧耦合可靠性独尊的优秀多控存储架构。下面就从DMX入手说一说这个架构的主要特点。
DMX的Front-endDirector (FED)、Global Memory Director (GMD)、Back-end Director (BED)全互连、全共享,不需要交换机组件(因为HDS已经用了)。DMX自从2003年诞生最终发展到第四代DMX-4,在DMX架构中,每个Global Memory Director均与系统中所有FED、BED直接相连,可被其直接访问。因此系统中所有内存均为全局Cache。
多个Director访问共享内存实际上是易造成冲突的;前后端基于大背板相连,也就造就了对FED、BED、GMD的Scale Out数量有限,无法进一步增加。任何技术的发展都具有历史和技术的局限性,但回想起来,在当时条件下能够设计出这样的产品,确实值得后人钦佩。我们经常会抱怨,产品架构设计的不好,不易技术演进和扩展,最终导致产品版本众多,架构无法归一,无法演进,但假如能冲出历史局限性,当初产品会那么设计吗?其实架构师也不容易,做过就知道,过去如此,将来亦如此。
架构在演进,HDS于2010年底将对其高端存储架构进行了升级(发展到第5代),称为Hi-Star全交换网络。相应的,推出了虚拟化存储平台(Virtual Storage Platform即VSP)。VSP较好的支持了Scale-out能力,即两个控制框(Control Chassis)互连成为一套存储系统,基于交换机和大背板的全互连架构,这个架构直到今天也在沿用(***VSP架构有更新,但变化不大),被称为可靠性***的系统之一。
前端处理单元(FED)、后端处理单元(BED)、控制处理单元(VSD)、Cache单元(DCA)在框内全冗余,且通过交换单元(GSW)实现全互联(Hi-Star Network),框间亦通过GSW实现互联。HDS-VSP支持两个控制框(ControlChassis)通过每个GSW预留的4个端口进行互联,从物理组网上看,VSP的各个组件(FED、BED、DCA)是做到了全局共享(指跨控制框的共享)的。
演进再继续,VMAX引入了引擎的概念,每个引擎含两个控制器,每个控制器里面集成了FE、BE与内存(Global Memory***128GB),控制器之间通过RapidIO交换机MIBE(Matrix Interface Board Enclosure)实现高速互连。Scale-out能力得到了极大增强(8引擎16控)。
VMAX每个控制器上的内存分为全局内存(Global Memory)、临时中转内存(Store and Forward)和控制内存(Control Store)。
全局内存用来保存全局的数据,如用户数据、全局变量等。
临时中转内存用于缓存控制器与主机或后端硬盘交换的数据,起中转隔离作用,全局内存不直接跟主机或硬盘交互数据。
控制内存用于存储控制器上的私有信息,例如软件包等。
对每个VMAX控制器而言,对于本地的全局内存和远端的全局内存(即其它控制上的全局内存),其访问接口沿袭DMX技术,由底层实现本地与远端的分别处理(远端访问则通过RapidIO通道进行跨控访问),降低了控制器访问全局内存的冲突。
VMAX松散耦合的Virtual Matrix Architecture (***VMAX产品架构有更新,但变化不大),将来原先DMX的FED、BED、GMD上的CPU全部集中到控制器上,VMAX后端与磁盘框的连接是双控共享,一个磁盘框的两个端口分别与同一个引擎两个控制器的BED相连,扩展性明显增强了。
整个多控存储架构演进可以归纳如下,至于单控松耦合架构,目前在分布式Share Nothing架构中也采用比较多,主要用于大容量和易扩展的场景,但是VIX是一个比较有趣的产品,扩展性控制在15节点以内,在ServeSAN、全闪存和高端产品场景都经常遇到,大家可以自行分析下。
还有个传奇的产品就是DS8000系列产品,现在已经更新到DS8888,虽然为传统双机架构,但战斗力不容小觑,核心关键业务场景下,经常看到他的身影。利用两台小型机的强大能力,实现了其它厂家的多控高端存储才能实现的高可靠与高性能。
产品都是被需求给逼出来的,高端存储平民化后,不同需求随着而来,存储产品也被厂商们分为入门级、低端、中端、高端几个档位。但对于什么样的存储产品是高端、中端和低端,业界并没有一致的定义。存储的神奇之处就是百花齐放、百家争鸣,每家都有自己的定义和理解,包括现在大家开口就谈的SDS技术,也没有统一标准,谁***市场谁说了算。不像IP或网络、通信协议都有标准组织定义标准规范让大家遵循,车同轨、书同文。
没有实际标准,那就按照经验来吧,因此,对产品等级和高低划分都是围绕着系统架构、前端Aactive Active、Cache机制、后端互连、可靠性等重点领域实力来划分。厂商们相互挤怼也是从这些维度入手,一度让人记忆犹新的就是规格大战,A厂商单卷支持1024个快照,B厂商采用2048个快照完胜;但细细一想应该是心里战术吧,客户对单卷打2048个快照可以干什么呢。细细一想,可能控制器能否支持大型机、QoS、持续镜像、是否数控分离、是否为Active-Active工作模式反而更加有价值些,毕竟负载均衡和故障实时切换在一定程度上能保证客户数据资产安全和用户体验。
云的时代已经来临了,在云上,客户以后可能不再关心底层存储盒子是什么,是哪个厂商的,提供的IP SAN和是FC SAN,客户关注的是所需要的SLA能否满足,是否可以通过友好的租户Portal去申请需要的资源,然而为了满足不同SLA要求,底层设备可以服务器,性能可以通过WebSale扩展能力满足,可靠性可以通过云主机双活满足,网络和安全可以通过软件或硬件SDN实现,运维将进入智能运维。
除了上面谈到的存储架构,传统存储发展这么久,厂商厮杀这么久,还留下了那些值得今后更新和借鉴的呢?