CodingBox Документация

Диагностика портов FC: счётчики, slow drain, проверка SFP

SAN-коммутатор считает всё, что идёт не так на порту, и счётчики чисто ложатся на физические причины — если знать, какой счётчик означает «грязный разъём», а какой — «хост не разгружает свои буферы». Здесь — счётчики на двух доминирующих платформах, на что указывает каждый, как проявляется перегрузка slow-drain и как прочитать сам SFP с коммутатора.

Счётчики

Счётчик (Brocade porterrshow)Эквивалент Cisco MDS (show interface fc… counters)СмыслУказывает на
enc_out — ошибки кодирования вне кадровinvalid transmission wordsплохие символы между кадрамиоптика, кабель, разъём, несовпадение скорости — классический счётчик физического уровня
enc_in — ошибки кодирования внутри кадровinvalid transmission words / CRCиспорченные символы внутри кадровте же причины, тяжелее
crc_errCRC errorsкадр не прошёл CRCмаргинальная линия: грязный торец, низкий Rx, умирающий SFP; на ISL проверять оба конца
crc_g_eofCRC с хорошим EOFошибка CRC, но кадр завершён корректно — внесена выше этого портасмотреть предыдущий хоп
too_shrt / too_long / bad_eofкадр слишком короткий / длинный / плохой EOFискажённые кадрыобычно следствие enc_in или неисправное устройство
link_faillink failuresлинк упалвыдернутый кабель, отказ SFP, питание, сброс дальнего конца
loss_sync / loss_sigsync loss / signal lossпотеря сигнала или синхронизации словнизкий Rx, LOS, флап — Флап линка
frjt / fbsyF_RJT / F_BSYфабрика отвергла/отложила кадрыфабрика или зонирование, не оптика
disc_c3 — отброшенные класса 3timeout discardsкадры отброшены по таймауту в коммутатореslow drain / перегрузка
c3timeout tx/rxнаправление таймаутовтаймауты tx: подключённое устройство медленное; rx: проблема выше
pcs_err (16G+)ошибки блоков PCS 64B/66Bфизический уровень на 16/32GFC
uncor_err (16G+ с FEC)FEC uncorrectedFEC не смог починить блоклиния на пределе — VDM и метрики FEC
потеря кредитов (portstatsshow: tim_txcrd_z)credit loss / tx credit not availableвремя с нулём кредитов на передачуперегрузка или потерянные R_RDY на грязной линии

Правило: enc_out, crc_err, loss_sync, pcs_err растут при физической проблеме; disc_c3, c3timeout, tim_txcrd_z — при перегрузке; frjt/fbsy — при проблеме фабрики. Сбросьте счётчики, подождите и смотрите скорости, а не суммы.

Slow drain

Оконечное устройство, медленно возвращающее кредиты (перегруженный хост, умирающая HBA, несовпадение скоростей вдоль пути), держит кадры в буферах коммутатора; те выходят по таймауту и отбрасываются, а перегрузка распространяется назад через ISL на не связанные устройства. Это самая разрушительная проблема SAN, и поначалу она выглядит как случайная проблема производительности.

ПризнакГде
tim_txcrd_z растёт на F_Portустройство на этом порту медленно возвращает кредиты
disc_c3 / c3timeout tx на том же портукадры к этому устройству выходят по таймауту
disc_c3 на ISL и других F_Portперегрузка распространилась
Алерты Bottleneck/MAPS «latency» (Brocade), show logging onboard flow-control request-timeout, обнаружение congestion-drop / slow-drain (Cisco)инструменты платформы

Лечение: починить или изолировать медленное устройство (port fencing, карантин в низкоприоритетный виртуальный канал), укоротить таймауты congestion-drop на краевых портах, избегать ступеней скорости вдоль пути, держать переподписку ISL разумной (Дизайн SAN). Оптика почти никогда не причина slow drain — но маргинальная линия с потерянными R_RDY может его имитировать, поэтому сначала проверяйте enc_out/crc.

Проверка SFP с коммутатора

ЗадачаBrocade FOSCisco MDS / NX-OS
Идентификация и DDM SFPsfpshow <port>show interface fc1/1 transceiver details
Состояние и скорость портаportshow <port>, switchshowshow interface fc1/1, show interface brief
Счётчики ошибокporterrshow, portstatsshow <port>show interface fc1/1 counters [detailed]
Сброс счётчиковportstatsclear / statsclearclear counters interface fc1/1
Тест линииportloopbacktest, диагностика D_Port (portcfgdport, portdporttest)show interface fc1/1 transceiver details + петля диагностическими средствами
Политика здоровьяMAPS (пороги по CRC, ITW, потере кредитов, мощности/температуре SFP)политики port-monitor (мощность RX/TX, CRC, ITW, потеря кредитов)

sfpshow и детали трансивера показывают вендора, партномер, серийник, скорости и значения DDM с порогами — те же байты, что CodingBox читает на столе. Обе платформы помечают unsupported оптику; порт, застрявший в Mod_Inv, No_Module или «unsupported transceiver», — отказ политики, а не неисправность (Вендор-лок, Оптика FC).

Последовательность диагностики плохого порта FC

  1. porterrshow / счётчики: физика (enc_out, crc, sync) против перегрузки (disc_c3, кредиты) против фабрики (rjt/bsy).
  2. DDM SFP: Rx на обоих концах относительно окон класса (Типовые значения); тренд тока Tx на старение.
  3. Почистить и осмотреть разъёмы; поменять патч-корд; перепроверить скорость счётчиков.
  4. Скорость: принудительно опустить согласованную скорость на поколение, чтобы увидеть, прекратятся ли ошибки (маргинальная линия 32G может быть чистой на 16G) — Скорость и режимы.
  5. Тест D_Port / петля, чтобы разделить коммутатор, SFP и кабель.
  6. При перегрузке: искать медленное устройство по tim_txcrd_z, а не по порту, который жалуется.

В CodingBox

Подозрительный FC SFP, снятый с коммутатора, читается на столе: идентификация, коды скорости/среды FC, контрольные суммы и живой DDM на Check transceiver и DDM. Модуль, здоровый на столе и дающий ошибки в порту, переводит подозрение на кабель, разъём или дальний конец.