存储 频道

存储那点事:基于集群的模块化存储

  【IT168 技术】

  基于集群技术的模块化存储器的设计思想

  根据我们前文的分析,基于阵列控制器技术的存储器历经软件RAID,硬件RAID卡和外置式RAID存储器三个步骤的发展,终于成功应对了一个主要的挑战——把存储器和主机逐步地分开,这是存储器工业发展非常重要的一步,标志着存储器工业终于独立了。然而在独立后,存储器要解决的下一步的问题是如何做大做强,设想一下我们从DAS演进到SAN以后现在常见的存储网络架构一般是这样的:数据中心存在多台服务器(其中运行核心应用的服务器会跑各种cluster集群软件),每台服务器配置了两块或者更多的HBA,通过两台SAN交换机(或者两个SAN Fabric)连接到一台存储器上面,而这个存储器采用的多半是我们谈到的基于集群技术的模块化存储器架构(见下图)。

  为什么会这么设计呢,这里就出现了一个可靠性的问题,我们经常会听到很多厂商在吹嘘自己存储器产品的高可靠性时常用到一个所谓5个9,或者说4个9之类的说法,这是什么意思呢?这里的几个9是指全年如果换算成分钟数,有百分之多少的可能性是可以在计划内安全运行的。比如说某个存储设备提供99.995%的高可靠性 ,我们可以具体换算一下365*24*60*(1-0.99995)=26.28,也就意味着平均每一年大概是26分钟的非计划宕机时间,而如果说集群提供99.998%的高可靠性,则一年大概是10分钟左右的宕机时间,而很多厂商经常吹嘘的所谓5个9,则是指一年只有5分钟左右的宕机时间,每年只有5分钟(一般在本地数据中心里面,做到5个9算是最高境界了),我的乖乖,挺厉害的吧。

  有看官一想,敢情这卖的存储器的九越多就越高档,就像高纯度黄金饰品一样“九”越多就卖得越贵,那干脆下一步弄个6个9、7个9,99个9?打住,坚决不能这么瞎想了,存储器毕竟也是个有技术含量的高科技行业,当然不能学习侯总“劳斯丹顿”的卖法了。

  那么这个几个9到底有怎么个说法呢?其实这是来自于IT业界的一些共识,一般来讲高品质的服务器(IA芯片或者RISC芯片)一般最多能够做到4个9的安全性,为了达到5个9的安全性,系统架构师们会把至少两台服务器通过集群软件(如微软的MSCS,HP MC ServiceGuard,IBM HACMP,Veritas的Clluster软件等等)组成一个cluster(集群)。这样即使一台服务器发生了故障(软件层面或者硬件层面)down机,集群里面另外一台服务器也会马上顶上去,通过两台服务器共同完成任务提供更高的安全性和可靠性,这样就从4个9进化到5个9进一步提高了可靠性。

  我们说过,存储器也是计算机,顺着这个思路往下面走,我们只要把两个用作存储器的专用计算机(这里称之为为存储控制器或者SP storage processor)组成一个集群,两个控制器同时接到磁盘柜(前面说过叫JBOD),把存储控制器和磁盘柜装在一个大盒子里面卖给用户,那么一个具有5个9的高可靠性存储阵列就出现了。采用这种架构的存储器主要包括以下部分:存储控制器2个组成集群和可以根据用户容量需求一个个添加磁盘柜模块,因此我们称之为“基于集群技术的模块化存储器”。

  集群模块化存储器设计经常会碰到的问题

  当然,这种基于集群技术的模块化存储器的设计也是一步步不断完善的。早期模块化存储器设计上有以下缺陷:

  1、 控制器处理能力不够:以前的集群式模块化存储器每块控制器一般最多支持几十块磁盘,随着磁盘容量变得越来越大而且现在往往最大要支持到数百块磁盘,控制器的处理能力要求越来越高。因此如何提升处理器的能力变成一个关键因素。

  2、 早期两个控制器共享一个大背板从而并不是完全独立,往往是装在一个大机箱里面的两块存储控制器(又叫SP storage processor)。在绝大多数情况下当存储控制器/SP级别出现问题时,可以由另外一个SP顶上。但是如果是这个共享的大背板出现问题,则整个存储器需要停机维护。因此在选购存储器时不能一味图价格便宜,我们需要仔细观察其控制器级别的冗余性;

  3、 有的存储器两个控制器确是完全独立的两个设备,可是每个控制器上面只有一个电源或风扇。这种设计往往会带来潜在的可靠性问题,要知道相比计算机电子设备,电源和风扇出故障的概率要大得多,而一旦电源或者风扇出了问题,你就需要把原来归属在该控制器上的lun全部映射到另外一个控制器上,这样往往会带来系统的down机,降低整个存储系统的可用性;

  4、 存储器控制器间互连只有一条线缆或者互连带宽不够。控制器互连的线缆作用非常重要,一来传递存储控制器间的控制信息,二来传递控制器间的心跳信息(做HA检测用),三来实现数据的跨控制器传输。当只有一条线缆且传输中断,两个控制器间由于信息无法交流,将导致存储停机;而如果互连线缆带宽不够也很容易出现“乒乓”效应(当然这也和存储管理员不正确的设置有关,我们将会在后文中详细阐述)。

  下文中我们将从以下几个方面讨论模块化存储器的提升方法

  1、 存储控制器设计方面:更快更多的处理芯片和更多的内存

  2、 存储控制器设计方面:更先进的专用ASIC芯片加速

  3、 存储控制器设计方面:更先进的控制器间互连技术

  4、 前端主机通道接口设计方面:更快的存储器前端主机连接

  5、 前端主机通道接口设计方面: 前端主机接口更多协议的接入能力

  6、 后端磁盘通道设计方面: 磁盘后端采用更多的并发通道

0
相关文章