在前面的文章《详解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 |
主机使用iscsi initiator添加A控的ISCSI IP-10.1.1.13,注意,只添加了A控的iscsi ip,并没有添加B控的。
想象一下,如果没有Multipath,AVT这些,正常情况下host是无法访问Brody3这个Lun的,因为host端到B控的路不通,而Brody3是被B控Onwer的。但实验结果却显示此时host能正常访问Brody3
这是因为Brody3这个lun已经切换到A控,而host到A控的路是通的。
那到底是什么机制导致的呢?从MEL中能看出来是AVT。
可能有小伙伴们会问从哪里enable AVT?在之前的文章中已经讲述了,AVT它是在NVSRAM中的一个参数,当你在创建host选择host type时,由你的host type决定的,看看这个lab中host type设置的是
再去查看下这种host type下,AVT到底有没有被enable或者disable。可以看到如下,说明AVT是enable的。这就验证了为什么MEL log中会有AVT的身影,原来是存储端的机制。
那现在再来做个假设,如果我把主机改成默认disable AVT的,会怎么样呢?改成windows cluster,因为它的AVT默认是disable的(参考avtHostshow输出)。
现在把Brody3这个lun redistribute下,切到preferred path上
但一会儿之后又立刻切到A控去了,有情况。。
看下MEL,原来是mode page 2c,它是由host发送的,将Lun移到可访问的ctrl上去。
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,那我来卸掉你,看你怎么办!
卸载掉主机MPIO后,再试下redistribute lun,把Brody3这个lun切回B控,5分钟后,并没有切回A控
这下host终于不能访问了,哈哈!
那我们现在再把host type改成AVT enable的“Windows Server 2003/Server 2008 Non-Clustered (supports DMP)”,改完后MEL中可以看到发生了AVT
从host也能正常访问Brody3这个lun了
-------------------------------------------------------------------------------
本篇只描述了AVT和MPIO这两种failover机制,至于第三种ALUA,以后会专门写一篇,期待后续~~~