和客户远程看了一下测试环境,从排查问题的步骤来说:
- 首先对比 BD1, BD2 的配置是否有差异
- 然后 SSH 登录 BL111-112,确认 Subnet 是否在 leaf 生效
具体的发现如下:
- BD 配置没有差异,但是 BD1 关联的 EPG1,BD2 关联的 EPG2,两个 EPG 有差异
- EPG1 关联了 physical domain,对应了正确的 vlan pool, AEP
- EPG1 做了 static binding,trunk, vlan encap 2000, path BL111-112 e1/1
- EPG1 配置了 contract,与 L3out external EPG 的 contract 互相对应
- EPG2 只是创建出来,没有关联 physical domain,没有 static binding,没有 contract
- 当 Subnet 部署在 BD1,查看 BL111-112 如下输出:
f6leaf111# show vlan ext | grep BD2 // 最左侧的 vlan id 是 PI(Platform Independent) vlan, 每个 leaf 的输出可能都不同
98 tn-abc:BD2 vxlan-16646056 Eth1/45, Po7
f6leaf111# show int e1/45 switchport // 检查 port 允许的 PI vlan
Trunking VLANs Allowed: 7-10, 98
f6leaf111# show vlan id 98 extended // 单独查看某个 PI vlan 的对应关系
VLAN Name Encap Ports
---- -------------------------------- ---------------- ------------------------
98 tn-abc:BD2 vxlan-16646056 Eth1/45, Po7
f6leaf111# show ip int vlan 98 // PI vlan 对应 BD 的 Subnet IP;如果存在多个 Subnet,就用 secondary IP 表示
IP Interface Status for VRF "tn-abc:VRF1"
vlan98, Interface status: protocol-up/link-up/admin-up, iod: 8, mode: pervasive
IP address: 22.1.60.254, IP subnet: 22.1.50.0/24
IP address: 22.2.60.254, IP subnet: 22.2.60.0/24 secondary
f6leaf111# show ip route vrf tn-abc:VRF1 // 查看路由,对应 Subnet 应该出现在路由表,带有 pervasive 关键字
22.1.60.0/24, ubest/mbest: 1/0, attached, direct, pervasive
*via 106.10.224.64%overlay-1, [1/0], 1d23h, static
22.1.60.254/32, ubest/mbest: 1/0, attached, pervasive
*via 22.1.60.254, vlan98, [0/0], 1d23h, local, local
省略 22.2.60.254、32,22.2.60.254/0 的输出
- 当 Subnet 部署在 BD2,查看 BL111-112 的输出,发现 BD2 或者说 pervasive gateway 路由没有安装到对应 leaf,当然也不存在 SVI 接口
f6leaf111# show vlan ext | grep BD2 // 输出为空
f6leaf111# show ip route vrf tn-abc:VRF1 // 没有 Subnet IP 对应的 pervasive 路由
解决问题:
- BD2 配置的 Subnet 没有下载、安装到对应 leaf,是因为 ACI 的实现方式,当 EPG/BD 没有关联 BL111-112 的任何接口,那么就不需要将对应配置安装到 node,节省 node 资源
- 可以在 EPG2 关联相同 physical domain,并且随意做一个 static binding(path BL111-112 any port),表示 BL111-112 下面会对接设备,为了提供 gateway 服务,对应 BD, Subnet 就会安装到 node