このドキュメントでは、ACIファブリックポートトラッキング機能、修復手順、およびコーナーケースシナリオについて説明します。
Cisco ACI Fabric Port-Trackは、ファブリックトラックまたはポートトラッキングとも呼ばれ、ACIリーフスイッチで使用される復元機能で、ファブリックに面したアップリンクポートの動作状態に基づいて、ホストに面したポートまたはダウンリンクポートの状態を制御します。
Fabric Port-Trackは、リーフがACIファブリックへの十分な接続を失った場合に、トラフィックのブラックホールを防止するように設計されています。この機能がないと、リーフがファブリックアップリンクを失っても、ホスト側のインターフェイスは物理的にアップしたままになります。この状態では、接続されたエンドポイントはリーフへのトラフィックの転送を続行できますが、リーフはそのトラフィックをファブリックに転送できないようにする必要があります。
ファブリックポートトラックが有効な場合、リーフはスパインレイヤに向かうアクティブファブリックアップリンクを監視し、設定されたしきい値と動作しているファブリックリンクの数を比較します。使用可能なファブリックリンクの数が設定された最小値を下回ると、リーフは選択されたホストに面したインターフェイスまたはダウンリンクインターフェイスを自動的にダウンさせます。これにより、接続されたエンドポイント、サーバ、または外部デバイスは、リンクダウンイベントを検出し、十分なファブリック接続をもはや持たないリーフにトラフィックを送信し続ける代わりに、別の使用可能なパスまたはリーフにフェールオーバーできます。
必要な数のファブリックアップリンクが復元され、動作しているファブリックリンクの数が設定されたしきい値を超えて回復すると、ダウンリンクインターフェイスは設定された復元遅延の後で再起動します。
動作例:

Cisco ACIファブリックポートトラックの問題を調査するときは、チェックリストを使用してください。各ステップには、関連する検証またはトラブルシューティングコマンドが含まれます。
ホスト側/ダウンリンクポートがダウンしているかどうか、およびイベントがファブリックポートトラックに関連しているかどうかを確認します。
ファブリックポートトラック障害F0532のチェック:
moquery -c faultInst -f 'fault.Inst.code=="F0532"'
表示例:
descr : Port is down, reason being fabricTrack(connected) severity : critical subject : port-down
障害F0532が存在する場合、インターフェイスはファブリックポートトラックのためにダウンしています。
Fabric Port-Trackが有効になっているかどうかを確認し、設定されているパラメータを確認します。
moquery -c infraPortTrackPol | egrep "adminSt|delay|includeApicPorts|minlinks"
表示された値を確認します。
| 項目 | 目的 |
|---|---|
| 管理セット | Fabric Port-Trackが有効か無効かを示します。 |
| 遅延 | ダウンリンクポートが再び有効になるまでの遅延を復元します。 |
| includeApicPorts | APIC接続ポートが含まれるかどうかを示します。 |
| リンク解除 | 運用に必要なファブリックリンクの最小数。 |
例:
adminSt : on delay : 300 includeApicPorts : no minlinks : 0
リーフが、ファブリックアップリンク上で想定されるスパインネイバーを引き続き認識していることを確認します。
show lldp neighbors
特定のファブリックアップリンクの詳細については、次を参照してください。
show lldp neighbors int ethernet 1/49 detail
次の出力を使用して確認します。
ファブリック側のインターフェイスが最近フラップしたかどうかを確認します。
show int eth 1/49 | egrep "flapped|state"
例:
admin state is up, Dedicated Interface Last link flapped 00:02:57
ファブリックアップリンクでの最近のフラップにより、ファブリックポートトラックがトリガーされた理由が説明できます。
ホスト側/ダウンリンクインターフェイスの状態とフラップ履歴を確認します。
show int eth 1/17 | egrep "flapped|state|fabric-track"
これは、ダウンリンクポートイベントをファブリックアップリンク障害と関連付けるのに役立ちます。
影響を受けるリーフのファブリックポートトラックプロセスログを確認します。
cat /var/sysmgr/tmp_logs/fabric_track.py.dbg | tail -n 15
通常の動作中のログ出力例:
cat /var/sysmgr/tmp_logs/fabric_track.py.dbg | tail -n 15
Reading the port track Mo
...
Reading the port track Mo
障害ウィンドウ中のログファイルの例:
cat /var/sysmgr/tmp_logs/fabric_track.py.dbg | tail -n 15
Reading Isis Mo to check for Isis Adjacency
1 Fabric links are up
Reading l1PhysIf Mos of fabric links to check number of up fabric links
Bringdown: 0 Fabric links left up
PortTrackIf Mo is not present. Creating PortTrackIf Mo for eth1/17
Committing the port track Mo
これらのメッセージは、リーフでファブリックリンクが不十分であることが検出され、該当するダウンリンクポート用にPortTrackインターフェイスオブジェクトが作成されたことを示しています。
主な所見:
該当するファブリックアップリンクの光情報を収集します。
show interface ethernet 1/49 transceiver details | egrep "type|name|serial"
例:
type is QSFP-40/100-SRBD name is CISCO-FINISAR serial number is FIW2440004Z-B
これは、トラブルシューティングを行う際に特に重要です。
物理インターフェイスに関連付けられている内部ポート番号を特定します。
vsh_lc -c 'show platform internal usd port info' | egrep "Eth1/49" -A 1
例:
Port 61.0 (Eth1/49) : Admin UP (1) Link UP Cfg_Fec Disabled Fec Disabled Fcot Fiber retimer 0x0
AN_knob No AN_cfg Yes AN_operSt No In_debounce 0, Debounce-Time 0 usecs qsa: No
この例では、Eth1/49は内部ポート61.0にマッピングされます。
内部ポートを特定した後、リンクイベント履歴を確認します。
vsh_lc -c 'show platform internal tah event-history linkevents' | grep Port "61.0" -A 1
デバウンスなしの例:
Port 61.0: tahusd_port_handle_debounce: No debounce required!!
debounceが設定されている場合の例:
Port 61.0: tahusd_port_handle_debounce/9481: Started Debounce Timer for 10000 ms
これにより、リンクイベント中にリンクデバウンスが適用されたかどうかが確認されます。
ファブリックインターフェイスに対してリンクデバウンスが設定されているかどうかを確認します。リンクデバウンスは、一時的なマイクロフラップによってファブリックポートトラック動作が即座にトリガーされるのを防ぐのに役立ちます。
ファブリックインターフェイスポリシーを確認します。
moquery -c fabricFIfPol | egrep "dn|linkDebounce"
例:
dn : uni/fabric/fintfpol-default linkDebounce : 0
インターフェイスから直接デバウンスをチェックします。
show interface eth1/49 debounce
デバウンスなしの例:
------------------------------------------------------------------------------------ Port Debounce time Value(ms) ------------------------------------------------------------------------------------ Eth1/49 disable 0
デバウンスが無効でマイクロフラップが疑われる場合は、ファブリックインターフェイスでデバウンスを設定します。
configure leaf 101 interface ethernet 1/49 link debounce time 100
重要:
設定を確認します。
show interface eth1/49 debounce
予想される出力:
------------------------------------------------------------------------------------ Port Debounce time Value(ms) ------------------------------------------------------------------------------------ Eth1/49 enable 100
デフォルトのデバウンス間隔は0ミリ秒です。値には100ミリ秒を推奨しますが、ファブリックに適した値を選択できます。
| タスク | コマンド |
|---|---|
| ファブリックポートトラック障害の確認 | moquery -c faultInst -f 'fault.Inst.code=="F0532"' |
| ファブリックポートトラックポリシーの確認 | moquery -c infraPortTrackPol | egrep "adminSt|delay|includeApicPorts|minlinks" |
| LLDPネイバーを確認します。 | lldpネイバーの表示 |
| 詳細なLLDPネイバーのチェック | show lldp neighbors int ethernet 1/49 detail |
| ファブリックアップリンク状態の確認 | show int eth 1/49 | egrep "flapped|state" |
| ダウンリンク状態の確認 | show int eth 1/17 | egrep "flapped|state|fabric-track" |
| Fabric Port-Trackデバッグログの確認 | cat /var/sysmgr/tmp_logs/fabric_track.py.dbg | tail -n 15 |
| トランシーバの詳細の確認 | show interface ethernet 1/49トランシーバの詳細| egrep "type|name|serial" |
| 内部ポートへの物理インターフェイスのマッピング | vsh_lc -c 'show platform internal usd port info' | egrep "Eth1/49" -A 1 |
| プラットフォームリンクイベントの確認 | vsh_lc -c 'show platform internal tah event-history linkevents' | grep Port "61.0" -A 1 |
| ファブリックデバウンスポリシーの確認 | moquery -c fabricFIfPol | egrep "dn|linkDebounce" |
| インターフェイスデバウンスの確認 | show interface eth1/49デバウンス |
| デバウンスの設定 | リンクデバウンス時間10000 |
考えられるコーナーケースは、物理ファブリックインターフェイスがフラップしていなくても、ファブリックポートトラックはファブリックリンクが使用できないかのように動作する場合に発生します。
例:
show int eth 1/49 | egrep "flapped|state"
admin state is up, Dedicated Interface
Last link flapped 1y14w
このシナリオでは、インターフェイスは最近フラップしていません。
ファブリックポートトラックは管理対象オブジェクトのクエリに依存しているため、リーフが関連するmoqueryを正常に実行できるかどうかを確認します。
moquery -c l1PhysIf -x 'query-target-filter=and(anybit(l1PhysIf.usage,"fabric"),eq(l1PhysIf.switchingSt,"enabled"))'
また、ディスク使用率を確認します。問題のある状態の例を次に示します。
df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 2.5G 2.5G 0 100% /bin
ルートファイルシステムがいっぱいになると、リーフではmoqueryを含む内部関数のドロップや失敗が発生する可能性があります。その結果、Fabric Port-Trackはファブリックリンクがアップしていることを確認できず、ダウンリンクインターフェイスを誤ってダウンさせる必要があります。
推奨処置:
モニタリングに使用されるBiDi QSFP光ファイバと受動光TAPに関して、特定の問題があります。
パッシブTAPのリスク
リーフとスパインの間にパッシブTAPインフラストラクチャを挿入し、モニタリング機器で通常のBiDi光ファイバを使用する場合、モニタリングパスは光を実稼働リンクに伝送できます。
これにより、次の問題が発生する可能性があります。
これは、モニタリングスイッチのリロードによって予期しない光信号が発生し、リーフとスパインの両方に対するリンクダウンイベントが発生するシナリオです。

標準SR光ファイバ – QSFP-40/100-SRBD
標準のSR光ファイバでは、送信パスと受信パスが分離されています。
Tx -> Rx
Rx <- Tx
トラフィックはファイバごとに単方向です。

推奨される緩和策
BiDiモニタリングシナリオでは、受信のみ行い、実稼働パスには送信を行わない適切なモニタ専用BiDi光ファイバを使用します。

BiDi光ファイバ – QSFP-40G-BD-RX
BiDi光ファイバでは、送信と受信の両方が各ファイバに存在します。
Tx/Rx <-> Tx/Rx
これは、モニタパスが信号のみを受信する特別なTAP/モニタBiDi光ファイバとして説明されます。
vPC接続のダウンリンクポートでは、Fabric Port-Track遅延タイマーとvPC遅延タイマーの両方がリカバリ動作に影響を与える可能性があります。
vPC設定では、リーフノードがすべてのファブリックポートを失い、ISIS隣接関係を失うと、vPCピアと通信できません。この状態では、ダウンリンクポートは、vPC遅延タイマーまたはポートトラッキング遅延タイマーのいずれか長い時間が経過した後に再アクティブ化されます。
運用への影響:
例:
Cisco Bug ID CSCva95547(APIC接続ポートとファブリックポートトラックの動作に関連)
運用上の主な考慮事項は、一時的なアップリンク障害の間は、APIC側のポートをファブリックポートトラックによってダウンさせないようにすることです。これは、管理とコントローラの接続に影響を与える可能性があるためです。
include ApicPortsオプションを使用すると、APIC接続されたインターフェイスを動作に含めるかどうかを制御できます。

これは、APIC接続ポートがFabric Port-Trackによって無効にされることから除外されることを示します。
Cisco APIC基本設定ガイド>章:コアACIファブリックサービスのプロビジョニング>リンクデバウンス間隔
Cisco APICレイヤ2ネットワーキング設定ガイド>章:ファブリックポートトラッキング
Cisco Application Centric Infrastructure(ACI)設計ガイド>ポートトラッキング
Cisco Application Centric Infrastructure Fundamentals >章:ファブリックプロビジョニング>ファブリックポート障害検出のポートトラッキングポリシー
参照バグ:
Cisco Bug ID CSCva95547(登録ユーザ専用):ポートトラッキング機能要求:APICに向かうリーフスイッチポートを無効にするノブ
| 改定 | 発行日 | コメント |
|---|---|---|
1.0 |
17-Jun-2026
|
初版 |