西瓜哥 发表于:13年08月13日 23:14 [原创] DOIT.com.cn
高端存储其实就是超级计算机
在谈高端存储的软件功能之前,我们先从并行处理这个方向聊一下高端存储的硬件架构,做一个补充吧:
我们先看几个概念:
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都可以用到所有节点的缓存,也算是一种全局缓存吧。