在前面的文章《详解IBM DS 存储 Failover 的三种模式》 中讲述了DS存储的三种failover模式,只是基于理论的,可能看起来有点云里雾里。时隔半年之后再来做个实验以加深对failover的理解。

------------------------------------------------------------------------------

实验环境及拓扑如下,

Host :windows 2008

存储:IBM DS3512(7.86.32.00)

Lun

Lun Owner/ISCSI IP

Size
Brody2

A/10.1.1.13

5GB
Brody3

B/10.1.1.14

6GB

IBM DS存储 failover实验_ failover

IBM DS存储 failover实验_IBM_02

主机使用iscsi initiator添加A控的ISCSI IP-10.1.1.13,注意,只添加了A控的iscsi ip,并没有添加B控的。

IBM DS存储 failover实验_multipath_03

想象一下,如果没有Multipath,AVT这些,正常情况下host是无法访问Brody3这个Lun的,因为host端到B控的路不通,而Brody3是被B控Onwer的。但实验结果却显示此时host能正常访问Brody3

IBM DS存储 failover实验_ failover_04

这是因为Brody3这个lun已经切换到A控,而host到A控的路是通的。

IBM DS存储 failover实验_multipath_05

那到底是什么机制导致的呢?从MEL中能看出来是AVT。

IBM DS存储 failover实验_multipath_06

可能有小伙伴们会问从哪里enable AVT?在之前的文章中已经讲述了,AVT它是在NVSRAM中的一个参数,当你在创建host选择host type时,由你的host type决定的,看看这个lab中host type设置的是

IBM DS存储 failover实验_ failover_07

再去查看下这种host type下,AVT到底有没有被enable或者disable。可以看到如下,说明AVT是enable的。这就验证了为什么MEL log中会有AVT的身影,原来是存储端的机制。

IBM DS存储 failover实验_ failover_08

那现在再来做个假设,如果我把主机改成默认disable AVT的,会怎么样呢?改成windows cluster,因为它的AVT默认是disable的(参考avtHostshow输出)。

现在把Brody3这个lun redistribute下,切到preferred path上

IBM DS存储 failover实验_AVT_09

但一会儿之后又立刻切到A控去了,有情况。。

IBM DS存储 failover实验_ failover_10

看下MEL,原来是mode page 2c,它是由host发送的,将Lun移到可访问的ctrl上去。

IBM DS存储 failover实验_ failover_11

13-9-13 15:57:31  715 300D Info 0/0/0  Enclosure 85, Slot A  Mode Sel page 2C , Host: 5(05h), move LUN 10 11
RDAC: 0002- Switch/Remain Dual Active, Alt RDAC: 0002-RDAC Opt: 02- Enable Forced Quiescence, Do Not Initiate Guaranteed Parity Scan

好吧,被你打败了,你主机安装了MPIO,那我来卸掉你,看你怎么办!

IBM DS存储 failover实验_multipath_12

卸载掉主机MPIO后,再试下redistribute lun,把Brody3这个lun切回B控,5分钟后,并没有切回A控

IBM DS存储 failover实验_multipath_13

这下host终于不能访问了,哈哈!

IBM DS存储 failover实验_ failover_14

那我们现在再把host type改成AVT enable的“Windows Server 2003/Server 2008 Non-Clustered (supports DMP)”,改完后MEL中可以看到发生了AVT

IBM DS存储 failover实验_ failover_15

IBM DS存储 failover实验_ failover_16

从host也能正常访问Brody3这个lun了

IBM DS存储 failover实验_multipath_17

-------------------------------------------------------------------------------

本篇只描述了AVT和MPIO这两种failover机制,至于第三种ALUA,以后会专门写一篇,期待后续~~~