Geralmente, um único storage array está servindo dados para várias redes diferentes, onde cada iniciador que se conecta a ele tem suas interfaces apenas em um subconjunto das redes.
----------------------- ------------------------
department 1(vlan1,3) -- | | -- |storage ctlr 1(vlan 1-4)|
|shared storage fabric| | |
department 2(vlan2,4) -- | | -- |storage ctlr 2(vlan 1-4)|
----------------------- ------------------------
O Multipath "mesclaria" quatro destinos acessíveis para deparmtent 1
host em um nó do mapeador de dispositivos. No entanto, ele não salvaria da espera de alvos inacessíveis vlan2
e vlan4
para tempo limite durante a inicialização.
A descoberta iSCSI retorna todos os endereços IP de destino, acessíveis e não alcançáveis. As distribuições baseadas em SuSE possuem um applet de configuração do Iniciador iSCSI do YaST para configurar quais alvos descobertos devem ser conectados automaticamente e quais não devem.
Para distribuições baseadas em RedHat, é necessário alterar manualmente o modo de inicialização nas descrições de destino armazenadas em /var/lib/iscsi/nodes/
de automatic
to manual
.
Estou usando um script para procurar os arquivos e atualizar a linha do modo de inicialização:
#!/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