【IT168 技术】
更先进的控制器间互连技术
前面两节我们谈到的都是如何让单个存储器控制器的处理能力变得更快,而另外一个提升模块化存储器控制器处理能力的方法是使两个存储控制器从非对称处理模式(Asymmetric)转移到对称处理模式(Symmetric)。
非对称处理模式(Asymmetric)、对称处理模式(Symmetric)这是一个让一般读者听起来颇为绕口,也显得颇为专业的提法,下图显示了对称式处理模式和非对称处理模式两者架构的区别,从图上我们可以看出其主要区别是在于symmetic双活架构的存储器的两个控制器内部又细化成了前端卡和后端卡,另外两个控制器之间出现了互连通道(Broadband cross band):
很多读者会问,一般很多存储厂商不都是说他们的存储器都是Active/Active双活架构的吗,怎么又冒出来一个对称不对称的讲法呢?会不会是又在炒作新概念啊?下面我们来详细看看这两种架构的区别。
下图是我们常见的主机通过SAN交换机和存储器互连的拓扑架构图:
我们可以看到每台主机一般是通过多通道软件连接到控制器(如EMC的Powerpath,HP的SecurePath,IBM的SDD,Veritas的DMP或者HDS的HDLM等)再通过两台FC交换机连接到两个存储控制器,然后存储器把内部的磁盘(如LUN 1、LUN2)分别映射给不同的主机。比如把lun1映射给上图左边红色的主机1,把lun2映射到上图右边蓝色的主机2。另外很重要的一点是一般传统的Asymmetric存储器在把lun映射到主机时,必须要指定一个onwer控制器且不能在线改变(术语称“属主控制器”),比如说lun1是通过控制器0映射给红色的主机1,而lun2是通过控制器1映射给蓝色的主机2,如果某个lun如果要改换控制器映射mapping,往往需要停机或者说手工切换,这样尽管从宏观上来看控制器间确实是做到双活active-active(两个控制都同时在工作,都有自己所属的lun),但是细细分析会有以下潜在的问题:
1、 存储规划上带来的额外负担:在存储规划初期必须仔细考虑把每一个lun的属主控制器,尽量把任务均衡地分布在每个控制器上。
2、 控制器间很难做到负载均衡:不同的业务系统的工作负载往往是不一样的,如果规划初期控制器任务分配不均衡,运行后很难做到在线调整,需要有停机时间;
3、 如果一个控制器坏掉了,所属的lun需要全部重新mapping,而如果该控制器只是短暂停止工作而马上又重新恢复处理,那么lun的归属就很有可能会在两个控制器间跳来跳去,这就是存储行业里面经常讲到的“乒乓效应”(lun的归属权在两个控制器间来回跳动,就像乒乓球一样)。
造成这些原因的根本问题是传统的Asymmetric存储器器的每个控制器都是一体化设计,控制器是一个最小的原子单位没有办法可以进一步细化了。而基于Symmetric架构的模块化存储器就可以很大程度上避免这个问题,因为如前面图中所介绍的,存储器的两个控制器里面又进一步细化了前端卡(负责和主机连接)和后端卡(负责和后端的lun连接),两个控制器间的前端和后端卡都可以做到any to any的互连。这样的架构下,每个lun的owner属主控制器就存在动态变化的可能性。
如下图所示,如果主机连接到具备了Symmetric架构的存储器,存储管理员不需要预先为每个lun指定onwer控制器(可以由控制器随机分配),通过存储器的软件可以非常方便做到两个控制器间lun的owner切换,负载均衡。
可以说基于Symmetic架构的模块化阵列具有非常好的控制器间负载均衡调节的能力,算是模块化存储器的一种创新(其创新类似早期数据库Oracle从一主一备进化到双instance同时工作的OPS,再进化到多数据库instance同时工作的Oracle RAC和Oracle Grid)。
现阶段支持此架构的存储器包括3PAR公司的Titan系列存储器,HDS的AMS2000系列存储器、DDN公司的S2A系列存储器、Pillar Data System公司的Axiom系列存储器(由Oracle公司老大Larry同学私人出资成立的存储公司,真是财大气粗啊)都具备此项功能。其中3PAR和Pillar公司的产品更是跳出两个控制器间负载均衡的限制,可以从2个控制器间扩展到多达8个控制器间的负载均衡和任务切换,可以说具备更加先进的架构。