Пытаясь настроить несколько узлов CentOS для подключения к массиву Dell MD3600i, я сталкиваюсь с проблемой, что MD3600i показывает 4 разных портала (с разными IP-адресами). Когда я запускаю инициатор на стороне хоста, он подключается к каждому IP-адресу, который видел на этапе обнаружения; в результате дублируются.
Как я могу «заставить» инициатора отбросить все остальные IP-адреса и позволить мне выбрать только один портал IP-адресов для подключения?
Вы рассматривали возможность использования Multipath? В такой ситуации, как этот Multipath, по-прежнему разрешает все подключения к устройству, однако в случае отказа одного из них другой может взять на себя управление. В качестве альтернативы вы можете настроить Multipath на использование всех ссылок на хранилище, чтобы увеличить пропускную способность вашего устройства хранения. В любом случае можно использовать Multipath, чтобы все устройства отображались как одно устройство, если все они представляют один и тот же 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
Часто один массив хранения обслуживает данные в несколько разных сетей, где каждый подключающийся к нему инициатор имеет свои интерфейсы только в подмножестве сетей.
----------------------- ------------------------
department 1(vlan1,3) -- | | -- |storage ctlr 1(vlan 1-4)|
|shared storage fabric| | |
department 2(vlan2,4) -- | | -- |storage ctlr 2(vlan 1-4)|
----------------------- ------------------------
Многолучевость "объединит" четыре достижимые цели для deparmtent 1
хост в один узел сопоставления устройств. Однако это не избавило бы от ожидания недоступных vlan2
и vlan4
цели на тайм-аут во время загрузки.
Обнаружение iSCSI возвращает все целевые IP-адреса, как доступные, так и недостижимые. В дистрибутивах на основе SuSE есть апплет установки YaST iSCSI Initiator для настройки того, какие обнаруженные цели должны подключаться автоматически, а какие нет. Для дистрибутивов на основе 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