#!/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
您是否考虑过运行多路径?在这种情况下,多路径仍然允许与设备的所有连接,但是如果一个发生故障,另一个可以接管。或者,您可以将多路径配置为使用存储的所有链接来增加存储设备的带宽。无论哪种方式,当所有设备都代表相同的存储 LUN 时,多路径可用于使所有设备显示为一个设备。
RHEL 5 的文档可以在这里找到: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
通常,单个存储阵列将数据提供给多个不同的网络,其中连接到它的每个启动器仅在网络的子集中具有其接口。
多路径会将主机的四个可达目标“合并”
deparmtent 1
到一个设备映射器节点中。但是,它不会避免等待无法访问vlan2
和vlan4
目标在引导期间超时。iSCSI 发现返回所有目标 IP 地址,包括可访问和不可访问的地址。基于 SuSE 的发行版有一个 YaST iSCSI Initiator 设置小程序来配置哪些发现的目标应该自动连接,哪些不应该。对于基于 RedHat 的发行版,必须手动将存储在
/var/lib/iscsi/nodes/
from下的目标描述中的启动模式更改automatic
为manual
.我正在使用脚本浏览文件并更新启动模式行: