ACI Fabric Switch (Leaf/Spine Switch) の Hardware 障害によって、機器交換が必要になることがあります。
ここでは、機器交換時の注意事項について記載します。
1. NX-OS (Standalone) mode から ACI mode へ変更
新規購入品は、購入時に指定した image が install された状態で出荷されますが、
交換用の Nexus 9000 は、ACI mode image もしくは、NX-OS image の何れかが install された状態で出荷されます。
NX-OSで出荷された場合は、ACI mode image に変更する必要があります。
ACI mode への変更方法は、下記に記載されています。
Cisco Nexus 9000 Series NX-OS Software Upgrade and Downgrade Guide, Release 10.4(x)
- Chapter: Converting from Cisco NX-OS to ACI Boot Mode and from ACI Boot Mode Back to Cisco NX-OS
簡単に手順だけ記載すると、下記になります。
1-a) NX-OS を最新バージョンへ upgrade
1-b) APICからスイッチの bootflash: へ ACI 用の image を copy
1-c) 下記を実行し、ACI mode で起動
switch(config)# no boot nxos
switch(config)# copy running-config startup-config
switch(config)# boot aci bootflash:[aci-image-name]
switch(config)# reload
2. 証明書の確認
Switch に SSL 証明書が入っているかどうかを確認するためには、
admin で login した後に、下記 command を実行する必要があります。
(Fabric discovery 前の (none)# と表示されている状態で実行する必要があります。)
(none)# openssl asn1parse -in /securedata/ssl/server.crt | grep -e PRINTABLESTRING -e UTCTIME
51:d=5 hl=2 l= 13 prim: PRINTABLESTRING :Cisco Systems
75:d=5 hl=2 l= 22 prim: PRINTABLESTRING :Cisco Manufacturing CA
101:d=3 hl=2 l= 13 prim: UTCTIME :160918170914Z
116:d=3 hl=2 l= 13 prim: UTCTIME :260918171914Z
142:d=5 hl=2 l= 30 prim: PRINTABLESTRING :PID:XXXXXXXXXXX SN:N9K-C9396PX
183:d=5 hl=2 l= 11 prim: PRINTABLESTRING :N9K-C9396PX
上記 3 行目のように "PRINTABLESTRING" に "Cisco Manufacturing CA" が表示されている場合は問題ありません。
"Cisco Manufacturing CA" が表示されていない場合は、SSL 証明書を再発行する必要があるため Japan-TAC へお問い合わせください。
※2014 年 5 月以前に出荷されたものは、SSL 証明書が入っていない場合があるため、
RMA 品の場合、ACI mode にしても Fabric discovery に失敗する機器が出荷されることがありました。
2016 年 10 月以降、日本の depot では、RMA 品検査時に SSL 証明書が入っていないものについては
SSL 証明書を入れる作業を追加しているため、証明書が入っていない状態で出荷される可能性は低いですが、
念のため、上記をご確認ください。
3. 時刻確認
Switch の時刻が大幅にずれ、証明書の有効期間外になっている
(上記例の場合、2016 年 9/18 17:09 - 2026 年 9/18 17:19 から外れている)場合、
Fabric discovery に失敗し、switch 起動時に下記のような message が出力されます。
*********CERTIFICATE VERIFICATION FAILED **************
*********PLEASE RE-PROGRAM CERTIFICATE ***************
その場合、下記 command で、時刻を合わせる必要があります。
#1 Nexus に admin でログイン
(none) login: admin
#2 現在時刻の確認
(none)# date
Wed Oct 5 11:58:36 JST 2016
【version 14.x 以降の場合】
実行に root で login する必要があり、Japan-TAC へお問い合わせいただく必要があります。
root user でのログインに関してはこちらを参照下さい。
#3 時刻が日単位でずれている場合は、時刻を設定
(none)# date --set="5 OCT 2016 12:00:00"
#4 'hwclock -w' で 'HW clockの同期
(none)# hwclock -w
【version 13.x 以前の場合】
#3 時刻が日単位でずれている場合は、時刻を設定
(none)# date --set="5 OCT 2016 12:00:00"
#4 'setup-hwclock.sh -w' で 'HW clockの同期
(none)# setup-hwclock.sh -w
4. Policy Upgrade
Standalone mode から ACI mode へ変更した場合や、/bin/prepare-mfg.sh で version を変更した場合、
EPLD/FPGA や BIOS version の変更は行われません。 そのため、下記のような message が出力されることがあります。
APIC GUI から switch の version を変更した場合、
EPLD/FPGA, BIOS の version 確認が行われ、必要に応じて version up が自動的に実施されます。
そのため、Fabric discovery 前の version は実際に使用したい version よりも少し古い version を使用し、
ACI Fabric へ接続した後に、APIC GUI を使用して同じ version に合わせることをお勧めします。
# EPLD/FPGA
FPGA version mismatch detected. Running version: 0x14 Expected version:0x15
# BIOS
BIOS version mismatch detected. Running version: v01.29 Expected version:v01.42
また、EPLD/FPGA, BIOS の version 変更が必要かどうかは下記 command で確認可能です。
※ Expected Versionよりも 上位のVersion となっている場合は、Expected Versionに合わせる必要はございません。(上位互換)
# BIOS/EPLD(FPGA)
leaf1# moquery -c firmwareARunning | grep -E "dn|biosVer|expectedVer|version"
biosVer : v07.41(10/12/2015) <=== 現在のBIOS version
dn : sys/ch/supslot-1/sup/running
expectedVer : v07.41(10/12/2015) <=== 想定BIOS version
version : 12.1(1h)
biosVer : v07.41(10/12/2015)
dn : sys/ch/lcslot-1/lc/running
expectedVer : v07.41(10/12/2015)
version : 12.1(1h)
dn : sys/ch/supslot-1/sup/fpga-1/running
expectedVer : 0x8 <=== fpga-1 の想定EPLD version
version : 0x8 <=== fpga-1 の現在のEPLD version
dn : sys/ch/supslot-1/sup/fpga-3/running
expectedVer : 0x20 <=== fpga-3 の想定EPLD version
version : 0x20 <=== fpga-3 の現在のEPLD version
biosVer : 07.41
descr : version 12.1(1h) [build 12.1(1h)]
dn : sys/fwstatuscont/running
version : n9000-12.1(1h)
leaf1#
4a. EPLD/FPGA
Policy upgrade を行わず、switch を fabric に接続してしまった場合等、手動で EPLD/FPGA の version up が必要になった場合、
下記 command で EPLD/FPGA の version を合わせることが可能です。
ただし、11.1(2h) で追加された機能のため、それ以前の version では使用できません。
/bin/check-fpga.sh FpGaDoWnGrAdE
/usr/sbin/chassis-power-cycle.sh
4b. BIOS
BIOS 変更を手動で行うためには、root で login する必要があり、Japan-TAC へお問い合わせいただく必要があります。
root user でのログインに関してはこちらを参照下さい。
以下は、root password を発行後の手順になります。
# root で login
apic# ssh root@leaf1
# id を確認
leaf1# id
uid=0(root) gid=0(root) groups=0(root)
# bios image が存在することを確認
leaf1# ls /isan/bin/bios_imgs/
BIOS_VERSIONS bios-sflc.bin.gz bios-x86i-spine.bin.gz
bios-x86ia-sflc.bin.gz
BIOS_VERSIONS_1 bios-x86i-gladden-7-18.bin.gz bios-x86i-tor.bin.gz
leaf1#
# bios version 変更
leaf1# update_bios.sh all
** Running INXOS PE IFC image ***
Warning: Updating bios with bios-x86i-tor.bin. Proceed Y/N y
<<== 3 秒以内に 'y' を実行
Wed Mar 30 14:26:19 2016 lib_bios_trans.c:44: Enter which = 0
[snip]
Wed Mar 30 14:32:51 2016 lib_bios_isup.c:735: Calculated Checksum:
0x7cad79abd71f539cec054d420c42c5e1
Command completed successfully <<== この message が出力される前に電源 cable を抜いたり ctrl+c を実行し、処理を停止すると起動しなくなってしまうため注意が必要です。
# logout 後、admin で login しなおし、再起動
leaf1# exit
logout
Connection to leaf1 closed.
apic# ssh admin@leaf1
leaf1# reload
This command will reload the chassis, Proceed (y/n)? [n]: y
5. 参考資料
このコンテンツは、Switch 交換時の注意点についてまとめています。
APIC 側に関しては、APIC HW交換方法 をご参照ください。
また、Fabric discovery を行う時の注意事項は fabric discovery失敗時の確認 にもまとまっています。
(switch 部分は一部重複しています。)