Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97961
  • 博文数量: 102
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1011
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-15 13:58
个人简介

普普通通一个人

文章分类

全部博文(102)

文章存档

2018年(1)

2015年(13)

2014年(88)

我的朋友

分类: 服务器与存储

2018-01-28 00:15:33

所谓的传统存储双控双活,我的目前的理解是这样,
首先,目的是啥?有两个
1、部件冗余,也就是高可用(HA)
2、负载均衡

双控的HA模式有三种,
1、HA:也就是A-P模式,在某一时刻只有一个控制器处理上层下来的业务,另一个控制器闲置,只有在活动控制器出现故障的时候,才切换到这个闲置的控制器,这种方式由于太过于土豪,等于花了两样的钱,只能使一样,所以基本没人用这种方式了。
2、互备:也称之为非对称双活,之所以称之为非对称,是因为两个控制器虽然都处理业务,但是每个控制器各干各的,互不干扰,每个控制器都有自己管辖的LUN,上层IO下来,控制器会判断这个IO是不是读写自己所管辖的LUN的,如果是,自己处理,如果不是,则转发给另一个控制器去处理。
3、双活:也成为对称双活,控制器已经不分你我,两个控制器无差别,无需判断哪个IO是哪个LUN的,来了就处理,LUN没有归属。


高可用 负载均衡
HA模式 有作用 无作用
互备模式 有作用 作用有限
双活模式 有作用 作用最大化
对于高可用:
三种模式对于高可用来说都是有用的,毕竟是两个控制器,都有备胎。好坏就要看两个控制器切换的时间了,时间越短,显然对业务造成的影响越少。
对于负载均衡:
  • HA模式对于负载均衡来说,完全没有作用,只有一个控制器工作还均衡个啥;
  • 互备模式对于负载均衡来说有一定作用,在某些场景下,作用很低,比如在IO都集中在某一个LUN的时候,控制器也束手无策,因为每个LUN都是有归属的,当这些IO不属于自己LUN的时候,这个控制器只能看着另一个控制器累死,自己无计可施。
  • 双活模式对于负载均衡来讲,作用最大,也是最理想的,因为他没有LUN的归属,两个控制器就是一个控制器,所以即便是上层IO猛读猛写某一个LUN,也无所谓,两边还是齐心合力共同干活。

另外,要实现负载均衡,光靠存储还不行,还要主机端的多路径软件来协同完成。多路径软件很多操作系统都是自带的,比如Linux的Multipath,windwos的MOIP,但是这些均衡软件只能实现基础的功能,要想实现更多的功能,还是要靠存储厂商配套的负载均衡软件。
负载均衡软件的作用基本是两个
1、盘符去重
2、寻找最优路径

盘符去重是指去掉重复的盘符,废话!因为主机一般会用两个HBA卡,引两条线分别连接到两个控制器,通过两个控制器都能看到某一个LUN,这个LUN会在主机上生成两个盘符,但其实这两个盘符指向的是同一个物理硬盘,负载均衡软件会通过WWN号来判断这两个盘符是否指向的是同一个磁盘,如果是,就消掉一个,如果不是,则留着。
寻找最优路径是啥呢,是尽量把IO分配给这个LUN所归属的那个控制器,避免出现控制器之间的转发,一转发就会降低性能。

这种负载均衡叫做以LUN为粒度的负载均衡,也就是判断这个IO是哪个LUN的,如下图,如果有个LUN2的IO,那么负载均衡软件会优先考虑控制器A,只有万不得已的情况下(例如A控已经满负荷运行),才会考虑B,然后由B转发给A。




为了主机(的多路径软件)与存储设备之间知己知彼,达到更好的负载均衡效果,需要一种方式进行主机与存储之间的交互,这种交互通常有带内,带外两种方式,一般都是带内,直接走FC或者SAS或者iscsi,,但是没有一种通用的协议来规定怎么传输,所以各个厂商都用自己的方式,后来scsi组织定制了ALUA协议,专门用来进行这类的传输。ALUA也被后人指代控制器互备(非对称式双活)这种HA方式,负载均衡以LUN为粒度进行。



对称式双活因为不牵扯到LUN的归属,所以根本不需要进行判断,不用ALUA进行主机(负载均衡软件)与磁盘阵列间的相互了解,后人成这种为SLUA模式。

那SLUA模式以什么为粒度来进行负载均衡呢?有两种,
1、以IO为粒度
2、以LUN块儿

以IO为粒度是最理想的,但是设计起来太复杂,成本很高,有人就想了一个办法,ALUA不是以LUN么,灵活性差,如果不属于这个LUN,控制器就无计可施。但是以IO的话呢,太麻烦了,能不能偷点懒,把LUN打碎,把这些打碎的块归属给两个控制器(LUN虽然无归属,但是LUN块有归属,严格意义上来说,还不是最纯粹的双活),这样一来,相当于在LUN和IO之间找了一个中间值,虽然不及IO粒度效果好,但是比非对称式的LUN粒度要好多了,如下图



所以,ALUA就表示非对称双活,而SLUA就表示对称双活,有两种实现方式,一个是IO,一个是LUN块。

双活这个词在市场上被包装成好多用语,比如A-A,A-P

目前市面上的产品A-A,基本也都是非对称的,真正的SLUA双活,太少了,好像HDS可以有~~
A-P基本没有了,A-P对应的就是HA,一个控制器工作一个不工作,这个基本没人要~~~


















阅读(901) | 评论(0) | 转发(0) |
0

上一篇:清理/var/log/messages的脚本

下一篇:没有了

给主人留下些什么吧!~~