FC ポート診断:カウンター、slow drain、SFP チェック
SAN スイッチは、ポート上で発生するあらゆる異常をカウントします。どのカウンターが「コネクターの汚れ」を意味し、どのカウンターが「ホストがバッファを排出できていない」ことを意味するかが分かっていれば、カウンターは物理的な原因にきれいに対応付けられます。このページでは、2大プラットフォームのカウンター、それぞれが示す原因、スロードレイン輻輳の現れ方、そしてスイッチから SFP 自体を読み取る方法を一覧にします。
カウンター一覧
カウンター(Brocade porterrshow) | Cisco MDS での相当(show interface fc… counters) | 意味 | 原因 |
|---|---|---|---|
| enc_out — フレーム外の符号化エラー | invalid transmission words | フレーム間の不正なシンボル | 光モジュール、ケーブル、コネクター、速度の不一致 — 物理層の典型的なカウンター |
| enc_in — フレーム内の符号化エラー | invalid transmission words / CRC | フレーム内の破損したシンボル | 同じ原因で、より深刻 |
| crc_err | CRC errors | フレームが CRC に失敗 | 限界品質のリンク:端面の汚れ、低い Rx、SFP の故障。ISL では両端を確認 |
| crc_g_eof | CRC with good EOF | CRC エラーだが、フレームは正しく終端されている。このポートより上流で発生 | 直前のホップを確認 |
| too_shrt / too_long / bad_eof | frame too short / too long / bad EOF | 不正な形式のフレーム | 通常は enc_in の結果、または機器の故障 |
| link_fail | link failures | リンクがダウンした | ケーブルの抜け、SFP 故障、電源、対向側のリセット |
| loss_sync / loss_sig | sync loss / signal loss | 信号またはワード同期の喪失 | 低い Rx、LOS、フラッピング — リンクフラッピング |
| frjt / fbsy | F_RJT / F_BSY | ファブリックがフレームを拒否/ビジー状態にした | 光モジュールではなく、ファブリックまたはゾーニングの問題 |
| disc_c3 — class 3 discards | timeout discards | スイッチ内でタイムアウトし、破棄されたフレーム | スロードレイン/輻輳 |
| c3timeout tx/rx | — | タイムアウトの方向 | tx タイムアウト:接続先の機器が遅い。rx:上流の問題 |
| pcs_err(16G 以上) | — | 64B/66B PCS ブロックエラー | 16/32GFC での物理層の問題 |
| uncor_err(FEC 付き 16G 以上) | FEC uncorrected | FEC がブロックを訂正できなかった | 限界に近いリンク — VDM と FEC メトリクス |
credit loss(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 はファブリックの問題で増加します。カウンターをクリアし、しばらく待ってから、累計ではなく増加率を確認してください。
スロードレイン
クレジットの返却が遅い末端機器(過負荷のホスト、故障しかけの HBA、経路上の速度不一致)は、フレームをスイッチのバッファに滞留させます。これらのフレームはタイムアウトして破棄され、輻輳は ISL を通じて無関係な機器へと逆方向に伝播します。これは SAN で最も被害の大きい問題であり、最初はランダムな性能問題のように見えます。
| 兆候 | 場所 |
|---|---|
| F_Port で tim_txcrd_z が増加している | そのポートの機器がクレジットの返却が遅い |
| 同じポートで disc_c3/c3timeout tx | その機器宛てのフレームがタイムアウトしている |
| ISL や他の F_Port での disc_c3 | 輻輳が広がっている |
Bottleneck/MAPS の「latency」アラート(Brocade)、show logging onboard flow-control request-timeout、congestion-drop/slow-drain 検出(Cisco) | プラットフォームのツール |
対策:遅い機器を修理または隔離する(ポートフェンシング、優先度の低い仮想チャネルへの隔離)、エッジポートの congestion-drop タイムアウトを短縮する、経路上での速度の段差を避ける、ISL のオーバーサブスクリプションを適正に保つ(SAN 設計)。光モジュールがスロードレインの原因になることはほとんどありませんが、R_RDY を失った限界品質のリンクは、これを模倣することがあるため、まず enc_out/crc を確認してください。
スイッチからの SFP チェック
| 作業 | Brocade FOS | Cisco MDS / NX-OS |
|---|---|---|
| SFP の識別情報と DDM | sfpshow <port> | show interface fc1/1 transceiver details |
| ポート状態と速度 | portshow <port>, switchshow | show interface fc1/1, show interface brief |
| エラーカウンター | porterrshow, portstatsshow <port> | show interface fc1/1 counters [detailed] |
| カウンターのクリア | portstatsclear / statsclear | clear 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 と transceiver details は、ベンダー、型番、シリアル、速度、しきい値付きの DDM 値を表示します。これらは、CodingBox がベンチ上で読み取るのと同じバイトです。どちらのプラットフォームも非対応の光モジュールにフラグを立てます。Mod_Inv、No_Module、または「unsupported transceiver」で止まっているポートは、故障ではなくポリシーによる拒否です(ベンダーロック、FC の光学系)。
不良な FC ポートの診断手順
porterrshow/カウンター:物理層(enc_out、crc、sync)、輻輳(disc_c3、credits)、ファブリック(rjt/bsy)を切り分けます。- SFP の DDM:両端の Rx パワーをクラスの許容範囲と照合します(標準値)。経年劣化については Tx バイアスの傾向を見ます。
- コネクターを清掃・点検し、パッチコードを交換して、増加率でカウンターを再確認します。
- 速度:ネゴシエート速度を下の世代に固定し、エラーが止まるか確認します(限界品質の 32G リンクは 16G ではクリーンな場合があります)(速度とレート)。
- D_Port/ループバックテストで、スイッチ、SFP、ケーブルを切り分けます。
- 輻輳の場合:苦情が出ているポートではなく、tim_txcrd_z を手がかりに遅い機器を見つけます。
CodingBox では
スイッチから取り外した疑わしい FC SFP は、ベンチ上で読み取れます。Check transceiver と DDM で、識別情報、FC の速度/メディアコード、チェックサム、リアルタイムの DDM を確認します。ベンチ上では問題がなく、ポートに挿すとエラーが出るモジュールであれば、疑いはケーブル、コネクター、または対向側に移ります。