Fibre Channel LUN повторно сканировать и QLogic

8

У меня серьезная проблема с массивом хранения SAN, подключенным к блоку Linux через Fibre Channel. Вот конфигурация:

  • Debian с простым ванильным Linux 2.6.27.25
  • Оптоволоконный контроллер QLogic 4Gb с двумя портами (на базе ISP2432)

В основном проблема заключается в следующем: как получить это #? @ !! Контроллер / драйвер FC для правильного распознавания изменений конфигурации (новых или удаленных LUN) массива хранения?

  1. когда я создаю новый LUN в моем массиве (обычно это снимок некоторого существующего LUN) и сопоставляю его с моим HBA, я не могу распознать его должным образом: rescan-scsi-bus -l -w -rфактически что-то обнаруживает (универсальное устройство / dev / sgXX), но не блочное устройство создан (/ dev / sdXX).
  2. То же самое при выдаче LIP и повторного сканирования вручную:

    echo 1> / sys / class / fc_host / host6 / issue_lip

    echo "- - -"> / sys / class / scsi_host / host6 / scan

  3. если я удаляю существующий LUN, ни выдача LIP и повторное сканирование, ни rescan-scsi-bus не имеют никакого эффекта. Предыдущие устройства остаются там и, конечно, не работают («file -s / dev / sdXX -> I / O error»).

  4. перезагрузка драйвера qla2xxx работает. Однако это совершенно неработоспособно в производственной среде.

По-видимому, это очень распространенная проблема с QLogic . Существует какое-то решение, которое работает только при использовании выпущенного драйвера QLogic, доступного только для корпоративных дистрибутивов RedHat и Suse: см. Это объяснение .

Дополнительная информация :

Вот scsi устройства до LIP и повторного сканирования:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3

После LIP и повторного сканирования у меня новое устройство sg, но нет подходящего диска. Если я перезагружаю драйвер, появляется диск:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3
/dev/sg6  6 0 0 3  3

~# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  8 0 0 0  0  /dev/sdc
/dev/sg4  8 0 0 1  0  /dev/sdd
/dev/sg5  8 0 0 2  0  /dev/sde
/dev/sg6  8 0 0 3  3

Изменить: ОК, очевидно, это крепкий орешек. Я спрошу LKML и сообщу здесь.

wazoox
источник
Тот драйвер QLogic, о котором вы говорите, может быть скомпилирован и для других дистрибутивов - это не двоичный двоичный объект.
Капитан Сегфо
Хорошо, где я могу найти это тогда? Я собрал все ядро, еще один драйвер не проблема вообще.
wazoox
У меня возникла эта проблема, вам удалось узнать что-нибудь?
ThatGraemeGuy
Извините, пока нет информации.
wazoox

Ответы:

2

Если вы не можете обнаружить блочное устройство, но не создаете / dev / device, вы можете создать это устройство вручную. Это не оптимально, но может вас хромать. Старший и младший номера представлены в / proc / partitions, и вы можете создавать свои собственные блочные устройства с помощью команды mknod.

 # mknod /dev/sdg4 104 17

Однако я чувствую твою боль. QLogic предлагает скачать драйвер для RHEL и SUSE, но, похоже, других дистрибутивов нет. OpenSUSE может иметь драйверы под маркой QLogic, но я не уверен в этом. Я проверю ближе, когда доберусь до работы.

Изменить : я на работе, и кажется, что драйверы QLogic на моих коробках SLES все поставляются QLogic один. Их ОС поддерживает сетку:

http://filedownloads.qlogic.com/files/Driver/71098/readme_driver_80223.html#os_support

И все же, когда я загружаю стандартное ядро ​​2.6.27.25 и заглядываю в файл ./drivers/scsi/qla2xxx/qla_version.h, это почти те же номера версий, что и в моих дистрибутивах Novell (как SLES, так и бесплатный openSUSE). Это говорит о том, что решение, которое вы нашли для SLES / RHEL, может фактически работать со стандартным ядром 2.6.27.25.

sysadmin1138
источник
К сожалению, это не может работать, потому что в нем упоминается использование несуществующего файла (/ proc / scsi / qla2xxx / ...) и команды (scsi-qlascan), которая отсутствует в исходном коде драйвера.
wazoox
1

Привет, Wazoox. Я столкнулся с тем же профессионалом с моим SAN-боксом. У меня есть Google и несколько советов, которые последуют, если можно попробовать. Я думаю, что он начнет работать. Есть один инструмент, называемый emcgrab tools. работает или нет.

какой san box ru используете?

Вот несколько советов, которые следуют за этим . HTML

http://forums13.itrc.hp.com/service/forums/bizsupport/questionanswer.do?admit=109447627+1250262043169+28353475&threadId=1154098

http://www.linuxquestions.org/questions/linux-enterprise-47/connect-debian-etch-to-ibm-san-meaning-of-sns-scan-failed-570598/

http://solutions.qlogic.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=9223615&sliceId=SAL_Public&dialogID=4725381&stateId=0%200%204711370

Раджу
источник
Да, в Google много советов, но большинство, если не все, о RedHat / SuSe и проприетарном драйвере Qlogic ... Однако одна из ваших ссылок дала мне идею, я вернусь :)
wazoox
Ну, я попробовал с последней прошивкой, но не повезло ...
wazoox