试图设置几个CentOS节点连接到一个戴尔MD3600iarrays,我遇到的问题,MD3600i显示4个不同的门户网站(不同的IP地址)。 当我在主机端启动启动器时,它连接到在发现阶段看到的每个IP地址; 导致重复。
如何“强制”发起者丢弃其他所有IP地址,并让我只select一个IP地址门户连接?
通常,单个存储arrays正在将数据提供给几个不同的networking,其中连接到它的每个发起者仅在其子网中具有其接口。
----------------------- ------------------------ department 1(vlan1,3) -- | | -- |storage ctlr 1(vlan 1-4)| |shared storage fabric| | | department 2(vlan2,4) -- | | -- |storage ctlr 2(vlan 1-4)| ----------------------- ------------------------
多path会将deparmtent 1主机的四个可达目标合并到一个设备映射程序节点中。 但是,在启动过程中不能保存不可达的vlan2和vlan4目标超时。
iSCSI发现返回所有目标IP地址都可达和不可达的目标IP地址。 基于SuSE的发行版具有YaST iSCSI Initiator设置小程序,可以configuration哪些发现的目标应自动连接,哪些不应该连接。 对于基于RedHat的发行版,必须手动将存储在/var/lib/iscsi/nodes/下的目标描述中的启动模式从automatic更改为manual 。
我正在使用脚本浏览文件并更新启动模式行:
#!/bin/bash for tgt in /var/lib/iscsi/nodes/*/* ; do echo $tgt if [ -f "$tgt"/default ] ; then mode=$( grep node.startup "$tgt"/default | sed -e 's/^.*=//' -e 's/ //g' ) if [ "$mode" = "automatic" ] ; then echo "Switch to manual [y/n]?" read ANS case $ANS in y|Y) echo "BEFORE:" head -3 $tgt/default perl -p -i -e \ "s{node.startup = automatic}{node.startup = manual}" \ $tgt/default echo "AFTER:" head -3 $tgt/default ;; n|N) echo "ok, will keep as is" ;; *) echo "wrong answer" ;; esac else echo "Already in manual mode" fi # mode is automatic fi # defaults exist done
你考虑过运行多path吗? 在这样的情况下,多path仍然允许所有到设备的连接,但是如果一个连接断开,另一个可以接pipe。 或者,您可以configuration多path以使用存储的所有链接来增加存储设备的带宽。 无论哪种方式,可以使用“多path”使所有看到的设备在同一个存储LUN中显示为一个设备。
RHEL 5的文档可以在这里find:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/DM_Multipath/index.html
RHEL 6: http : //docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/DM_Multipath/index.html