CodingBox Q&A Ask question

Домашняя лаборатория 16G FC без коммутатора: qla2xxx qlini_mode=disabled игнорируется на RHEL 8, нет целевых LUN

Asked Active Viewed 109 AI translation from English
7

Собираю дома схему Fibre Channel без коммутатора: одна коробка держит хранилище и должна выступать FC-целью, две другие - обычные инициаторы. Никакого FC-коммутатора посередине, просто прямые кабели между HBA.

Оборудование:

  • QLogic QLE2694 в коробке хранения, та, что должна быть целью
  • QLogic QLE2690 и QLE2692 в двух коробках-инициаторах
  • оптика FTLF8529P4BCV-QL 16G SFP+ LC, с кодировкой QLogic, 850 нм короткая дальность
  • шнуры OM3 многомод LC-LC 3 м между портами

С оптической стороной вообще никаких проблем. Порты поднимаются, карты видят друг друга, всё ведёт себя нормально, пока оба конца остаются инициаторами. Проблема в переключении коробки хранения в режим цели. Я поставил опцию модуля, пересобрал initramfs, перезагрузился, и параметр просто никогда не применяется:

# cat /etc/modprobe.d/qla2xxx.conf
options qla2xxx qlini_mode="disabled"

# after rebuilding the initramfs and rebooting
# cat /sys/module/qla2xxx/parameters/qlini_mode
enabled

targetcli запускается нормально, но пока режим инициатора всё ещё включён, нет никакой FC-фабрики, к которой можно подвесить backstore, так что ничего не экспортируется, и инициаторы видят пустой линк.

Что пробовал:

  • опцию в /etc/modprobe.d и, отдельно, в командной строке ядра
  • перегенерацию initramfs и конфигурации загрузки после каждого изменения
  • замену того, какая карта стоит в коробке хранения, на случай, если дело в особенности именно QLE2694

Это что-то про сборку драйвера в дистрибутиве, на котором я работаю, а он на базе RHEL 8, или я упускаю какой-то шаг в применении опции?

Comments 4

Accepted answer

Вы не упускаете шаг, опция просто не может работать там, где вы её запускаете. RHEL 8 и новее поставляют сборку qla2xxx, из которой вырезана возможность отключить режим инициатора, так что куда бы вы ни поставили qlini_mode="disabled", это игнорируется, и карта остаётся инициатором. С QLE2694, оптикой или волокном всё в порядке.

Два выхода: запустить целевой хост на дистрибутиве, который всё ещё держит режим цели в qla2xxx, либо собрать модуль самостоятельно, чего я бы не делал на коробке, предназначенной хранить данные. Я пошёл первым путём и поставил цель на Fedora Server 39.

После этого последовательность обычная:

options qla2xxx qlini_mode="disabled"

в modprobe.d, затем пересобрать initramfs и конфигурацию GRUB, перезагрузиться и проверить порты через

systool -c fc_host -v

Установите targetcli и sysfsutils, включите FC-порты, затем смэпьте свои тома LVM с NVMe как block backstore, привяжите их к WWN портов и дайте каждому инициатору свой ACL. Коробки-инициаторы можно оставить как есть, ограничение бьёт только по стороне цели.

Одна заметка по закупке для тех, кто будет делать это позже: предпочитайте QLE2690, QLE2692 и QLE2694 под брендом Dell, потому что их документация реально описывает режим цели, что экономит много гадания.

6 South Koreaedgenode14KR Show original (English) AI translation

Две вещи стоит уточнить, прежде чем кто-то начнёт гадать.

Первое, откуда у вас реально берётся qla2xxx: встроенный модуль, идущий с ядром дистрибутива, или сборка вне дерева, которую вы взяли у вендора и собрали сами? На базе RHEL 8 эти два варианта ведут себя очень по-разному здесь, и это важнее синтаксиса modprobe.

Второе, выложите systool -c fc_host -v с коробки хранения. Это скажет нам, реально ли порты поднимаются и на какой скорости, чтобы отделить вопрос драйвера от физического.

Также подтвердите оптику на обоих концах. FTLF8529P4BCV-QL - деталь 850 нм короткой дальности, ей нужно многомодовое волокно - на одномоде вы бы не получили вообще ничего, и я хочу это исключить, прежде чем говорить про режим цели.

0 United StateslasernodeUS Show original (English) AI translation

Встроенный драйвер: стоковое ядро и стоковый qla2xxx прямо из репозиториев дистрибутива, ничего не взято у вендора, ничего не собрано вручную.

systool -c fc_host -v показывает оба порта на QLE2694 в online на 16G, и одинаковые модули FTLF8529P4BCV-QL стоят на обоих концах на шнурах OM3 3 м, так что физический уровень реально ни при чём - как инициатор всё работает.

sysfs по-прежнему показывает qlini_mode как enabled после каждой пересборки и перезагрузки, независимо от того, ставлю ли я его в modprobe.d или в командной строке ядра. sysfsutils и targetcli установлены, сам targetcli запускается без жалоб, там просто нет ничего FC-образного, что можно было бы настроить.

0 CanadalaserowlCA Show original (English) AI translation

Смежная ловушка, которую стоит держать в голове при переносе целевого хоста на другой дистрибутив: убедитесь, что параметр попадает туда, откуда его реально читает путь загрузки именно этой коробки.

Классическая версия этого - хост Proxmox, который не принимал свою оптику. Администратор поставил ixgbe.allow_unsupported_sfp=1 в modprobe.d, затем в конфиг GRUB, и ни то ни другое ничего не дало, потому что машина грузится через EFI и вообще не трогает GRUB. Там параметр нужно ставить в /etc/kernel/cmdline, а следом выполнять pve-efiboot-tool refresh.

Та же сигнатура отказа, что и у вас: конфигурационный файл говорит одно, sysfs - другое, и вы теряете вечер, подозревая железо. Каким бы ни был хост, читайте значение обратно из /sys/module/... после каждой перезагрузки и доверяйте именно ему, а не файлу, который вы правили.

2 GermanywavesmithDE Show original (English) AI translation
Log in to comment. Log in