简介
本文档介绍用于了解ACI中的设备更换方案并对其进行故障排除的步骤。
背景信息
本文档中的内容摘自 思科以应用为中心的基础设施故障排除(第二版) 书籍,特别是交换矩阵发现 — 设备更换 第章。
概述
在ACI交换矩阵的发展过程中,需要更换各种组件,包括:APIC、枝叶交换机、主干交换机和IPN设备。更换的最常见原因包括RMA和硬件升级。思科安装/升级指南中详细说明了这些步骤,在更换之前应阅读最新的指南。本节将深入研究这些程序在引擎盖下是如何工作的;并浏览几种最常见的故障排除场景。
程序和核查
注意:从ACI交换机版本5.2(3)开始,插入已发现的ACI交换矩阵交换机的NXOS交换机可以使用POAP转换为ACI交换机。
硬件备件更换
枝叶
来自RMA仓库的枝叶将运行NXOS软件。请参阅以下名为“问题:到达NXOS模式”以将枝叶正确转换为ACI模式。如果使用来自不同交换矩阵的枝叶,或者使用以前的配置,请确保使用“acidiag touch clean”和“reload”命令。
完成上述步骤并且新枝叶交换机准备进行注册后,通过“从控制器中删除”选项从交换矩阵中删除要更换的枝叶。
“从控制器中删除”选项将从APIC中完全删除该节点,释放由APIC分配的节点ID、SN关联和TEP地址。替换交换机节点时,需要这些过程。“停用”选项仅在预期相同节点将重新加入具有相同节点ID和SN的交换矩阵时使用。
当在交换矩阵成员页面上看不到要替换的枝叶交换机时,可以通过主干接口将新枝叶连接到交换矩阵。一旦枝叶被APIC发现,它将显示在交换矩阵资产中,并做好注册准备。如果要更换的设备尚未释放其节点ID,且新交换机注册了同一节点ID,则会引发故障,因为该ID已与另一个枝叶节点关联。故障应在一段时间后清除。如果新节点未显示在Fabric Membership子菜单中,则可能存在布线问题;这可以通过在连接到新连接的枝叶交换机的主干交换机上使用“show lldp neighbors detail”命令查看LLDP邻居来验证。有关交换矩阵发现过程的详细信息,请参阅“初始交换矩阵设置”一章。
如果修改了基础设施VLAN,则必须同时全新重新启动所有枝叶节点。如果未同时清除所有枝叶交换机,则重新加载干净的交换机将联机并通过LLDP从尚未清除的枝叶接收旧基础设施VLAN,而重新加载干净的枝叶将无法向APIC注册。有关详细信息,请参阅“初始交换矩阵设置”一章。
由于平台限制,VPC对不能混合使用Gen1和Gen2或更高版本的枝叶交换机。但是,在撰写本文时,任何Gen2枝叶和更高版本均可与任何其他Gen2枝叶或更高版本混合。
主干
与枝叶一样,根据主干(例如模块化主干)的硬件,它可能到达NXOS模式。使用“问题:在场景下到达NXOS模式“”以执行转换。
更换主干交换机时,用户必须考虑BGP路由反射器功能。作为一种最佳实践,对于第3层思科ACI交换矩阵,必须至少将两台主干交换机配置为BGP路由反射器。此配置位于Route Reflector Nodes下的“System > System Settings > BGP Route Reflectors”。更换或移除主干交换机时,请确保进行适当的配置更改以维护一个活动路由反射器,并确保在更改完成后至少有两个活动路由反射器。
有关BGP路由反射器的详细信息,请参阅“管理和核心服务”一章中的“Pod策略 — BGP RR/日期和时间/SNMP”一节。
APIC
执行APIC替换时,最重要的考虑因素是现有APIC集群的运行状况。在更换之前,应将集群中的所有APIC报告为“完全适合”。在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之一的用户界面重新将其重新激活到交换矩阵。
IPN设备更换
在多Pod环境中,可能需要更换其中一个用于IPN(Pod间网络)的设备。 在更换之前,IPN网络必须以虚拟RP的形式配置PIM双向交汇点冗余。如果没有虚拟RP,如果替换的节点是RP,则会出现PIM融合,并且通过IPN发送的所有BUM流量都将出现数据包丢失。
有关如何配置虚拟RP的详细信息,请参阅“多Pod发现”一章中的RP配置。
全新重新加载APIC/枝叶/主干
在某些情况下,恢复不会加入交换矩阵的枝叶/主干的最佳选项是对设备执行全新重新加载。
建议不要在等待升级的设备上执行全新重新加载。全新重新加载任何设备可能需要较长的时间。
“acidiag touch”命令有两个选项:clean和setup。clean选项删除所有策略数据,同时保留APIC网络配置(例如交换矩阵名称、IP地址、登录)。 setup选项删除策略数据和APIC网络配置。设置选项在通过Pod移动设备时最常用,因为Pod 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”命令通过将名为.clean的隐藏文件放置到枝叶上。引导枝叶时,会运行shell脚本,检查是否存在.clean文件。如果.clean文件位于/mnt/pss下,则会擦除策略配置,并从APIC重新下载配置。如果输入此命令且节点未重新加载,则无论输入触摸清除后经过多长时间,文件仍会存在,策略仍会在下次重新加载时擦除。
故障排除情况
问题:到达NXOS模式
确认
有时,当交换机通过RMA发货时,它可能带有尚未通过加电自动调配(POAP)流程配置的NXOS软件。当用户通过控制台进入此设备时,他们将看到以下某种形式的消息:
中止自动调配并继续正常设置?(yes/no)
如果设备已通过POAP,则确定枝叶是否正在运行独立NXOS代码的最简单方法是在“show version”输出中查找“NXOS image file”行。如果存在此类输出,枝叶正在运行独立代码,需要转换为ACI模式。通过查看映像本身,可以验证是否存在Kickstart映像和系统映像,并且它们只存在于运行ACI映像的枝叶上,独立映像为n9000,ACI为aci-n9000。
独立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映像一起随bootflash提供,尽管情况并非总是如此。ACI映像将以“aci-n9000”开头。 如果ACI映像不存在,则需要手动将其加载到bootflash中。这可以通过USB连接(需要本地访问)或通过SCP直接从APIC执行(假设两台设备都通过管理网络连接)。 以下是通过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),可在所有模块中提供硬件功能。思科提供电子可编程逻辑设备(EPLD)映像升级,以增强硬件功能或解决已知问题。PLD包括电子可编程逻辑器件(EPLD)、现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD),但不包括ASIC。
术语EPLD用于涵盖FPGA和CPLD。
对于某些模块功能使用EPLD的优势在于,当需要升级这些功能时,只需升级其软件映像,而无需更换硬件。
I/O模块的EPLD映像升级会中断通过模块的流量,因为模块在升级期间必须短暂关机。在模块化机箱中,系统一次对一个模块执行EPLD升级,因此在任何时候,升级都只会中断通过某个模块的流量。
思科为每个版本提供最新的EPLD映像。通常,这些图像与早期版本中提供的图像相同,但偶尔会更新其中一些图像。除非另有说明,否则这些EPLD映像更新不是必需的。当思科提供EPLD映像升级时,这些版本说明会宣布它们可用,并且可从思科网站下载。
当有新的EPLD映像可用时,如果网络环境允许维护期,允许某种程度的流量中断可以接受,则始终建议进行升级。通常,当软件升级后添加新硬件功能时,需要EPLD升级。
当已经处于ACI模式时,需要升级EPLD固件可能有多种原因:
- 在Cisco NX-OS到ACI引导模式转换之前,EPLD版本需要升级,并且FPGA/EPLD未升级。
- 枝叶/主干已手动升级(而不是从APIC进行策略升级),但不包括EPLD升级。
一旦枝叶或主干添加到交换矩阵,EPLD将自动升级,只要有新版本的EPLD,即可使用任何策略升级(从APIC固件选项卡启动正常升级)进行升级。
解决方案
在ACI的较旧版本中,有必要降级然后升级相关的枝叶/主干,但截至11.2(1m),管理员用户可以使用两个shell脚本,大大简化了流程。
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秒钟,然后重新连接以恢复电源。