はじめに
このドキュメントでは、ACIのデバイス交換シナリオを理解してトラブルシューティングする手順について説明します。
バックグラウンド情報
このドキュメントの内容は、『Troubleshooting Cisco Application Centric Infrastructure, Second Edition』のマニュアル、特に「Fabric Discovery - Device Replacement」の章から抜粋しています。
概要
ACIファブリックの進化に伴い、APIC、リーフスイッチ、スパインスイッチ、IPNデバイスなど、さまざまなコンポーネントの交換が必要になります。交換の最も一般的な理由は、RMAとハードウェアアップグレードです。これらの手順はシスコのインストール/アップグレードガイドに詳細に記載されており、交換前に最新のガイドをお読みください。このセクションでは、手順がどのように機能するかを詳しく説明し、最も一般的なトラブルシューティングシナリオをいくつか紹介します。
手順と検証
注:ACIスイッチバージョン5.2(3)では、検出されたACIファブリックスイッチに接続されているNXOSスイッチは、POAPを使用してACIスイッチに変換できます。
ハードウェアの交換
リーフ
NXOSソフトウェアを実行しているRMAデポからのリーフが到着します。リーフをACIモードに正しく変換するには、以下のセクション「問題:NXOSモードで着信」を参照してください。別のファブリックまたは以前の設定のリーフを使用する場合は、「acidiag touch clean」コマンドと「reload」コマンドを必ず使用してください。
上記の手順が完了し、新しいリーフスイッチの登録準備が整ったら、「コントローラから削除」オプション(または6.0(1)以降のリリースでは「撤去および削除」オプション)を使用して、交換するリーフをファブリックから削除します。
[コントローラから削除]オプションを使用すると、APICからノードが完全に削除され、APICによって割り当てられたノードID、SN関連付け、およびTEPアドレスが解放されます。これらのプロセスは、スイッチノードを交換する際に必要です。「Decommission」オプションは、同じノードが同じノードIDとSNを持つファブリックに再参加すると想定される場合にのみ使用します。
置き換えるリーフスイッチがファブリックメンバーシップページに表示されなくなったら、新しいリーフをスパインインターフェイス経由でファブリックに接続できます。リーフがAPICによって検出されると、ファブリックインベントリに表示され、登録の準備が整います。置き換えるデバイスがまだノードIDを解放しておらず、新しいスイッチが同じノードIDで登録されている場合、IDが既に別のリーフノードに関連付けられていることを参照してエラーがスローされます。障害はしばらくして解消されるはずです。新しいノードが「Fabric Membership」サブメニューに表示されない場合は、ケーブル接続の問題がある可能性があります。この問題は、新しく接続したリーフスイッチに接続しているスパインスイッチで「show lldp neighbors detail」コマンドを実行し、LLDPネイバーを表示することで確認できます。ファブリック検出プロセスの詳細については、「Initial Fabric Setup」の章を参照してください。
インフラストラクチャVLANを変更した場合は、すべてのリーフノードを同時にクリーンリブートする必要があります。すべてのリーフスイッチが同時にクリーニングされない場合、クリーンなリロードされたスイッチがオンラインになり、クリーニングされていないリーフからLLDPを介して古いインフラストラクチャVLANを受信します。クリーンなリロードされたリーフはAPICへの登録に失敗します。詳細については、「ファブリックセットアップの初期設定」の章を参照してください。
プラットフォームの制限により、VPCペアをGen1とGen2以上のリーフスイッチの組み合わせにすることはできません。ただし、書き込み時に、Gen2リーフ以上は他のGen2リーフ以上と混在できます。
スパイン
リーフと同様に、スパインのHW(モジュラスパインなど)に応じて、NXOSモードで着信する可能性があります。変換を実行するには、シナリオの下にある「問題:NXOSモードで着信する」の手順を使用します。
スパインスイッチを交換する際には、BGPルートリフレクタ機能を考慮する必要があります。ベストプラクティスとして、レイヤ3 Cisco ACIファブリックのBGPルートリフレクタとして設定されたスパインスイッチが少なくとも2つ必要です。この設定は、Route Reflector Nodesの下の'System > System Settings > BGP Route Reflectors'にあります。スパインスイッチを交換または取り外す際には、1つのアクティブなルートリフレクタを維持するように適切な設定変更が行われていることを確認し、変更が完了した後には少なくとも2つのアクティブなルートリフレクタを確認してください。
BGPルートリフレクタについての詳細は、「管理およびコアサービス」の章の「ポッドポリシー:BGP RR/Date&Time/SNMP」の項を参照してください。
APICの
APIC交換を実行する際に最も重要な考慮事項は、既存のAPICクラスタの健全性です。交換の前に、クラスタ内のすべてのAPICがFully Fitとして報告される必要があります。4.2では、CLIを使用してAPICクラスタの状態を確認するための追加ツールが導入されました。
apic1# acidiag cluster
Admin password:
Product-name = APIC-SERVER-L2
Serial-number = FCH2206W0RK
Running...
Checking Core Generation: OK
Checking Wiring and UUID: OK
Checking AD Processes: Running
Checking All Apics in Commission State: OK
Checking All Apics in Active State: OK
Checking Fabric Nodes: OK
Checking Apic Fully-Fit: OK
Checking Shard Convergence: OK
Checking Leadership Degration: Optimal leader for all shards
Ping OOB IPs:
APIC-1: 192.168.4.20 - OK
Ping Infra IPs:
APIC-1: 10.0.0.1 - OK
Checking APIC Versions: Same (4.2(1i))
Checking SSL: OK
Done!
APICを交換するときは、APICの運用停止を実行する前に、交換するAPICの初期セットアップ変数を書き留めておいてください。
apic1# cat /data/data_admin/sam_exported.config
Setup for Active and Standby APIC
fabricDomain = POD37
fabricID = 1
systemName =apic1
controllerID = 1
tepPool = 10.0.0.0/16
infraVlan = 3937
GIPo = 225.0.0.0/15
clusterSize = 3
standbyApic = NO
enableIPv4 = Y
enableIPv6 = N
firmwareVersion = 4.2(1i)
ifcIpAddr = 10.0.0.1
apicX = NO
podId = 1
oobIpAddr = 10.48.176.57/24
新しいAPICを正しいソフトウェアバージョンで準備し、前述の初期セットアップ値を再入力します。初期セットアップが完了し、APICが完全に起動したら、クラスタ内の他のAPICの1つのUIからファブリックに再び割り当てます。
IPNデバイスの交換
マルチポッド環境では、IPN(Inter-Pod Network)に使用されているデバイスの1つを交換する必要がある場合があります。 交換の前に、IPNネットワークではPIM双方向ランデブーポイント(BIR)冗長性がファントムRPの形式で設定されている必要があります。ファントムRPが設定されていない場合、交換されたノードがRPであれば、PIMコンバージェンスが発生し、IPNを介して送信されるすべてのBUMトラフィックでパケット損失が見られます。
Phantom RPの設定方法の詳細については、「マルチポッドディスカバリ」の章の「RP設定」を参照してください。
APIC/リーフ/スパインのクリーンリロード
特定のシナリオでは、ファブリックに接続しないリーフ/スパインを回復するための最良のオプションは、デバイスのクリーンリロードを実行することです。
アップグレードの順番を待っているデバイスでクリーンリロードを実行することは推奨されません。デバイスのクリーンリロードには長時間かかる場合があります。
「acidiag touch」コマンドには、クリーンとセットアップの2つのオプションがあります。cleanオプションを使用すると、APICネットワーク設定(ファブリック名、IPアドレス、ログインなど)を維持したままで、すべてのポリシーデータが削除されます。 setupオプションは、ポリシーデータとAPICネットワーク設定の両方を削除します。セットアップオプションは、ポッドIDを変更する必要があり、通常は管理ネットワークも更新する必要があるため、ポッド間でデバイスを移動するときに最も一般的に使用されます。
APICの
fab1-apic1# acidiag touch clean
This command will wipe out this device, Proceed? [y/N] y
fab1-apic1# acidiag reboot
This command will restart this device, Proceed? [y/N] y
リーフ/スパイン
fab1-leaf101# acidiag touch clean
This command will wipe out this device, Proceed? [y/N] y
fab1-leaf101# reload
This command will reload the chassis, Proceed (y/n)? [n]: y
「acidiag touch clean」コマンドは、/mnt/pssのリーフに.cleanという隠しファイルを配置することで機能します。リーフがブートされると、シェルスクリプトが実行され、.cleanファイルの有無が確認されます。.cleanファイルが/mnt/pssに存在する場合、ポリシー設定は消去され、設定はAPICから再ダウンロードされます。このコマンドを入力してもノードがリロードされない場合、ファイルは存在し、touch cleanコマンドを入力してからの経過時間に関係なく、次回のリロード時にポリシーが消去されます。
トラブルシューティングのシナリオ
問題:NXOSモードで着信
検証
スイッチがRMAで出荷され、Power On Auto Provisioning(POAP)プロセスでまだ設定されていないNXOSソフトウェアを搭載してスイッチが到着する場合があります。ユーザがこのデバイスにコンソール接続すると、次のようなメッセージが表示されます。
自動プロビジョニングを中止し、通常のセットアップを続行しますか?(はい/いいえ)
デバイスがすでにPOAPを通過している場合、リーフがスタンドアロンNXOSコードを実行しているかどうかを判断する最も簡単な方法は、「show version」の出力の「NXOS image file」の行を探すことです。このような出力が存在する場合、リーフはスタンドアロンコードを実行しており、ACIモードに変換する必要があります。キックスタートイメージおよびシステムイメージの存在は、イメージ自体(スタンドアロンではn9000、ACIではaci-n9000)を確認することで、ACIイメージを実行するリーフにのみ存在することが確認できます。
スタンドアロンNXOS
nxos-n9k# show version
Cisco Nexus Operating System (NX-OS) Software
.
.
.
Software
BIOS: version 07.17
NXOS: version 6.1(2)I3(4)
BIOS compile time: 09/10/2014
NXOS image file is: bootflash:///n9000-dk9.6.1.2.I3.4.bin
NXOS compile time: 3/18/2015 0:00:00 [03/18/2015 07:49:10]
ACI
aci-leaf101# show version
Cisco Nexus Operating System (NX-OS) Software
.
.
.
Software
BIOS: version 07.66
kickstart: version 14.2(1i) [build 14.2(1i)]
system: version 14.2(1i) [build 14.2(1i)]
PE: version 4.2(1i)
BIOS compile time: 06/11/2019
kickstart image file is: /bootflash/aci-n9000-dk9.14.2.1i.bin
kickstart compile time: 09/07/2019 10:25:16 [09/07/2019 10:25:16]
system image file is: /bootflash/auto-s
system compile time: 09/07/2019 10:25:16 [09/07/2019 10:25:16]
ソリューション
スイッチがNXOSコードを実行して出荷された場合は、ACIモードに変換する必要があります。スイッチは、ブートフラッシュ内のNXOSとACIイメージの両方とともに出荷される必要がありますが、必ずしもそうとは限りません。ACIイメージは「aci-n9000」で始まります。 ACIイメージが存在しない場合は、ブートフラッシュに手動でロードする必要があります。これは、USB接続(ローカルアクセスが必要)またはAPICから直接SCP経由で実行できます(両方のデバイスが管理ネットワーク経由で接続されていることが前提)。 SCP経由でイメージをコピーする手順は次のとおりです。
1. nexus-9000(config)# feature scp-server
2. apic1# scp -r /firmware/fwrepos/fwrepo/switch-image-name admin@standalone_switch:switch-image-name
その後、リーフは、NXOSイメージをブートしないように設定し、設定を保存し、ブートステートメントをACIに変更する必要があります。
1. (config)# no boot nxos
2. (config)# copy run start
3. (config)# boot aci bootflash:
4. (config)# reload
問題:リーフ/スパインEPLD/FPGAが正しくない、F1582
検証
Nexus 9000 ACIスイッチの障害には、次の障害が表示されます。
F1582 FPGAバージョンの不一致が検出されました。実行中のバージョン:0x(z)予期されたバージョン:0x(y)
APIC CLIで、障害F1582のすべてのインスタンスを検索します。
apic1# moquery -c faultInst -f 'fault.Inst.code=="F1582"'
EPLDメモ
Cisco Nexus 9000シリーズACIモードスイッチには、すべてのモジュールでハードウェア機能を提供する複数のプログラマブル論理デバイス(PLD)が含まれています。シスコでは、ハードウェアの機能を強化したり、既知の問題を解決するために、Electronic Programmable Logic Device(EPLD)イメージアップグレードを提供しています。PLDには、電子プログラマブルロジックデバイス(EPLD)、Field Programmable Gate Array(FPGA)、およびComplex Programmable Logic Device(CPLD)が含まれますが、ASICは含まれません。
EPLDという用語は、FPGAとCPLDの両方をカバーするために使用されます。
一部のモジュール機能にEPLDを使用する利点は、これらの機能をアップグレードする必要がある場合に、ハードウェアを交換するのではなく、ソフトウェアイメージをアップグレードするだけで済むことです。
I/OモジュールのEPLDイメージアップグレードでは、アップグレード中にモジュールの電源を一時的に切る必要があるため、モジュールを通過するトラフィックが中断されます。モジュラシャーシでは、システムが一度に1つのモジュールでEPLDアップグレードを実行するため、アップグレードによって常に中断されるのは1つのモジュールを通過するトラフィックだけです。
シスコでは、各リリースで最新のEPLDイメージを提供しています。通常、これらのイメージは以前のリリースと同じですが、一部のイメージが更新されることがあります。これらのEPLDイメージのアップデートは、特に指定がない限り必須ではありません。シスコがEPLDイメージのアップグレードを提供すると、これらのリリースノートに利用可能になったことが通知され、シスコのWebサイトからダウンロードできるようになります。
新しいEPLDイメージが使用可能な場合は、ネットワーク環境がある程度のトラフィック中断が許容されるメンテナンス期間を考慮している場合は、常にアップグレードが推奨されます。一般に、EPLDのアップグレードは、ソフトウェアのアップグレードの結果として新しいハードウェア機能が追加された場合に必要になります。
また、ACIモードの間にEPLDファームウェアをアップグレードする必要がある理由もさまざまです。
- EPLDバージョンでは、Cisco NX-OSからACIブートモードへの変換の前にアップグレードが必要で、FPGA/EPLDはアップグレードされませんでした。
- リーフ/スパインは(APICからのポリシーアップグレードの代わりに)手動でアップグレードされました。これにはEPLDアップグレードは含まれません。
リーフ/スパイン型スイッチをファブリックに追加すると、新しいバージョンのEPLDが利用可能な場合は、ポリシーのアップグレード(APICファームウェアタブから開始される通常のアップグレード)によってEPLDが自動的にアップグレードされます。
ソリューション
以前のバージョンのACIでは、問題のリーフ/スパインをダウングレードしてからアップグレードする必要がありましたが、11.2(1m)の時点で管理者ユーザが使用できるシェルスクリプトは2つあり、プロセスが大幅に簡素化されています。
fab1-leaf101# /bin/check-fpga.sh FpGaDoWnGrAdE
fab1-leaf101# /usr/sbin/chassis-power-cycle.sh
「/usr/sbin/chassis-power-cycle.sh」スクリプトは、単にソフトウェアを再起動する「reload」と比較して、電力をハードリセットします。EPLDをアップグレードする際には、ラインカード上のファームウェアを再プログラムするために電源を完全に取り外す必要があります。「/usr/sbin/chassis-power-cycle.sh」が使用できないか、または機能しない場合は、電源ケーブルを少なくとも30秒間取り外してから、再度接続して電源を回復する必要があります。