|
Bog BOS: hardware: Fibre Channel (FC) |
Последнее изменение файла: 2019.04.29
Скопировано с www.bog.pp.ru: 2024.11.21
Технология 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
Для работы FC-3 требуются услуги FC-2 (адресация узлов), вместе с тем определяется услуга "Link Service", которая требуется для работы FC-2. Так что на самом деле слои FC-2 и FC-3 лежат "рядом", а не "над" и соответствуют сессионному (регистрация процесса), транспортному уровню (регистрация порта, PLOGI) и уровню данных модели OSI. Сетевой уровень модели OSI обеспечивается внешними средствами (описывается в FC-BB).
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 - протокол управления передачей определяет алгоритмы кодирования и обнаружения ошибок (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 - протоколы обмена, управления сетевым доступом и каналом (аналогичен 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.
Формат кадра (единый формат всех кадров, заголовки всех уровней слиты):
Типы топологии сети 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-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, исходящих от "неподходящего" инициатора.
Контроллер (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 (не устанавливал).
Ручное управление:
Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3750330NS Rev: SN04 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3750330NS Rev: SN04 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3750640NS Rev: 3.AE Type: Direct-Access ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST31000340NS Rev: SN04 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 00 Lun: 01 Vendor: YB-16SAE Model: yotta-raid1 Rev: R001 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 00 Lun: 02 Vendor: YB-16SAE Model: yotta-raid5 Rev: R001 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 00 Lun: 04 Vendor: YB-16SAE Model: yotta-raid10 Rev: R001 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 00 Lun: 03 Vendor: YB-16SAE Model: yotta-raid6 Rev: R001 Type: Direct-Access ANSI SCSI revision: 05
echo "scsi remove-single-device ид-контроллера ид-шины ид-устройства LUN" > /proc/scsi/scsi
echo "scsi add-single-device ид-контроллера ид-шины ид-устройства LUN" > /proc/scsi/scsi
Данные в /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 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 (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
|
Bog BOS: hardware: Fibre Channel (FC) |