博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解IBM DS 存储 Failover 的三种模式
阅读量:6657 次
发布时间:2019-06-25

本文共 2876 字,大约阅读时间需要 9 分钟。

在之前的《文章中简单描述了failover,提过有时间会写一篇关于failover mode的文章,因此才有了下文。

先来解释下什么是ADT/AVT,同样地,摘录自redbook中的一段话:

ADT is a built-in feature of controller firmware that allows logical drive-level failover rather than controller-level failover .ADT is not a failover driver. ADT provides storage systems with the flexibility to work with certain third-party failover software.ADT是控制器firmware中允许在lun层面上failover而不是在控制器层面上failover。ADT不是failover驱动,它提供存储系统和第三方failover 软件灵活配合。

怎么理解ADT是在lun层面failover,而不是controller层面,请往看下。

根据控制器firmware和多路径软件版本的不同,多路径驱动在控制器failover时会执行不同的动作。有三种failover mode。

1,AVT/ADT(Automatic Logical drive Transfer),如果主机类型被设置为enable AVT/ADT,多路径驱动会将IO重定向到另一个正常的controller。那这个surviving controller会接管lun并处理IO。只有受影响的lun才会切换到另一个controller上。当path恢复后,会自动redistribute lun到preferred controller上。这种模式在7.77.xx.xx及以前的版本被支持。

   如下图,当主机访问lun0时,发现通过A控访问不了,那多路径软件会通过B控来访问lun0,并且只有被访问的lun0会切换到B控上,没有受影响的lun2则不会切换。再回头看看,是不是lun层面的failover?确实是,因为它只是将受影响的lun切换到surviving controller上。

2,RDAC failover mode(RDAC mode == non-AVT mode),如果主机类型被设置为disable AVT/ADT或non-AULA,多路径驱动会发出一个”mode page 2C”给surviving controller,让它接管所有的lun,此时所有的lun都会切换到surviving controller上。接着surviving controller就会高高兴兴地接管lun并处理IO。但区别是即使一切都optimal了,surviving controller也不会把lun的控制权交还给之前的controller。霸道吧,此时就需要管理员手动redistribute lun了。这种模式在所有控制器firmware中都支持。

   如下图,当主机通过A控访问lun0和lun2,发现访问不了,多路径软件发出mode page 2C后,B控会把所有的lun都接管过来。而这第2种模式就是和第1种模式对应的controller级别的failover。

3,ALUA(Asymmetric Logical Unit Access) mode,在7.83及以后,如果主机被设置为enable ALUA,这就有点复杂了。举个例子,

   如下图,A控还是好的,但是到达A控的路径fail了,这种情况下,如果enable ALUA,那么B控会将IO还交给A控来处理,而不是接管LUN并自己处理IO,这就比较大方了吧,呵呵。当然也不能老是这样“傻大哈”啊,占用自己资源不说,还得不到任何好处。如果这条到达A控path 在过去5分钟之内shipped 超过 75%的IO,那对不起了,B控会将lun“夺”过来,自己处理IO。这样也算得对起A控了。。

   使用了ALUA,那就减少了一些不必要的transfer。

总结:(1)、第1种是ADT/AVT enable,第2种是RDAC(ADT/AVT disable),那有人会有疑问了,有没有RDAC(ADT/AVT enable)这种模式呢,答案是No,请看下面一句话:

ADT/AVT is a feature provided with code which help in volume transfer from one controller to another AND only one feature can stay on Host either RDAC from IBM or ADT/AVT enabled from IBM with third party failover driver. If both (RDAC and ADT/AVT enabled) are being used at the same time then Lun thrashing will occur which causes. 即要么是IBM的RDAC(ADT/AVT disabled),要么是ADT/AVT enabled配合第三方failover驱动,两者选其一!

写到这里,有的用户会有问题了,如果客户不使用RDAC,使用自己的multipath driver,那可以么?答案是,如果AVT是enabled,那就可以。如果是disabled,那failover就不会生效,即一旦有路径中断,那就造成lost access了。

Anyway,Be sure that the operating systems are using RDAC when you disable AVT. Otherwise, it loses access to the logical drive, since other systems will not failover properly as their multi-path I/O driver is based on AVT.

     (2)、 7.77.xx.xx和之前的firmware支持AVT/ADT和RDAC的failover模式,7.83.xx.xx和以后的版本只支持RDAC和ALUA的模式,不支持AVT/ADT。

     (3)、下面的表格列出了不同OS下哪种failover mode被enable。

   (4)、各种主机类型下默认的ADT状态:

PS:更多关于IBM DS系列存储的文章,请点击

本文转自 taojin1240 51CTO博客,原文链接:http://blog.51cto.com/taotao1240/1135679,如需转载请自行联系原作者
你可能感兴趣的文章
大中型企业的天网:Apache Geode
查看>>
为什么应该学习Kotlin
查看>>
敏捷项目管理,POLYV来支招
查看>>
宝马将机器架上微软 Azure,国内科技巨头也难抵汽车“诱惑”
查看>>
官宣!微软宣布桌面版 Edge将基于Chromium进行开发\n
查看>>
全面了解大数据“三驾马车”的开源实现
查看>>
2017敏捷沙滩大会:完美软件,测量持续交付,以及探索未来
查看>>
QCon北京2015:18个热门专题,出品人全部确认,新版网站上线
查看>>
MongoDB又不加密,8.09亿条个人详细记录泄露
查看>>
LFE将Lisp编程带到Erlang虚拟机上
查看>>
在持续交付中加入自动化验收测试支持
查看>>
开发速度快10倍!Airbnb用GraphQL+Apollo做到了
查看>>
用Python做地图投影 - 多面孔的世界
查看>>
练出更好的团队
查看>>
使用Windows兼容包简化向.NET Core的迁移
查看>>
微软宣布Azure Migrate和Site Recovery服务增强功能
查看>>
明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员工直接看
查看>>
计算机网络基础2
查看>>
奇虎360正式开源其深度学习调度平台,支持TensorFlow、MXNet等框架
查看>>
准官宣?余承东证实华为已有自研操作系统
查看>>