@ Карта сайта News Автора!

Bog BOS: hardware:  Fibre Channel (FC)

Последнее изменение файла: 2019.04.29
Скопировано с www.bog.pp.ru: 2024.03.28

Bog BOS: hardware: Fibre Channel (FC)

Технология Fibre Channel (FC) - стек протоколов для реализации сетей хранения данных (SAN, Storage Area Network) - разрабатывалась с 1988 года в качестве коммутируемой технологии с малыми задержками для магистральных IP сетей как замена FDDI и 100BaseT (IBM, HP, Sun). Однако, появление Gigabit Ethernet поставило крест на этих планах. В то же время, наработки по FC были использованы Seagate для противостояния с новым протоколом SSA (serial storage architecture) доступа к НЖМД фирмы IBM (ирония судьбы!). Таким, образом от "магистрального" проекта пришла коммутируемая топология, а от "дискового" - кольцевая (как более дешёвая). Принимается подкомитетом ANSI T11 (первая версия в 1994 году) в виде стандартов протокола FC (каждый стандарт описывает часть протокола, новая версия не отменяет легитимность предыдущей) и технических отчётов (описывается как обеспечить взаимодействие между различными реализациями). FCIP - Fibre Channel over TCP/IP (RFC 3821, RFC 3643, 2004, сессионный уровень OSI), позволяет прозрачно объединять несколько FC сетей в одну логическую FC сеть (выглядит как кабель между коммутаторами), предусмотрено использование IPSec. iFCP - Internet Fibre Channel Protocol (RFC 4172, RFC 3643, 2005, сессионный уровень OSI), часть функций FC реализован средствами TCP/IP, кроме прозрачного режима (как в FCIP) имеет режим трансляции адресов, что помогает бороться с проблемами падения IP каналов. FCIP и iFCP могут использоваться для передачи SCSI команд поверх FC, который в свою очередь реализуется поверх TCP/IP. По моему, это перебор. IPFC - IP поверх FC возможен, но очень редко используется. FCP - SCSI-3 поверх FC.

Стек протоколов Fibre Channel

Стек протоколов Fibre Channel

Для работы FC-3 требуются услуги FC-2 (адресация узлов), вместе с тем определяется услуга "Link Service", которая требуется для работы FC-2. Так что на самом деле слои FC-2 и FC-3 лежат "рядом", а не "над" и соответствуют сессионному (регистрация процесса), транспортному уровню (регистрация порта, PLOGI) и уровню данных модели OSI. Сетевой уровень модели OSI обеспечивается внешними средствами (описывается в FC-BB).

FC-0 - физический уровень

FC-0 - физический уровень описывает кабели, разъёмы и приёмопередатчики (трансиверы). Допускается использовать как медные (до 1Gbps, коаксиальный/BNC или STP/DB-9, до 25м), так и оптоволоконные компоненты (до 4Gbps, точнее 4.25Gbps "сырых" данных). Для передачи сигнала по одномодовому оптическому кабелю с внутренним диаметром 9 мкм (2100м для 4Gbps) используется длина волны 1550 нм или 1300 нм, а для многомодовых кабелей с внутренним диаметров 50 мкм (175м для 4Gbps) и 62.5 мкм (90м для 4Gbps) - 850 нм.

Новые модификации на 8 и 10 Gbps. Дальность зависит от марки многомодового кабеля и скорости (2/4/8): OM1 (150/70/21м), OM2 (300/150/50м) и OM3 (500/380/150м). 10 Gbps несовместим с предыдущими версиями из-за особенностей кодировки. Номинальная скорость - 10.5 Gbps, пропускная способность - 1275 МБ/сек, полезная пропускная способность - 1000 МБ/сек.

Оптические кабельные разъёмы изготавливаются в виде пары SC (квадратные, могут вставляться только одним образом) или LC (квадратные, раздельные или разделяемые ;).

Типы трансиверов FC (вставляются в порт, позволяют перенастроить устройство на другой тип кабеля):

FC-1 - протокол управления передачей

FC-1 - протокол управления передачей определяет алгоритмы кодирования и обнаружения ошибок (10e-12). Каждые 8 бит данных, предназначенных для передачи, преобразуются в 10 бит для физической передачи (8B/10B, схема K28.5), поэтому для определения реальной скорости передачи необходимо умножить "сырую" скорость на 0.8 (3.4Gbps полезных данных без учёта потерь на оформление кадров и т.д.; 3.3Gbps с учётом накладных расходов). При передаче на скорости 10Gbps используется кодирование 64B/66B.

Управляющие сигналы: idle (обмен при простое для сохранения синхронизации), receiver_ready (R_RDY, увеличивает счётчик межточечных кредитов), virtual_circuit_ready (VC_RDY, увеличивает счётчик межбуферных кредитов), buffer-to-buffer_state_change (BB_SC, сброс буферных кредитов в начальное состояние), clock synchronization (SYN, синхронизация времени). Управляющие последовательности (передаются, пока приёмник не ответит): offline state (OLS), not operational state (NOS), link reset (LR), link reset response (LRR)

FC-2 - протоколы обмена

FC-2 - протоколы обмена, управления сетевым доступом и каналом (аналогичен MAC-уровню Ethernet).

WWN (World Wide Name) - 64-битное имя устройства (NWWN, WWNN) или порта (PWWN, WWNP). Прописывается при изготовлении устройства (предполагается уникальность в мире). Иногда может изменяться администратором. Обычно записывается в виде последовательности шестнадцатеричных чисел, разделённых двоеточиями. Старшие 4 (или 2) бита описывают тип и формат адреса:

Идентификатор узла (FCID) является 24-битным (уникален в пределах сети). Старшие 8 бит идентификатора узла являются идентификатором домена (Domain_ID, назначается коммутатору при включении главным коммутатором или статически администратором). Некоторые значения Domain_ID зарезервированы: 0x00 - кольцевая сеть (FC-AL); 0xF0-oxFE - зарезервированы; 0xFF - специальное назначение (многоадресные, широковещательные рассылки, WKA - Well Known Address - сервисы). Средние 8 бит идентификатора узла являются идентификатором области (Area_ID, группа портов одного коммутатора). Младшие 8 бит идентификатора узла являются идентификатором порта (Port_ID). Иногда Area_ID не используется, а Port_ID становится 16-битным. Area_ID и Port_ID назначаются статически администратором или динамически коммутатором (возможно запоминание на следующий раз). Одно устройство может иметь несколько FCID (NPIV, виртуализация N_Port - каждому виртуальному инициатору присваивается свой уникальный идентификатор).

Порт (с физической точки зрения - разъём) - точка соединения узла с сетью, осуществляет реализацию протокола обмена кадрами и управления потоком. Порт может одновременно участвовать в обменах с несколькими другими портами. Обмен состоит из одной или нескольких последовательностей - однонаправленных неделимых (кроме потоковых последовательностей) передач между узлом-инициатором и узлом-получателем. Идентификатор обмена (FQXID) складывается из S_ID, D_ID, OX_ID и RX_ID. Последовательность состоит из одного или нескольких кадров (обычно 2KB, определяется при регистрации порта PLOGI): преамбула, заголовок, адрес (?), номер кадра, данные, контрольная сумма, подтверждение, маркер окончания кадра. Идентификатор последовательности складывается из S_ID, D_ID, OX_ID, RX_ID и SEQ_ID.

Формат кадра (единый формат всех кадров, заголовки всех уровней слиты):

  • опциональный ESP (IPSec) заголовок (8 байт)
  • опциональный сетевой заголовок (16 байт; используется при присоединении FC сети к не-FC сети)
  • опциональный заголовок ассоциации (32 байта; идентификация процесса; не используется в FCP)
  • опциональный заголовок устройства (16/32/64 байта; не используется в FCP)
  • данные протокола верхнего уровня(0-2112 байт)
  • заполнитель до границы слова (0-3 байта)
  • опциональный ESP (IPSec) завершитель (12-32 байта)
  • CRC (4 байта)
  • конец кадра (4 байта; EOF; позволяет также задать положение кадра в последовательности (последний или нет) и статус (valid, invalid, corrupt))
  • Типы топологии сети FC:

    Кольцевая сеть работает в полудуплексном режиме, коммутируемая и точка-точка - в полнодуплексном.

    Инициализация и автосогласование: в начале согласуются скорости устройств, затем параметры кольца, затем параметры коммутатора.

    Регистрация порта в коммутируемой сети (FLOGI) необходима до первого обмена данными между конечными портами и состоит из одного обмена кадрами: определяется наличие коммутатора, сообщает имя узла и порта, сообщает характеристики порта коммутатору, получает характеристики сети от коммутатора, назначается идентификатор порта, инициализируется механизм управления потоком.

    Регистрация порта (PLOGI) позволяет установить соединение между конечными портами. До регистрации обмен данными невозможен (в частности, для получения сервиса от коммутатора необходимо предварительно зарегистрироваться). Регистрация бывает неявной. Регистрация состоит из одного обмена кадрами: каждый порт сообщает своё имя и имя своего узла, а также характристики обмена (наличие поддержки различных методов сегментации; MTU; DiffServ; метод синхронизации времени; политика обработки ошибок; возможность совмещать различные информационные категории внутри одной последовательности; максимальное количество одновременных последовательностей в классе обслуживания и внутри каждого обмена). Параметры могут быть изменены без закрытия соединения (?) командой PDISC. Порт может иметь несколько одновременно открытых соединений (только одно соединение между парой портов, т.е. все приложения должны разделять одно соединение).

    Типы портов:

    Управление потоком осуществляется с помощью буферных кредитов (тип управления потоком и количество буферных кредитов согласуется во время присоединения):

    Класс услуг (class of service, CoS), реализованных конкретным оборудованием определяет особенности передачи данных:

    Услуги WKA:

    FCNS (Fibre Channel Name Service) обеспечивает не только преобразование имён в адреса, но позволяет осуществлять поиск услуг по адресу узла и типу услуги (FC-4 ULP). Каждый узел может зарегистрироваться (и обычно регистрируется) на FCNS с предоставлением своего имени, идентификатора (адреса) и услуг. При регистрации узла в коммутируемой сети он получает адрес узла и выдаёт запрос "get next", на который FCNS выдаёт информацию об узле с большим адресом. Таким образом, новый узел получает список всех узлов сети и обрашивает их с помощью "SCSI REPORT LUNS". Вместо "get next" узел может выдать запрос "get port identifiers" и получить список узлов, обеспечивающих требуемую услугу. FCNS может быть реализован как в коммутаторе (WKA - well known addresses - 0xFFFFFC), так и на любом узле. Коммутаторы обмениваются между собой информацией о локальных зарегистрированных узлах. Узел может подписаться на получение извещений об изменениях (state change registration, SCR). Пространство узлов делиться на зоны. Узел может принадлежать к нескольким зонам. Членство в мягких (soft) зонах определяется именем узла, именем порта или адресом порта. Членство в жёстких зонах задаётся коммутатором. Для общения узлы должны иметь хотя бы одну общую зону. Управляющий узел может настраивать топологию зон с помощью сервера зон (FC zone server, FCZS).

    Для управления обменом могут использоваться команды сервиса канала: BLS (basic link service) рассматривается как часть текущего обмена и состоит из одного кадра и одного ответа; ELS (extended link service) может состоять из нескольких кадров в каждом направлении и составляет отдельную последовательность в новом обмене.

    Команды BLS:

    Команды ELS:

    FC-3 - групповое управление

    FC-3 - многопортовые услуги, групповое управление.

    FC-4 - интерфейс с протоколами высокого уровня

    FC-4 - настройка (protocol mapping) на протокол высокого уровня (ULP, Upper Level Protocol), например, FCP (Fibre Channel Protocol, реализация SCSI-3 для последовательной передачи) заключается в описании расположения и порядка передаваемых блоков сообщения. Имеются также настройки для IP, VIA (Virtual Interface Architecture) для кластерных приложений, HIPPI, IEEE 802.2 и пр..

    Стандарт FC-GS (ANSI T11 Fibre Channel Generic Services) описывает несколько дополнительных распределённых (обращение к любому коммутатору позволяет управлять всей сетью) сервисов управления:

    Обеспечение безопасности

    FC-SP (Fibre Channel Security Protocols) описывет механизмы обеспечения безопасности (заголовок IPSec - ESP - встраивается непосредственно в кадр FC).

    Для аутентификации (на базе имён WWN) используются протоколы Diffie-Hellmann CHAP (DH-CHAP, используется разделяемый секрет), Fibre Channel Authentication Protocol (FCAP, используется PKI), Fibre Channel Password Authentication Protocol (FCPAP, используется SRP (RFC 2945)).

    Правила авторизации позволяют задать какой клиентский порт может присоединиться к коммутатору, к какому коммутатору может присоединиться этот клентский порт, какие коммутаторы могут быть соединены между собой.

    Разделение на зоны позволяет ограничивать возможные пары портов. Мягкое разбиение на зоны обеспечивается FCNS с помощью Fibre Channel Zone Server (FCZS). Жёсткое разбиение обеспечивается на уровне портов коммутатора. Маскирование может быть обеспечено средствами самого устройства хранения, которое может скрывать некоторые LUN от запросов SCSI REPORT LUN, исходящих от "неподходящего" инициатора.

    Контроллеры QLogic QLA2440-CK и QLE2460-BK и QLE2562

    Контроллер (HBA) QLogic QLA2440-CK (QLE2460-BK, QLE2562-DEL) - контроллер HBA для одного (одного, двух) порта Fibre Channel 4Gb (4Gb, 8Gb):

    Значение индикаторов: все горят - firmware загружается (драйвером); все мигают одновременно - firmware загружен, мигает жёлтый индикатор - активность 4Gbps.

    Встроенное в BIOS ПО Fast!UTIL (обновление с гибкого диска с помощью FlasUtil и VPD) вызывается при загрузке по Alt+Q или Ctrl-Q и позволяет (требуется перезагрузка):

    Информация об устройстве (lspci)

    QLA2440
    
    0a:01.0 Fibre Channel: QLogic Corp. ISP2422-based 4Gb Fibre Channel to PCI-X HBA (rev 02)
            Subsystem: QLogic Corp. Unknown device 0147
            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
            Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
            Latency: 128 (16000ns min), Cache Line Size: 32 bytes
            Interrupt: pin A routed to IRQ 66
            Region 0: I/O ports at 4000 [size=256]
            Region 1: Memory at e8200000 (64-bit, non-prefetchable) [size=4K]
            [virtual] Expansion ROM at 88000000 [disabled] [size=256K]
            Capabilities: [44] Power Management version 2
                    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                    Status: D0 PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [4c] PCI-X non-bridge device
                    Command: DPERE- ERO+ RBC=512 OST=12
                    Status: Dev=0a:01.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=4096 DMOST=12 DMCRS=64 RSCEM- 266MHz+ 533MHz-
            Capabilities: [64] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
                    Address: 0000000000000000  Data: 0000
            Capabilities: [74] Vital Product Data
    
    QLE2460
    
    02:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
    	Subsystem: QLogic Corp. Unknown device 0137
    	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    	Latency: 0, Cache Line Size: 64 bytes
    	Interrupt: pin A routed to IRQ 177
    	Region 0: I/O ports at 2000 [size=256]
    	Region 1: Memory at b1a00000 (64-bit, non-prefetchable) [size=16K]
    	Expansion ROM at b8000000 [disabled] [size=256K]
    	Capabilities: [44] Power Management version 2
    		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [4c] Express Endpoint IRQ 0
    		Device: Supported: MaxPayload 1024 bytes, PhantFunc 0, ExtTag-
    		Device: Latency L0s <4us, L1 <1us
    		Device: AtnBtn+ AtnInd+ PwrInd+
    		Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
    		Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    		Device: MaxPayload 256 bytes, MaxReadReq 2048 bytes
    		Link: Supported Speed 2.5Gb/s, Width x4, ASPM L0s, Port 0
    		Link: Latency L0s <4us, L1 unlimited
    		Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
    		Link: Speed 2.5Gb/s, Width x4
    	Capabilities: [64] Message Signalled Interrupts: 64bit+ Queue=0/4 Enable-
    		Address: 0000000000000000  Data: 0000
    	Capabilities: [74] Vital Product Data
                    Product Name: PCI-Express Single Channel 4Gb Fibre Channel HBA
                    Read-only fields:
                            [PN] Part number: QLE2460
                            [SN] Serial number: RFD1014A90053
                            [V0] Vendor specific: PW=15W
    	Capabilities: [7c] MSI-X: Enable- Mask- TabSize=16
    		Vector table: BAR=1 offset=00002000
    		PBA: BAR=1 offset=00003000
    	Capabilities: [100] Advanced Error Reporting
    	Capabilities: [138] Power Budgeting
    
    QLE2562
    
    01:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
    	Subsystem: QLogic Corp. Device 015d
    	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    	Latency: 0, Cache Line Size: 64 bytes
    	Interrupt: pin A routed to IRQ 16
    	Region 0: I/O ports at e100 [size=256]
    	Region 1: Memory at fe484000 (64-bit, non-prefetchable) [size=16K]
    	Expansion ROM at fe440000 [disabled] [size=256K]
    	Capabilities: [44] Power Management version 3
    		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [4c] Express (v2) Endpoint, MSI 00
    		DevCap:	MaxPayload 1024 bytes, PhantFunc 0, Latency L0s <4us, L1 <1us
    			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
    		DevCtl:	Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
    			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
    			MaxPayload 128 bytes, MaxReadReq 2048 bytes
    		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
    		LnkCap:	Port #0, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <512ns, L1 <2us
    			ClockPM- Surprise- LLActRep- BwNot-
    		LnkCtl:	ASPM L0s Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
    			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    		LnkSta:	Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    		DevCap2: Completion Timeout: Range B, TimeoutDis+
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
    		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -6dB
    	Capabilities: [88] MSI: Enable- Count=1/32 Maskable- 64bit+
    		Address: 0000000000000000  Data: 0000
    	Capabilities: [98] Vital Product Data
    		Product Name: PCI-Express Dual Channel 8Gb Fibre Channel HBA
    		Read-only fields:
    			[PN] Part number: QLE2562
    			[SN] Serial number: RFD1116P00894
    			[V0] Vendor specific: PW=15W
    			[MN] Manufacture ID: 50 58 32 38 31 30 34 30 33 2d 33 30 20 20 48
    			[V1] Vendor specific: 02.00
    			[V3] Vendor specific: 04.04.00
    			[V4] Vendor specific: 02.16
    			[V5] Vendor specific: 02.00
    			[YA] Asset tag:                 
    			[RV] Reserved: checksum good, 0 byte(s) reserved
    		End
    	Capabilities: [a0] MSI-X: Enable+ Count=2 Masked-
    		Vector table: BAR=1 offset=00002000
    		PBA: BAR=1 offset=00003000
    	Capabilities: [100] Advanced Error Reporting
    		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
    	Capabilities: [138] Power Budgeting
    	Kernel driver in use: qla2xxx
    	Kernel modules: qla2xxx
    01:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
            ...
    

    При работе в Linux используется модуль qla2xxx (входит в поставку RHEL/CentOS), который использует модуль scsi_transport_fc и scsi_mod. QLogic поставляет также модули qla2xxx_conf (привязка устройств и multipath, QLA_OPTS читает /etc/qla2xxx.conf и модифицирует бинарный модуль qla2xxx_conf.ko) и qla2400 (загрузка firmware) - не смотрел. В /etc/modprobe.conf ничего ("alias scsi_hostadapter4") не добавлял. Драйвер поддерживает топологии кольцо, точка-точка, коммутируемая сеть. Только режим инициатора. Восстановление при падениях кольца. До 4096 LUN. Поддержка FC лентопротяжки. Имеется поддержка отображения устройств (WWN на scsi id/LUN). Выгружать модуль не рекомендуется.

    Журнал загрузки модуля, инициализации кольца и обнаружения диска:

    QLogic Fibre Channel HBA Driver: 8.03.07.03.06.1-k
    qla2xxx 0000:0a:01.0: Found an ISP2422 (ISP2432 для QLE2460, ISP2532 для QLE2562), irq 66, iobase 0xffffc20000020000
    qla2xxx 0000:0a:01.0: Configuring PCI space...
    qla2xxx 0000:0a:01.0: Configure NVRAM parameters...
    qla2xxx 0000:0a:01.0: Verifying loaded RISC code...
    qla2xxx 0000:0a:01.0: firmware: requesting ql2400_fw.bin | ql2500_fw.bin
    qla2xxx 0000:0a:01.0: FW: Loading via request-firmware...
    qla2xxx 0000:01:00.0: Allocated (64 KB) for FCE... # для QLE2562
    qla2xxx 0000:0a:01.0: Allocated (64 KB) for EFT...
    qla2xxx 0000:0a:01.0: Allocated (1413 KB) for firmware dump...
    scsi5 : qla2xxx
    qla2xxx 0000:0a:01.0: 
     QLogic Fibre Channel HBA Driver: 8.01.07-k7 (8.03.00.1.05.05-k, 8.03.07.03.06.1-k, 8.03.07.05.06.2-k)
      QLogic QLA2440 - HP AE369A
      ISP2422: PCI-X Mode 1 (133 MHz) @ 0000:0a:01.0 hdma-, host#=5, fw=4.00.150 [IP]
    
        или
    
      QLogic QLE2460 - PCI-Express Single Channel 4Gb Fibre Channel HBA
      ISP2432: PCIe (2.5Gb/s x4) @ 0000:02:00.0 hdma+, host#=8, fw=4.04.09 (486)
                                                       host#=0, fw=5.03.16 (496)
    
        или
    
      QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA
      ISP2532: PCIe (5.0GT/s x4) @ 0000:02:00.0 hdma+, host#=0, fw=5.06.02 (90d5)
      ...
      ISP2532: PCIe (5.0GT/s x4) @ 0000:02:00.1 hdma+, host#=1, fw=5.06.02 (90d5)
    
    qla2xxx 0000:0a:01.0: LIP reset occured (f8f7).
    qla2xxx 0000:0a:01.0: LIP occured (f8f7).
    qla2xxx 0000:0a:01.0: LOOP UP detected (4 Gbps).
      или
    qla2xxx 0000:02:00.0: LOOP UP detected (8 Gbps).
    qla2xxx 0000:02:00.1: LOOP UP detected (8 Gbps).
    
      Vendor: YB-16SAE  Model: RAID6fromFULL15   Rev: R001
      Type:   Direct-Access                      ANSI SCSI revision: 05
    
      Vendor: XYRATEX   Model: F5412E            Rev:
      Type:   Processor                          ANSI SCSI revision: 05
    
    sde : very big device. try to use READ CAPACITY(16).
    SCSI device sde: 19042962432 512-byte hdwr sectors (9749997 MB)
    sde: Write Protect is off
    sde: Mode Sense: bf 00 00 08
    SCSI device sde: drive cache: write back
     sde:<4>GPT:Primary header thinks Alt. header is not at the end of the disk.
    GPT:196484095 != 19042962431
    GPT:Alternate GPT header not at the end of the disk.
    GPT:196484095 != 19042962431
    GPT: Use GNU Parted to correct GPT errors.
    
    sd 5:0:0:0: Attached scsi disk sde
    sd 5:0:0:0: Attached scsi generic sg4 type 0
    
      или
    
    scsi 0:0:0:0: Direct-Access     HP       MSA2312fc        M112 PQ: 0 ANSI: 5
    scsi 0:0:1:0: Direct-Access     HP       MSA2312fc        M112 PQ: 0 ANSI: 5
    scsi 1:0:0:0: Enclosure         HP       MSA2312fc        M112 PQ: 0 ANSI: 5
    scsi 1:0:1:0: Enclosure         HP       MSA2312fc        M112 PQ: 0 ANSI: 5
    sd 0:0:0:0: [sda] 39030892800 512-byte logical blocks: (19.9 TB/18.1 TiB)
    sd 0:0:1:0: [sdb] 39030892800 512-byte logical blocks: (19.9 TB/18.1 TiB)
    sd 0:0:0:0: [sda] Write Protect is off
    sd 0:0:1:0: [sdb] Write Protect is off
    sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    sd 0:0:0:0: [sda] Attached SCSI disk
    sd 0:0:1:0: [sdb] Attached SCSI disk
    

    Параметры модуля (некоторые можно динамически изменить через /sys/module/qla2xxx/parameters/):

    Разделяемая библиотека /usr/lib/libqlsdm.so используется многими утилитами.

    Пакет QLogicHBACIMProvider-*.rpm (в /opt/QLogic_Corporation) обеспечивает SNIA SMI-S API (для Pegasus?).

    Библиотека SNIA API (libHBAAPI, qlapi-*, SNIA API v2.0).

    Пакет SANsurferCLI (scli-1.7.0-12.i386.rpm, scli-1.7.3-40.i386.rpm, /opt/QLogic_Corporation/SANsurferCLI/; при установке ведётся поиск sfcli.sig по всей файловой системе) позволяет в интерактивном режиме и режиме командной строки получать информацию о HBA и всей FC сети, настраивать HBA, тестировать устройство и канал (тесты loopback и SFF DMI не работают). В качестве параметра можно указать HBA: номер, WWPN. Ключи:

    Информация о конфигурации (scli -Z):

    ------------------------------------------------------------------------------
    Host Name                  : xxx
    OS Type                    : Linux - CentOS release 5  x86_64
    OS Version                 : 2.6.18-53.1.21.el5
    FO API Version             : 3.0.0 build2
    SDM API Version            : v3.00 build10
    ------------------------------------------------------------------------------
    HBA Model QLA2440:
      Port 1 WWPN  SN  (HBA 0) Online
    ------------------------------------------------------------------------------
    Total QLogic HBA(s) : 1
    
    HBA General Information
    ------------------------------------------------------------------------------
    Host Name                  : xxx
    HBA Model                  : QLA2440
    HBA Alias                  : 
    Port                       : 1
    Port Alias                 :
    Node Name                  : 
    Port Name                  : 
    Port ID                    : 00-00-EF
    Serial Number              : 
    Driver Version             : 8.01.07-k7
    BIOS Version               : N/A
    Firmware Version           : 4.00.150 [IP] 
    HBA Instance               : 0
    HBA ID                     : 0-QLA2440
    Actual Connection Mode     : Loop # не работает в режиме P-to-P!
    Actual Data Rate           : 4 Gbps
    PortType (Topology)        : NLPort
    Total Number of Devices    : 1
    PCI Bus Number             : 10
    PCI Device Number          : 1
    HBA Status                 : Online
    ------------------------------------------------------------------------------
    
    HBA VPD Information
    ------------------------------------------------------------------------------
    Product Identifier     : PCI-X 2.0 Single Channel 4Gb Fibre Channel HBA
    Part Number            : QLA2440
    Serial Number          : 
    Misc. Information      : PW=15W;PCI=66MHZ;PCI-X=133MHz
    Manufacturing Id       : FC2410401-41  F
    EFI Driver Version     : 01.09
    Firmware Version       : 04.00.30
    BIOS Version           : 01.29
    FCode Version          : 01.27
    ------------------------------------------------------------------------------
    
    HBA NVRAM Settings
    ------------------------------------------------------------------------------
    Connection Options           : 2 - Loop Preferred, Otherwise Point-to-Point
    Data Rate                    : 4 Gbps
    Frame Size                   : 2048
    Hard Loop ID                 : 0
    Loop Reset Delay (seconds)   : 5
    Enable Host HBA BIOS         : Disabled
    Enable Hard Loop ID          : Disabled
    Enable FC Tape Support       : Enabled
    Operation Mode               : 0 - Interrupt for every I/O completion
    Interrupt Delay Timer (100ms): 0
    Execution Throttle           : 16
    Login Retry Count            : 8
    Port Down Retry Count        : 30
    Enable LIP Full Login        : Enabled
    Link Down Timeout (seconds)  : 30
    Enable Target Reset          : Enabled
    LUNs Per Target              : 128
    ------------------------------------------------------------------------------
    
    Driver Settings Information
    Driver Settings - Group: Persistent
    -----------------------------------
    Present targets that are persistently bound plus any new target(s)   : Enable
    Present targets that are persistently bound Only                     : Disable
    --------------------------------
    Driver Settings - Group: Binding
    --------------------------------
    Bind by World Wide Port Name: Enable
    Bind by Port ID             : Disable
    ------------------------------------------------------------------------------
    
    Devices/LUNs Information
    ------------------------------------------------------------------------------
    Path                       : 0
    Target                     : 0
    Device ID                  : 0xffff
    Product Vendor             : YB-16SAE
    Product ID                 : имя-логического-диска
    Product Revision           : R001
    Serial Number              : 
    Node Name                  : 
    Port Name                  : 
    Port ID                    : 00-00-01
    Product Type               : Disk
    Number of LUN(s)           : 1
    Status                     : Online
    ------------------------------------------------------------------------------
    
    LUN 0
    --------------------------------------
    Product Vendor             : YB-16SAE
    Product ID                 : имя-логического-диска
    Product Revision           : R001
    LUN                        : 0
    Size                       : 9778,88 GB
    Type                       : SBC-2 Direct access block device (e.g., magnetic disk)
    WWULN                      : 00-1B-4D-28-00-00-7E-16 # ?!
    
    Target Persistent Binding Information 
    
    ------------------------------------------------------------------------------
    No target persistent data found on HBA 0.
    ------------------------------------------------------------------------------
    
    Selective LUNs Information 
    
    Boot Device Settings:
    --------------------------------------
    Selectable Boot: Disabled
    --------------------------------------
    (Primary) Boot Port Name        LUN
    ------------------------       ------
    00-00-00-00-00-00-00-00           0
    
    

    FC HBA Collect Utility (ql-hba-collect.sh) позволяет собрать информацию из различных мест (/var/log/messages, /proc/scsi/scsi, драйвер и пр.) для отсылки в службу поддержки.

    FC HBA Change LUN State utility (ql-lun-state-online.sh) позволяет вернуть логическое устройство SCSI (LUN) в активное состояние

    ./ql-lun-state-online.sh --all
      или
    ./ql-lun-state-online.sh номер-SCSI-шины
      или
    ./ql-lun-state-online.sh --interactive
    

    Dynamic TGT-LUN Discovery Utility 2.5 (./ql-dynamic-tgt-lun-disc.sh) позволяет заново сканировать все HBA Qlogic, найти новые LUN и добавить их в список активных, найти удалённые LUN и удалить их из списка активных. Ключи:

    FC HBA Snapshot Utility 1.10 (./ql-hba-snapshot.sh) выводит информацию о FC HBA: WWPN, WWNN, тип и состояние соединения, класс обслуживания, тип и идентификатор порта, тип привязки, присоединённые исполнители (имена и идентификаторы), число запросов к каждому (запрошенных, исполненных, с ошибкой).

    Утилита установки времени ожидания ("./ql-set-cmd-timeout.sh контроллер исполнитель секунд") позволяет установить время ожидания для устройства, присоединённого через QLogic FC HBA в интерактивном режиме (-i) или режиме командной строки.

    SANsurfer FC HBA Manager (не устанавливал).

    Ручное управление:

    Данные в /sys/class/fc_host/host*

    Данные об исполнителях в /sys/class/fc_remote_ports/rport-*:0-0

    Сброс HBA без перезагрузки:

    echo 1 > /sys/bus/pci/devices/0000:02:00.0/host6/reset
    
    Jan 13 04:54:31 s87 kernel: qla2xxx [0000:02:00.0]-d001:6: Firmware dump saved to temp buffer (6/ffffc90016fcb000), dump status flags (0x3f).
    Jan 13 04:54:31 s87 kernel: qla2xxx [0000:02:00.0]-101e:6: Mailbox cmd timeout occurred, cmd=0x54, mb[0]=0x54. Scheduling ISP abort
    Jan 13 04:54:31 s87 kernel: qla2xxx [0000:02:00.0]-00af:6: Performing ISP error recovery - ha=ffff880c6644d000.
    Jan 13 04:54:35 s87 kernel: qla2xxx [0000:02:00.0]-500a:6: LOOP UP detected (8 Gbps).
    Jan 13 04:54:35 s87 kernel: qla2xxx [0000:02:00.0]-801c:6: Abort command issued nexus=6:0:1 --  0 2002.
    Jan 13 04:54:37 s87 kernel: qla2xxx [0000:02:00.0]-8009:6: DEVICE RESET ISSUED nexus=6:0:0 cmd=ffff880658703ec0.
    Jan 13 04:54:37 s87 kernel: qla2xxx [0000:02:00.0]-800e:6: DEVICE RESET SUCCEEDED nexus:6:0:0 cmd=ffff880658703ec0.
    Jan 13 04:54:37 s87 kernel: qla2xxx [0000:02:00.0]-8009:6: DEVICE RESET ISSUED nexus=6:0:1 cmd=ffff880c627a8280.
    Jan 13 04:54:37 s87 kernel: qla2xxx [0000:02:00.0]-800e:6: DEVICE RESET SUCCEEDED nexus:6:0:1 cmd=ffff880c627a8280. 
    

    Emulex Zephyr LightPulse FC HBA

    Emulex Corporation Zephyr LightPulse Fibre Channel Host Adapter (aka HPR-A8002A, HP FC2142SR PCI-e, LPe1150) - контроллер HBA для одного порта Fibre Channel 4Gb:

    Значение индикаторов: 3 коротких жёлтых и непрерывно горящий зелёный - нормальное соединение 4Gb, мигающий зелёный без жёлтого - нет соединения, остальные комбинации - ошибки.

    Встроенное в BIOS ПО вызывается при загрузке по Alt+E или Ctrl-E и позволяет (требуется перезагрузка):

    Информация об устройстве (lspci)

    04:00.0 Fibre Channel: Emulex Corporation Zephyr LightPulse Fibre Channel Host Adapter (rev 02)
    	Subsystem: Emulex Corporation Zephyr LightPulse Fibre Channel Host Adapter
    	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    	Latency: 0, Cache Line Size: 64 bytes
    	Interrupt: pin A routed to IRQ 146
    	Region 0: Memory at fbff0000 (64-bit, non-prefetchable) [size=4K]
    	Region 2: Memory at fbfe0000 (64-bit, non-prefetchable) [size=256]
    	Region 4: I/O ports at 5000 [size=256]
    	[virtual] Expansion ROM at e6200000 [disabled] [size=256K]
    	Capabilities: [58] Power Management version 2
    		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/4 Enable+
    		Address: 00000000fee04000  Data: 4092
    	Capabilities: [44] Express Endpoint IRQ 0
    		Device: Supported: MaxPayload 2048 bytes, PhantFunc 0, ExtTag+
    		Device: Latency L0s <4us, L1 <16us
    		Device: AtnBtn- AtnInd- PwrInd-
    		Device: Errors: Correctable- Non-Fatal+ Fatal+ Unsupported-
    		Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    		Device: MaxPayload 256 bytes, MaxReadReq 4096 bytes
    		Link: Supported Speed 2.5Gb/s, Width x4, ASPM L0s, Port 0
    		Link: Latency L0s <4us, L1 unlimited
    		Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
    		Link: Speed 2.5Gb/s, Width x4
    	Capabilities: [100] Advanced Error Reporting
    	Capabilities: [12c] Power Budgeting
    

    При работе в Linux используется модуль lpfc (версия 8.2 для входит в поставку RHEL5/CentOS5, верия 8.0 для RHEL4/CentOS4), который использует модуль scsi_transport_fc и scsi_mod. Драйвер поддерживает следующие топологии: кольцо, точка-точка, коммутируемая сеть, автоматическое распознавание. Поддерживаются скорости 1, 2, 4 и 8 Gbps и автосогласование. Поддержка FC лентопротяжки. До 32 портов на компьютер. Поддержка интерфейсов HBA API и sysfs. Поддержка виртуализации N_Port ID (NPIV, не для кольца) для HBA уровня SLI-3 и SLI-4 (модели с 3 и 4 цифрами).

    Журнал загрузки модуля, инициализации кольца и обнаружения диска:

    Emulex LightPulse Fibre Channel SCSI driver 8.2.0.48.3p
    scsi2 :  on PCI bus 04 device 00 irq 138
    lpfc 0000:04:00.0: 0:1303 Link Up Event x1 received Data: x1 x1 x10 x2 x0 x0 0
      Vendor: XYRATEX   Model: F5412E            Rev:     
      Type:   Processor                          ANSI SCSI revision: 05
    scsi 2:0:0:0: Attached scsi generic sg1 type 3
      Vendor: XYRATEX   Model: F5412E            Rev:
      Type:   Direct-Access                      ANSI SCSI revision: 05
    SCSI device sda: 1953792000 512-byte hdwr sectors (1000342 MB)
    sda: Write Protect is off
    SCSI device sda: drive cache: write back w/ FUA
     sda: unknown partition table
    sd 2:0:0:0: Attached scsi disk sda
    sd 2:0:0:0: Attached scsi generic sg1 type 0
    

    Параметры модуля (некоторые можно динамически изменить через /sys/module/lpfc/parameters/, некоторые через /sys/class/scsi_host/hostX/, номер host можно понять из "ls -ld /sys/bus/pci/drivers/lpfc/*/host*").

    "Ручное" управление LUN-ами:

    OneCommand Manager позволяет управлять локальными и удалёнными HBA и SAN (?) по FC и TCP (порт 23333). Устанавливается в каталоги /usr/sbin/hbanyware и /usr/sbin/lpfc(!). Имеет текстовый (пакеты elxocmlibhbaapi, elxocmcore - требует libnl, /usr/sbin/hbanyware/hbacmd) и графический (пакеты elxocmgui и elxocmjvm, /usr/sbin/hbanyware/ocmanager) интерфейс. Включает сервис fcauthd для аутентификации DHCHAP (реализованы хеши MD5 и SHA-1), /etc/fcauthd.conf, не нужен. Включает сервис mili2dcontrol - мониторинг оборудования (сеть и iSCSI), не нужен. Включает сервис be2snmpcontrol - расширение для SNMP сервера для мониторинга оборудования (сеть и iSCSI), не нужен. Включает сервис ElxRMSrv - удалённый доступ к ручкам управления, требуются mili2dcontrol и be2snmpcontrol. Всё это не нужно, так что лучше остановить.

    Утилита /usr/sbin/hbanyware/hbacmd имеет следующие команды:

    От HP достался набор пакетов hp-lpfc (драйвер lpfc), hp-multipulse (multipath от Emulex), hp-fibreutils (adapter_info, hp_rescan, hp_system_info, lssd, lssg, probe-luns, sysfs_scandisk, sysfs_scan_rport), hp-fc-enablement.

    Коммутатор Qlogic SANbox 5800V

    Коммутатор Qlogic SANbox 5800V (SB5802V-08A8) представляет собой неблокирующий (544 Gbps) стековый (до 6) коммутатор FC в формате 1U. Имеет 20 портов со скоростью 8 Gb (1700 MBps в полном дуплексе; требуются SFP+ 3.3V; по умолчанию активировано только 8 - с 0 по 7; для активации остальных (группами по 4, LK-5800-4PORT, $600) необходимо доплатить!) и 4 порта для объединения в стек (требуются стековые медные кабели XPAK длиной 3", 9" или 2 метра; по умолчанию активированы на скорости 10Gb; можно увеличить до 20Gb (номинально - 25.5Gbps, полный дуплекс - 51Gbps - 5100 MBps) за дополнительную плату; транкинг автоматически и бесплатно). Например, можно использовать трансиверы Finisar FTLF8528P2BCV-QL (2, 4 и 8; совместим с SFP на 1 Gbps). Совместим с оборудованием на 2Gb и 4Gb. Задержка в коммутируемой сети - 200 нс. Максимальный размер кадра - 2148 байт (2112 байт данных). Стандарты: физический интерфейс - FC-PI-3; канальные службы - FC-LS; кадры и сигнализация - FC-FS-2; службы - FC-GS, FC-GS-2, FC-GS-3, FC-GS-4, FC-GS-5, кроме расширенного зонирования; коммутируемая сеть - FC-SW-2, FC-SW-3, FC-SW-4; кольцевая топология - FC-AL, FC-AL-2, FC-FLA; подключение устройств - FC-DA; безопасность - FC-SP. Классы - 2, 3 и F (между коммутаторами) без установления соединения. Поддержка виртуализации идентификаторов (NPIV). Все порты автоматически настраиваются на нужный режим: F_Port, FL_Port, E_Port, G_Port и GL_Port. Один (5800V) или два (5802V) источника питания с горячей заменой - обдув от передней панели к задней, до 90 Вт. Обслуживание 24x7 с заменой на следующий рабочий день (Preferred Service).

    Встроенный QuickTools с графическим интерфейсом (с использованием браузера, Java, сертификат истёк за 2 года до покупки устройства, проблемы с защищённым соединением) и командной строкой (telnet). Для управления используется порт Ethernet 100BaseT (RJ45), последовательный порт (DB9) и внутриканальный доступ (inband). Адрес по умолчанию - 10.0.0.1, имя - admin, пароль - password. Бесплатно предоставляется Fabric Security (SSH, SSL, RADIUS, FC-SP, DH-CHAP, FC-GS-4 CT). За дополнительные деньги Enterprise Fabric Suite (управление всем стеком как единым устройством, мониторинг производительности и перегрузок, общая лицензия на площадку) и SANdoctor (диагностика, трассировка маршрутов, измерение задержек). Поддержка SNMP (MIB - RFC 2873 и MIB Fibre Alliance 4.0), SMI-S, FTP, TFTP, GS-4 (FDMI).

    Индикаторы питания, сбоя и активности (1Hz).

    При работе в командной строке (telnet, до 9 параллельных сеансов) перед изменением настроек необходимо указать команду "admin start", например:

    admin start
    set setup system ntp
    set setup system logging
    admin stop
    

    Ссылки

    @ Карта сайта News Автора!

    Bog BOS: hardware:  Fibre Channel (FC)



    Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru