URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96955
[ Назад ]

Исходное сообщение
"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"

Отправлено leopold , 31-Июл-17 14:28 
Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь.

Дано:
   Freebsd 10.3 custom kernel
   Карточка Qlogic QLE2462 dual port 4gb подключенная к Brokade 7500

В ядре:

   device          isp

hint.isp.0.role="1"
hint.isp.1.role="1"

hint.isp.0.fullduplex="1"
hint.isp.1.fullduplex="1"

device          ispfw

options         ISP_TARGET_MODE=1
options         ISP_DEFAULT_ROLES=1

В /boot/device.hints:
hint.isp.0.vports="4"
hint.isp.1.vports="4"

На https://www.freebsd.org/releases/10.3R/announce.htm чёрным по-аглицки написано:

The isp(4) driver has been updated and improved: It now also supports 16 Gbps Fibre Channel adapters, has improved target mode support and completed Multi-ID (NPIV) functionality.

Карточка это понимает.
В доке http://www.qlogic.com/Resources/Documents/DataSheets/Adapter...:
"Multi-ID and N_Port virtualization ready: allows physical ports to be
part of multiple logical networks"

Пишут, что в Solaris это это как два байта переслать:
"fcadm create-npiv-port -p Virtual_Port_WWN -n Virtual_Node_WWN PhysicalPort_port_WWN"

Люди добрые, КАК это сделать в FreeBSD??? Куда копать? Мозги уже поплавились.
Гайдов по этому поводу 0.


  



Содержание

Сообщения в этом обсуждении
"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 31-Июл-17 16:36 
Так а в чем проблема?  После установки hint.isp.0.vports="4" у системы вместо каждого порта долно появиться пять (если свич поддерживает NPIV).  После этога настраивай их как обычно.

"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 31-Июл-17 16:37 
Но обновиться до 11.1 было бы неплохо.

"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 31-Июл-17 17:29 
> Но обновиться до 11.1 было бы неплохо.

Свитч NPIV понимает (судя по его отчётам), NPIV на портах включен.
Касательно 11.1 не знаю, но драйвер mfi0  LSI MegaRAID SAS 9266-8i намертво вешает ядро 11.0

root@NAS:/usr/home/leopold # ctladm port -l
Port Online Frontend Name     pp vp
0    YES    ioctl    ioctl    0  0
1    YES    tpc      tpc      0  0
2    YES    camsim   camsim   0  0  naa.5000000233412f03
3    YES    camtgt   isp0     0  0  naa.2100001b3295a735
4    YES    camtgt   isp1     0  0  naa.2101001b32b5a735


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 31-Июл-17 17:55 
>[оверквотинг удален]
> 0    YES    ioctl    
> ioctl    0  0
> 1    YES    tpc    
>   tpc      0  0
> 2    YES    camsim   camsim
>   0  0  naa.5000000233412f03
> 3    YES    camtgt   isp0
>     0  0  naa.2100001b3295a735
> 4    YES    camtgt   isp1
>     0  0  naa.2101001b32b5a735

А в `dmesg |grep isp` нет ругани про "MULTIID"? Загрузись с bootverbose и проверь что "Attributes: " включает MULTIID и VP0.  Убедись что ты грузиш правильную фирмварь через ipfw(4).


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 31-Июл-17 17:57 
> Убедись что ты грузиш правильную фирмварь через ipfw(4).

В смысле ispfw(4).


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 31-Июл-17 23:39 
>> Убедись что ты грузиш правильную фирмварь через ipfw(4).
> В смысле ispfw(4).

root@NAS:/usr/home/leopold # dmesg |grep isp
isp0: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x5000-0x50ff mem 0xfbef0000-0xfbef3fff irq 24 at device 0.0 on pci16
isp0: Chan 0 setting role to 0x1
isp1: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x5400-0x54ff mem 0xfbee0000-0xfbee3fff irq 34 at device 0.1 on pci16
isp1: Chan 0 setting role to 0x1
vgapci0: <VGA-compatible display> port 0x3000-0x30ff mem 0xe8000000-0xefffffff,0xf1ff0000-0xf1ffffff irq 23 at device 3.0 on pci1
(ctl0:isp0:0:-1:ffffffff): ctlferegister: Enable LUN failed, status 0x3e
ctlfe_onoffline: isp0 current WWNN 0x2000001b3295a735
ctlfe_onoffline: isp0 current WWPN 0x2100001b3295a735
ctlfe_onoffline: SIM isp0 (path id 2) target enable succeeded
(ctl0:isp1:0:-1:ffffffff): ctlferegister: Enable LUN failed, status 0x3e
ctlfe_onoffline: isp1 current WWNN 0x2000001b32b5a735
ctlfe_onoffline: isp1 current WWPN 0x2101001b32b5a735
ctlfe_onoffline: SIM isp1 (path id 3) target enable succeeded

Где-то так. Если-бы в dmesg была-бы ругань, рыл бы в сторону фирмвари.

C verbouse так:
root@NAS:/usr/home/leopold # dmesg |grep isp
isp0: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x5000-0x50ff mem 0xfbef0000-0xfbef3fff irq 24 at device 0.0 on pci16
isp0: Chan 0 setting role to 0x1
isp1: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x5400-0x54ff mem 0xfbee0000-0xfbee3fff irq 34 at device 0.1 on pci16
isp1: Chan 0 setting role to 0x1
vgapci0: <VGA-compatible display> port 0x3000-0x30ff mem 0xe8000000-0xefffffff,0xf1ff0000-0xf1ffffff irq 23 at device 3.0 on pci1
isp0: isp_handle_platform_atio7: [0x114944] no state pointer for lun 0 or wildcard
isp0: isp_find_xs: bad handle 0x80ce5d70
isp0: CTIO returned by f/w- Port not available
isp0: NO xs for CTIO (handle 0x80ce5d70) status 0x28
isp1: isp_handle_platform_atio7: [0x114944] no state pointer for lun 0 or wildcard
isp1: isp_find_xs: bad handle 0x80ce5d70
isp1: CTIO returned by f/w- Port not available
isp1: NO xs for CTIO (handle 0x80ce5d70) status 0x28
isp0: isp_handle_platform_atio7: [0x114970] no state pointer for lun 2 or wildcard
isp1: isp_handle_platform_atio7: [0x114970] no state pointer for lun 2 or wildcard

Криминеля по сабжу вроде не наблюдается.


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 01-Авг-17 11:18 
C verbose должно быть так (правда это на head, но не думаю что должна быть разница):

isp0: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0xf000-0xf0ff mem 0xfbc40000-0xfbc43fff irq 50 at device 0.0 on pci10
isp0: Using Memory space register mapping
isp0: Chan 0 setting role to 0x1
isp0: loaded firmware isp_2400
isp0: Board Type 2422, Chip Revision 0x3, loaded F/W Revision 7.3.0
isp0: Attributes: IP MultiID T10CRC MSIX VP0_Decoupling (unknown 0x0000000000000400)
isp0: 2048 max I/O command limit set
isp0: attempting to allocate 2 MSI-X vectors (16 supported)
isp0: using IRQs 293-294 for MSI-X
isp0: Chan 0 0x2000001b328d44c0/0x2100001b328d44c0 Role Target
isp0: Chan 1 0x2000001b328d44c0/0x2200001b328d44c0 Role None
isp0: Chan 2 0x2000001b328d44c0/0x2300001b328d44c0 Role None
isp0: Chan 3 0x2000001b328d44c0/0x2400001b328d44c0 Role None
isp0: Chan 4 0x2000001b328d44c0/0x2500001b328d44c0 Role None


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 01-Авг-17 11:53 
>[оверквотинг удален]
> isp0: Board Type 2422, Chip Revision 0x3, loaded F/W Revision 7.3.0
> isp0: Attributes: IP MultiID T10CRC MSIX VP0_Decoupling (unknown 0x0000000000000400)
> isp0: 2048 max I/O command limit set
> isp0: attempting to allocate 2 MSI-X vectors (16 supported)
> isp0: using IRQs 293-294 for MSI-X
> isp0: Chan 0 0x2000001b328d44c0/0x2100001b328d44c0 Role Target
> isp0: Chan 1 0x2000001b328d44c0/0x2200001b328d44c0 Role None
> isp0: Chan 2 0x2000001b328d44c0/0x2300001b328d44c0 Role None
> isp0: Chan 3 0x2000001b328d44c0/0x2400001b328d44c0 Role None
> isp0: Chan 4 0x2000001b328d44c0/0x2500001b328d44c0 Role None

Если не секрет, Вас debug включен и какая версия BSD?
Версия фирмвари в исходниках 10.3 и 11.1 одинакова : 7.03.00, а вот драйвера isp разные.


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 01-Авг-17 11:56 
> Если не секрет, Вас debug включен и какая версия BSD?

Это без дебага, только bootverbose, как я и сказал.  А версия, как я тоже сказал, head -- тоесть 12-CURRENT.


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 01-Авг-17 12:27 
>> Если не секрет, Вас debug включен и какая версия BSD?
> Это без дебага, только bootverbose, как я и сказал.  А версия,
> как я тоже сказал, head -- тоесть 12-CURRENT.

Попробую глянуть на 12-CURRENT, но по-моему это рисково. Если заведётся, значит в десятке недоработка. Отпишусь.


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено Alexander Motin , 01-Авг-17 12:33 
> Попробую глянуть на 12-CURRENT, но по-моему это рисково. Если заведётся, значит в
> десятке недоработка. Отпишусь.

Я бы начал с проверки bootverbose.  То что я вижу не bootverbose не похоже.


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено eRIC , 01-Авг-17 12:40 
что выдает:
#sysctl dev.isp.

так же не видно тип FC в списке сtladm port -l, может следует включить их: ctladm port -o on -t fc


"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 02-Авг-17 00:20 
> что выдает:
> #sysctl dev.isp.
> так же не видно тип FC в списке сtladm port -l, может
> следует включить их: ctladm port -o on -t fc

Громадное спасибо всем кто откликается.
Поставил 12 CURRENT, но видать где-то лихо набокапорил в ядре и теперь в ctladm FC порты не вижу. Буду пересобирать с нуля из NOTES. Это как в старых добрых квестах - начал тупить, отвлекись, на свежую голову увидишь правильный ответ. Ветку не забрасываю, отпишусь в обязательном порядке.



"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено leopold1024 , 02-Авг-17 14:29 
Alexander Motin и eRIC, спасибо Вам громадное за небезразличное отношение к страждущим.
Косяк чисто мой - из серии "бледнолиций и грабли". Конфиг ядра изначально правился из /sys/conf/NOTES >> /sys/amd64/NOTES > my.conf и кочевал с дополнениями из 10.3 в 11.1 и 12.0. Был пропущен хэш в начале строки
# To statically compile in device wiring instead of /boot/device.hints
hints          "LINT.hints"            # Default places to look for devices.
со всеми вытекающими...
Мораль: Начать с нуля и потратить час на правку и внимательную вычитку конфига несоизмеримо проще чем биться головой об стену и морочить голову приличным людям.
В результате:
>>Так а в чем проблема?  После установки hint.isp.0.vports="4" у системы вместо каждого >>порта долно появиться пять (если свич поддерживает NPIV).  После этога настраивай их как >>обычно.

Абсолютно справедливо, на Brocade после ctladm port -o on -t = fc появляются виртпорты со своими WWNами.
>>так же не видно тип FC в списке сtladm port -l, может следует включить их: ctladm port ->>o on -t fc

Если всё правильно, должны быть видны все фсишки, но без ввн-ов, пока не включишь.

Ещё раз спасибо, больших Вам upтаймов и шёлковых юзарей.



"Создание Virtual Fibre Channel Ports в FreeBSD требуется помощь"
Отправлено eRIC , 03-Авг-17 10:12 
> Ещё раз спасибо, больших Вам upтаймов и шёлковых юзарей.

Всегда пожалуйста! :)