Назад | Перейти на главную страницу

Как заставить инициатор iscsi входить в систему только один раз

Пытаясь настроить несколько узлов 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