漫谈高端存储阵列架构
华为 发表于:13年01月22日 15:35 [来稿] 存储在线
1 从阵列所要解决的问题说起
通常,业界按照价格、规模、性能等参数讲阵列产品划分为入门级、中端、高端三个级别。阵列往往要求在存取速度、可靠性、容量三者中取得一个权衡,任何一个阵列依据其定位的不同,这三点的权重会有所差别。
在存储系统中,对于单盘而言,失效可以假定是一个常态。一个拥有几十甚至上千硬盘的系统中,硬盘的失效不可避免的事情,因此,阵列必须解决可靠性的问题。目前,解决可靠性的技术手段主要是数据冗余技术,比如RAID技术,通过记录额外的数据校验来达到数据恢复的目的。
单盘由于受限于生产工艺,容量总是有限的,而用户往往希望得到更大的容量,因此硬盘阵列必须完成对多个单盘容量的整合,呈现给用户大的虚拟的硬盘。本质上,这就是一种虚拟化。
我们知道,物理硬盘的存取速度取决于机械马达旋转的速度,考虑到可靠性、散热、能耗、噪音等因素,转速不可能做的太高,目前硬盘速度一般在5000RPM-20000RPM之间,因此单盘的存取速度(带宽)总是很小,阵列需要有效的将多个物理带宽整合。
2 高端存储阵列架构
如果按照控制器的个数来对阵列架构进行分类,高端阵列可以分为双控(参见图1)与多控两大类。
2.1 双控架构
典型的双控系统中(参见图1),两个控制板通过镜像通道连接在一起,进行数据交换。每个控制板的后端分别接入物理硬盘的环路(通常物理硬盘是双端口,刚好可以接成两个环路,见图1),主机可以通过任何一个控制板接入存储阵列,并看见统一的LUN空间。
从软件上而言,由于只需要考虑两个控制器,和多控系统相比起来,双控系统的实现较为简单。
图1 双控架构
目前,在所有的高端存储阵列中,采取双控架构的只有IBM 2009年推出的DS8000系列。另外,在中低端存储阵列上基本上都采用双控架构。
由于双控系统受限于诸如计算资源、内存、带宽物理限制等因素,性能不可能做到太高,所以可以见到的绝大多数高端阵列都采取的是多控系统。