在存储界,EMC是一艘巨型航母,其具有非常完整的产品线,从最普通的磁盘阵列开始到非常高端大气的SSD存储阵列,从支持小企业应用的小规模存储产品,到支持海量存储的云系统,从普通的备份软件到支持海量数据去重的备份系统。EMC都一一提供了解决方案,可以说EMC在存储界打造了一艘无与伦比的航空母舰。

面对EMC庞杂的存储系统,很多人都会无从选择。下面通过对EMC产品的特性,以及产品技术进行梳理,从而更好的理解EMC在存储界的布局。

高端存储阵列VMAX

VMAX产品就是我们很熟悉的在教科书上经常出现的Symatrix系统。该产品是一款高端的磁盘阵列系统,其采用星型网络互联的NUMA架构,VMAX的互联示意图如下所示:

wKiom1NQ4mrhmJeEAAFKq-GKK28099.jpg

通过上图可以看出,VMAX最多可以连接8head,每组head都是一对active-active双控对,也就是说整个系统最多可以互联16head。这16head通过rapidIO进行两两互联,从而形成非常复杂的互联网络,这个互联网络被称之为virtual matrix。从整个系统来看,VMAX是一套CC-NUMA系统,一个机头可以访问系统中的所有内存,位于Head本地的内存被称之为local内存,其余的为remote内存。在软件上,为了提高系统性能,在VMAX中加入了SSD作为cache,并且有一套Fast Automatically Storage Tier软件实现存储自动分层。

在市场上,和这套系统类似的系统有HP3PAR阵列,该阵列的结构和VMAX几乎一致,但是在硬件上做了很多特殊的定制,另外,3PAR没有采用RapidIO作为互连总线,其采用了PCI-E作为节点之间的互联,该产品的互连网络如下所示:

wKioL1NQ4mPQagEDAAC8vWeFljE788.jpg

值得一提的是3PAR实现了virtual RAIDRAID没有采用传统RAID的方式,而是建立在Chunk的基础之上。

除此之外,在高端阵列的市场领域,还存在着其他产品架构,例如IBMXIV具有更好的可扩展性。上面提到对于VMAX之类的架构,最大的问题在于可扩展性有限,因此,IBM的高端阵列提出了MPP的架构模式,IBMXIV架构如下所示:

wKiom1NQ4qjyvrAsAAEIB88lt-8711.jpg

在该架构中,interface moduledata module是分离的,他们通过以太网络或者Infiniband互连起来。这种架构的最大优点在于具有更高的可扩展性,但是,软件设计的复杂度要高于VMAX这种NUMA架构。

总体来讲,VMAX之类的高端阵列满足对IOPSThroughput有较高要求的应用,对于一般要求的应用,可以选用EMC的中低端存储产品VNX

中低端存储产品VNX

VNX产品包括原有的CelerraClariion系统。CelerraNAS/ISCSI机头,而Clariion则是提供后短存储的盘阵。目前,对于VNX产品系列提供了低端的VNXe和中端的VNX系列。下图是VNX盘阵的结构图:

wKiom1NQ4sTBvKRzAAGF-uN3ZOI679.jpg

从这个结构图可以看出VNX的后端是一种典型的双控盘阵。当然,VNX的软件有很多的附加值,例如其支持offline的重复数据删除,并且支持volume卷的thin provisioning,另外还支持块级快照等功能。在导出协议上,其支持NFSCIFSMPFSPNFSFCISCSI以及FCoE等协议。市面上的中低端存储,基本都是采用的这种双控模式,提高了系统的单机可靠性。IBMHPDELLNetAppHDS都有相应的产品。

去重备份存储DataDomain

DataDomain是一种后端去重设备。其可以支持多台备份服务器提供在线数据去重。

wKiom1NQ4u3x_Pe6AABXGy3hAM8193.jpg

在线块级数据去重的最大问题是性能问题。数据去重大家采用的原理都差不多,将数据流分成大小不等的块,自动分块算法各家有所不同,其基本目的是为了提高数据去重效率。常用的自动数据分段算法可以参考《重复数据删除过程中的数据自动分》。分段之后的数据块会通过SHA1算法得出一个Fingerprint,然后在系统中查找这个Fingerprint是否存在?如果存在,那么说明输入的数据段是一个重复数据,不需要保存在存储系统中。反之,输入的数据块会被保存到存储系统中。从这个过程可以看出,数据去重最大的问题在于如何查找fingerprint?由于一个存储系统数据量很大,那么这些fingerprint如何被管理、检索是系统实现的关键。DataDomain系统的硬件是自定义的Numa架构系统,Numa的意义在于可以支持很大的内存空间,如果将几乎所有的fingerprint都维护在内存中,那么Fingerprint检索问题就变成了内存操作问题。除了在硬件上自定义之外,DataDomain为了提高数据去重效率,在软件上也颇下了一番功夫。提出了SISL磁盘数据分布方式,以及采用VictorFingerprint Cache优化方式。其中最有意思的还是SISL磁盘数据分布方式,SISL充分考虑了备份数据流的数据相关性,因此在存储的时候相同stream的数据会连续分布在临近磁盘空间。这样可以最大限度提高磁盘性能。

DataDomain的最为后端备份产品,另一个很重要的特征是高数据可靠性,即使在多块盘坏的状况下,即使RAID已经失效,数据还是可以尽最大努力得以恢复,从而很好的保证了作为备份系统的数据高可用性。