此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍补救ACI故障F0467的后续步骤;invalid-vlan、invalid-path或encap-already-in-use。
ACI故障F0467会在不同的场景中标记,但显示每个故障的不同“原因”。
ACI故障F0467最常见的“原因”值包括:
ACI故障F0467的所有原因都可能影响交换机节点接口上的vlan部署。
此故障作为主动ACI活动的一部分进行主动监控。
如果您有与Intersight连接的ACI交换矩阵,则会代表您生成服务请求,以指明在Intersight连接的ACI交换矩阵中找到了此故障的实例。
故障说明明确表明“EpG未与域关联,或者域未分配此vlan”。
APIC# moquery -c faultInst -f 'fault.Inst.code=="F0467"' | grep lc_EPG
descr : Configuration failed for uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG node 103 eth1/13 due to Invalid VLAN Configuration, debug message: invalid-vlan: vlan-421 :Either the EpG is not associated with a domain or the domain does not have this vlan assigned to it;
dn : topology/pod-1/node-103/local/svc-policyelem-id-0/uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/stpathatt-[eth1/13]/nwissues/fault-F0467
枝叶节点上未部署访问封装VLAN 421。
Node-103# show vlan encap-id 421 extended
<<< Empty >>>
未创建EPG关联的静态路径。
APIC# moquery -c l2RtDomIfConn | grep lc_EPG | grep dn
<<< Empty >>>
域lc_phys_dom将其与lc_EPG EPG关联。
APIC# moquery -c fvRsDomAtt | grep -A 25 lc_EPG | grep rn
rn : rsdomAtt-[uni/phys-lc_phys_dom]
存在域到VLAN池的关联。
APIC# moquery -c infraRsVlanNs | grep -A 15 lc_phys_dom | grep tDn
tDn : uni/infra/vlanns-[lc_vlan_pool]-static
Vlan池lc_vlan_pool的范围仅包括VLAN 420。
APIC# moquery -c fvnsEncapBlk | grep lc_vlan_pool
dn : uni/infra/vlanns-[lc_vlan_pool]-static/from-[vlan-420]-to-[vlan-420]
vlan 421不在之前的池中,因此出现错误“invalid-vlan: vlan-421 : EpG未与域关联或该域未分配此vlan”
在前面引用的方框图中,此特定VLAN池引用突出显示
将缺少的vlan 421添加到特定vlan范围
Vlan池与封装和域关联(Fabric > Access Policies > Pool > VLAN > lc_vlan_pool)
添加VLAN 421后的VLAN池范围验证
APIC# moquery -c fvnsEncapBlk | grep lc_vlan_pool
dn : uni/infra/vlanns-[lc_vlan_pool]-static/from-[vlan-420]-to-[vlan-420]
dn : uni/infra/vlanns-[lc_vlan_pool]-static/from-[vlan-421]-to-[vlan-421]
Fabric > Access Policies > Physical and External Domains> Physical Domains > lc_phys_dom
[+]域与Vlan池的关联
APIC# moquery -c infraRsVlanNs | grep -A 15 lc_phys_dom | grep tDn
<< EMPTY >>
修复:包括丢失的VLAN关联
Fabric > Access Policies > Physical and External Domains> Physical Domains > lc_phys_dom
当在没有相应的访问策略允许正确应用该配置的情况下进行交换机/端口/VLAN声明时,会引发此故障。
根据对此故障的描述,访问策略关系的另一个元素可能丢失。
EPG - lc_EPG到租户的故障关联> lc_TN > lc_AP > lc_EPG >故障>故障
受影响的EPG、交换机节点ID和端口号在故障描述和DN中:
APIC# moquery -c faultInst -f 'fault.Inst.code=="F0467"' | grep lc_EPG
descr : Configuration failed for uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG node 103 eth1/13 due to Invalid Path Configuration, debug message: invalid-path: Either the EpG/L3Out is not associated with a domain or the domain does not have this interface assigned to it;
dn : topology/pod-1/node-103/local/svc-policyelem-id-0/uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/stpathatt-[eth1/13]/nwissues/fault-F0467
确认是否已部署vlan。如果不是,可以运行这些命令来隔离配置错误。
在这些命令中,lc_EPG是用于输出过滤的EPG名称。
枝叶节点上未部署Encap-vlan
Node-103# show vlan encap-id 420 extended
<<< Empty >>>
[1] EPG关联策略的静态路径为空。
APIC# moquery -c l2RtDomIfConn | grep lc_EPG | grep dn
<<<空>>>
[2]域与EPG的关联
APIC# moquery -c fvRsDomAtt | grep -A 25 lc_EPG | grep rn
rn : rsdomAtt-[uni/phys-lc_phys_dom]
[3]域与Vlan池的关联
APIC# moquery -c infraRsVlanNs | grep -A 15 lc_phys_dom | grep tDn
tDn : uni/infra/vlanns-[lc_vlan_pool]-static
[4] Vlan池范围验证
APIC# moquery -c fvnsEncapBlk | grep lc_vlan_pool
dn : uni/infra/vlanns-[lc_vlan_pool]-static/from-[vlan-420]-to-[vlan-420]
[5]域与AAEP的关联
APIC# moquery -c infraRtDomP | grep lc_phys_dom
dn : uni/phys-lc_phys_dom/rtdomP-[uni/infra/attentp-lc_AAEP]
[6] AAEP到接口策略组关联(IPG)
rtp-aci08-apic1# moquery -c infraRtAttEntP | grep lc_AAEP
dn : uni/infra/attentp-lc_AAEP/rtattEntP-[uni/infra/funcprof/accportgrp-lc_IPG]
[7] IPG与接口选择器关联
APIC# moquery -c infraRsAccBaseGrp | grep -B 15 lc_IPG | grep dn
dn : uni/infra/accportprof-lead103_IP/hports-lc_Interface_Selector-typ-range/rsaccBaseGrp
[8]接口配置文件与交换机配置文件关联
APIC# moquery -c infraRsAccPortP | grep leaf103_IP | grep dn
dn : uni/infra/nprof-leaf103_SP/rsaccPortP-[uni/infra/accportprof-leaf103_IP]
如果在静态路径配置中缺少任何所需的关联访问策略,则会出现无效路径原因。浏览潜在原因,逐跳验证访问策略。
交换矩阵>访问策略>策略>全局> AAEP > lc_AAEP
[+] EPG关联策略的静态路径为空
APIC# moquery -c l2RtDomIfConn | grep lc_EPG | grep dn
<< EMPTY >>
[+]域与AAEP关联
APIC# moquery -c infraRtDomP | grep lc_phys_dom
<< EMPTY >>
修复:包括缺少的域关联
Fabric > Access Policies > Physical and External Domains> Physical Domains > lc_phys_dom
IPG与AAEP关联
Fabric > Access Policies > Interfaces > Leaf Interfaces > Policy Groups > Leaf Access Port > lc_IPG
[+] EPG关联策略的静态路径为空
APIC# moquery -c l2RtDomIfConn | grep lc_EPG | grep dn
<< EMPTY >>
[+] IPG到AAEP的关联为空
APIC# moquery -c infraRsAttEntP | grep -A 15 lc_IPG | grep tDn
<< EMPTY >>
修复:缺少AAEP到IPG的关联
Fabric > Access Policies > Interfaces > Leaf Interfaces > Policy Groups > Leaf Access Port > lc_IPG
[+] IPG与AAEP关联
APIC# moquery -c infraRsAttEntP | grep -A 15 lc_IPG | grep tDn
tDn : uni/infra/attentp-lc_AAEP
接口选择器与接口策略组关联
交换矩阵>访问策略>接口>枝叶接口>配置文件>枝叶103_IP > lc_Interface_Selector
[+] IPG与接口选择器关联
APIC# moquery -c infraRsAccBaseGrp | grep -B 15 lc_IPG | grep dn
<< EMPTY >>
修复:接口选择器与接口策略组关联
[+] IPG与接口选择器关联
APIC# moquery -c infraRsAccBaseGrp | grep -B 15 lc_IPG | grep dn
dn : uni/infra/accportprof-lead103_IP/hports-lc_Interface_Selector-typ-range/rsaccBaseGrp
接口配置文件与接口选择器关联
Fabric > Access Policies > Interfaces > Leaf Interfaces > Profiles > leaf103_IP
故障排除:
APIC# moquery -c infraHPortS | grep leaf103_IP
<< EMPTY >>
将接口配置文件与接口选择器关联
APIC# moquery -c infraHPortS | grep leaf103_IP
dn : uni/infra/accportprof-leaf103_IP/hports-lc_Interface_Selector-typ-range
接口配置文件与交换机配置文件关联
交换矩阵>访问策略>交换机>枝叶交换机>配置文件>枝叶103_SP
APIC# moquery -c infraRsAccPortP | grep leaf103_IP | grep dn
<< EMPTY >>
将枝叶配置文件修复到接口选择器配置文件关联
[+]接口配置文件与交换机配置文件关联
APIC# moquery -c infraRsAccPortP | grep leaf103_IP | grep dn
dn : uni/infra/nprof-leaf103_SP/rsaccPortP-[uni/infra/accportprof-leaf103_IP]
默认情况下,VLAN具有全局范围。给定的VLAN ID只能用于给定枝叶交换机上的单个EPG。
在给定枝叶交换机内的多个EPG上重复使用同一VLAN的任何尝试都会导致encap-already-in-use F467故障。
EPG到租户的故障关联> lc_TN > lc_AP > lc_EPG >故障>故障
APIC# moquery -c faultInst -f 'fault.Inst.code=="F0467"' | grep lc_EPG
changeSet : configQual:encap-already-in-use, configSt:failed-to-apply, debugMessage:encap-already-in-use: Encap (vlan-420) is already in use by lc_TN_Dup:lc_APP:lc_EPG;, temporaryError:no
descr : Configuration failed for uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG node 103 eth1/13 due to Encap Already Used in Another EPG, debug message: encap-already-in-use: Encap (vlan-420) is already in use by lc_TN_Dup:lc_APP:lc_EPG;
dn : topology/pod-1/node-103/local/svc-policyelem-id-0/uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/stpathatt-[eth1/13]/nwissues/fault-F0467
[+]您可以确认已在其他租户lc_TN_Dup上使用的封装
Node-103# show vlan extended | egrep "Encap|----|vlan-420"
VLAN Name Encap Ports
---- -------------------------------- ---------------- ------------------------
3 lc_TN_Dup:lc_APP:lc_EPG vlan-420 Eth1/13
选项 1:
在枝叶或VPC对上使用不同的VLAN编号。
选项 2:
在没有尝试部署Vlan的不同枝叶或VPC对上使用相同的VLAN。
选项 3:
删除重复的EPG上的静态端口关联,这允许新部署。
选项 4:
在v1.1版本之前的ACI版本中,给定VLAN封装只映射到枝叶交换机上的单个EPG。如果同一枝叶交换机上有第二个EPG具有相同的VLAN封装,则ACI会引发此故障。
从v1.1版本开始,您可以在Per Port VLAN配置中,在给定的枝叶交换机(或FEX)上部署多个EPG和相同的VLAN封装
本部分可用作功能设置完整配置的参考指南。
租户> lc_TN > lc_AP > lc_EPG >静态端口
[+]静态端口到EPG关联策略
APIC# moquery -c l2RtDomIfConn | grep lc_EPG | grep dn
dn : topology/pod-1/node-103/sys/ctx-[vxlan-2195458]/bd-[vxlan-16416666]/vlan-[vlan-420]/rtfvDomIfConn-[uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/stpathatt-[eth1/13]/conndef/conn-[vlan-420]-[0.0.0.0]]
交换矩阵>访问策略>策略>全局> AAEP > lc_AAEP
APIC# moquery -c fvIfConn -f 'fv.IfConn.encap=="vlan-420"' | grep dn
dn : uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/attEntitypathatt-[lc_AAEP]/conndef/conn-[vlan-420]-[0.0.0.0]
租户> lc_TN > lc_AP > lc_EPG >域
[+]域lc_phys_dom已将其关联到EPG。
APIC# moquery -c fvRsDomAtt | grep -A 25 lc_EPG | grep rn
rn : rsdomAtt-[uni/phys-lc_phys_dom]
Fabric > Access Policies > Physical and External Domains> Physical Domains > lc_phys_dom
[+]域与AAEP关联
APIC# moquery -c infraRtDomP | grep lc_phys_dom
dn : uni/phys-lc_phys_dom/rtdomP-[uni/infra/attentp-lc_AAEP]
[+]域与Vlan池的关联
APIC# moquery -c infraRsVlanNs | grep -A 15 lc_phys_dom | grep tDn
tDn : uni/infra/vlanns-[lc_vlan_pool]-static
Fabric > Access Policies > Pool > VLAN > lc_vlan_pool
[+] Vlan池范围验证
APIC# moquery -c fvnsEncapBlk | grep lc_vlan_pool
dn : uni/infra/vlanns-[lc_vlan_pool]-static/from-[vlan-420]-to-[vlan-420]
[+]已使用lc_vlan_pool的域
APIC# moquery -c fvnsRtVlanNs | grep lc_vlan_pool
dn : uni/infra/vlanns-[lc_pool]-dynamic/rtinfraVlanNs-[uni/phys-lc_phys_dom]
交换矩阵>访问策略>策略>全局> AAEP > lc_AAEP
APIC# moquery -c infraRsDomP | grep lc_AAEP
dn : uni/infra/attentp-lc_AAEP/rsdomP-[uni/phys-lc_phys_dom]
Fabric > Access Policies > Interfaces > Leaf Interfaces > Policy Groups > Leaf Access Port > lc_IPG
[+] IPG与AAEP关联
APIC# moquery -c infraRsAttEntP | grep -A 15 lc_IPG | grep tDn
tDn : uni/infra/attentp-lc_AAEP
Fabric > Access Policies > Interfaces > Leaf Interfaces > Profiles > leaf103_IP
APIC# moquery -c infraHPortS | grep leaf103_IP
dn : uni/infra/accportprof-leaf103_IP/hports-lc_Interface_Selector-typ-range
交换矩阵>访问策略>接口>枝叶接口>配置文件>枝叶103_IP > lc_Interface_Selector
[+] IPG与接口选择器关联
APIC# moquery -c infraRsAccBaseGrp | grep -B 15 lc_IPG | grep dn
dn : uni/infra/accportprof-lead103_IP/hports-lc_Interface_Selector-typ-range/rsaccBaseGrp
<h4">枝叶接口配置文件与接口选择器和枝叶交换机配置文件关联
交换矩阵>访问策略>交换机>枝叶交换机>配置文件>枝叶103_SP
[+]枝叶接口配置文件与交换机配置文件关联
APIC# moquery -c infraRsAccPortP | grep leaf103_IP | grep dn
dn : uni/infra/nprof-leaf103_SP/rsaccPortP-[uni/infra/accportprof-leaf103_IP]
[+]交换机配置文件与交换机端口组关联
APIC# moquery -c infraRsAccNodePGrp | grep -A 8 leaf103_SP | grep tDn
tDn : uni/infra/funcprof/accnodepgrp-leaf103_SPG
可以根据相关的VLAN封装过滤对fvIcConn类的查询,以显示已部署VLAN的每个EPG/交换机/接口组合。
APIC# moquery -c fvIfConn -f 'fv.IfConn.encap=="vlan-420"' | grep dn
dn : uni/epp/fv-[uni/tn-lc_TN/ap-lc_APP/epg-lc_EPG]/node-103/stpathatt-[eth1/13]/conndef/conn-[vlan-420]-[0.0.0.0]
可以在任何交换机上运行“show vlan extended”,以检查交换机上当前部署了哪些VLAN,以及VLAN所绑定的EPG和接口。
“encap-id xx”过滤器在ACI版本4.2及更高版本上可用。
Node-103# show vlan encap-id 420 extended
VLAN Name Encap Ports
---- -------------------------------- ---------------- ------------------------
2 lc_TN:lc_APP:lc_EPG vlan-420 Eth1/13
ACI交换机节点中的每个VLAN都映射到某个独立于平台(PI)的VLAN,该VLAN是每个交换机节点的本地值。
接入封装映射到称为“FD VLAN”的PI VLAN,而网桥域映射到称为“BD VLAN”的PI Vlan。
可以在交换机上运行“show system internal epm vlan all”以显示枝叶上部署的vlan列表。
Node-103# show vlan extended | egrep "Encap|----|1/13"
VLAN Name Encap Ports
---- -------------------------------- ---------------- ------------------------
2 lc_TN:lc_APP:lc_EPG vlan-420 Eth1/13 --> FD vlan 2
18 lc_TN:lc_BD vxlan-16416666 Eth1/13 --> BD vlan 18
可以使用“show interface”命令验证FD vlan和BD vlan到接口的规划。
Node-103# show interface eth 1/13 trunk | grep -A 2 Allowed
Port Vlans Allowed on Trunk
-----------------------------------------------------------------------------------
Eth1/13 2,18
如果使用BD SVI验证第3层VLAN,则使用moquery class fvSubnet获取子网的IP地址。
APIC# moquery -c fvSubnet | grep lc_BD
dn : uni/tn-lc_TN/BD-lc_BD/subnet-[10.10.10.254/24]
然后对照检查“show ip interface brief”并检查匹配的IP地址以验证VLAN和预期的VRF。
在本示例中,验证来自上一个CLI输出示例的BD VLan 18。
Node-103# show ip interface brief
...
IP Interface Status for VRF "lc_TN:lc_VRF"(16)
Interface Address Interface Status
vlan18 10.10.10.254/24 protocol-up/link-up/admin-up
此高级序列汇总了从VLAN静态路径API调用到交换机节点VLAN部署所涉及的步骤。
此方框图显示访问策略之间的关系,以确保成功部署交换机节点VLAN。
实际上,每个网络工程师都采用了访问策略的思想;只有访问策略通过独立设备的CLI界面在文件中定义为文本。
当发现故障F0467时,必须首先了解访问策略并确保其配置正确。
每个命令输出都提供一个变量,用于列表中的下一个命令。
本文档中引用了这些命令来排除不同场景故障。
节点 | 命令 | 目的 |
APIC | moquery -c faultInst -f 'fault.Inst.code=="F0467"' | 列出交换矩阵中当前处于活动状态的所有F0467故障 |
moquery -c l2RtDomIfConn | grep <epg_name> | grep dn | 显示与特定epg关联的静态/动态路径。 | |
moquery -c fvRsDomAtt | grep -A 25<epg_name> | grep rn | 显示与EPG关联的域 | |
moquery -c infraRsVlanNs | grep -A 15 <dom_name> | grep tDn | 显示与域关联的vlan池名称。域名是从上一个命令中提取的 | |
moquery -c fvnsEncapBlk | grep <vlan_pool_name> | 显示与特定vlan池关联的vlan编号 | |
moquery -c infraRtDomP | grep <dom_name> | 显示与域关联的AEP | |
moquery -c infraRtAttEntP | grep <AEP_name> | 显示与域关联的接口配置文件组(IPG) | |
moquery -c infraRsAccBaseGrp | grep -B 15 <IPG_name> | grep dn | 显示接口配置文件组(IPG)与接口选择器的关联 | |
moquery -c infraRsAccPortP | grep <Interface_Sector> | grep dn | 显示接口配置文件与交换机配置文件的关联 | |
moquery -c fvIfConn -f 'fv.IfConn.encap=="<encap_vlan>"' | grep dn | 显示在交换矩阵上部署特定封装vlan的所有接口 | |
moquery -c fvnsRtVlanNs | grep <vlan_pool_name> | | grep dn | 显示与vlan池关联的域 | |
moquery -c fvSubnet | grep <BD_name> | 显示与域关联的svi IP | |
交换机 | show vlan encap-id <encap_vlan> extended | 显示PI vlan和租户、应用配置文件和EPG名称的详细信息 |
show vlan extended | egrep "Encap|----|<port:example 1/13>" | 显示特定端口上vlan的详细信息。 | |
show int eth <port> trunk | grep -A 2允许 | 显示在特定端口上转发的vlan。请注意,vlan编号是内部vlan编号。 | |
show ip int bri vrf <vrf> | 显示为特定vrf部署的第3层接口 | |
show vpc brief | 显示此交换机是VPC对的一部分时的vpc相关信息。 |
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
14-Sep-2023 |
初始版本 |