请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

   思科 CCO 登录 推荐
 找回密码
 立即注册

搜索
热搜: 邮件服务器
查看: 916|回复: 9

[原创故障案例分享]Nexus5k 7.3 nx-os version, routing over vPC

[复制链接]
发表于 2019-1-24 18:56:13 | 显示全部楼层 |阅读模式
首先说,vPC是一个 layer2的概念,为了解决STP block 冗余接口的问题;两台 nexus 在逻辑上虚拟成为一个 layer2设备。不过对于 layer3, 也就是 routing(HSRP/OSPF, etc), vPC设备是互相独立的存在,因此 routing over vPC, 在设计网络时候,需要仔细考虑。
对于新设计的网络,推荐去看一下 VPC best practice,以及 configuration guide。如果说熟读这两份文档,那么恭喜你,你应该可以解决大部分非 software bug 的 VPC 相关问题啦。
让客户去读文档似乎不太可能,毕竟项目可以给 partner 去做集成,出问题可以找 partner 或者厂商TAC, 😄
文档翻译这件事比较枯燥,我去翻译,没什么动力,大家看的可能也没什么重点,不如就用 VPC 相关的 case 来举例吧。比如下面的 case, 基本的问题描述如下:
  • 网络设备:两台N7K,互相独立;两台layer2透明墙Firewalls,互为HA Act-Stby; 两台N5672,互为 VPC;
  • 网络连接:口字型;
  • 网络协议:N7K和N5K 互为 OSPF邻居;
  • 客户问题:当Active FW任意连接N7K或者N5K的其中一条 link 断开,FW HA就会发生主备切换;FW HA切换正常,切换之后,N7K与N5K的OSPF邻居卡在EXSTART/EXCHANGE状态。


拓扑是用 Email Effects 这款软件画的。基本要点都在图里了。LAB 环境可以重现此问题。
首先说,透明墙FW是一个干扰项,基本不会影响流量转发。在客户环境确实存在FW,在我的LAB环境,没有FW。
假设FW1是 active,也就是说LAB里面,先 shutdown N7K-2的 e1/1,OSPF 邻居关系如下:

接下来,模拟透明墙HA切换。切换的过程中, active FW断开,standby FW接管,是有先后顺序的。
所以说LAB模拟,必须是保持N7K-2 e1/1 shutdown, 去 shutdown N7K-1 e1/1 模拟FW的 Uplink 断开。不能先打开N7K-2  e1/1,再去模拟。

断开N7K-1 e1/1, 打开N7K-2 e1/1, OSPF问题如下:

OSPF 卡在EXSTART/EXCHANGE状态,证明组播 hello 报文没问题,单播的DBD出现问题。
N7K-1直接ethanalyzer 抓包,发现一些线索:

眼尖的各位,一定发现了N7K-1收到了 TTL exceeded 报文,可以猜测是N7K-1送去N5K-1的DBD报文,在路过N5K-2时候,被N5K-2把TTL-1.
OSPF 等协议报文,TTL=1
接下来去看 show ip ospf event-history/adjacency, 发现其实N7K-1 & N5K-1 已经选举了交换DBD的 master/slave, 但是呢,N7K-1收到了N5K-1的DBD, N5K-1却一直没收到N7K-1的DBD(TTL=0的无效)。
解决方法
  • N5K VPC的 peer-gateway 配置删除掉。peer-gateway 给了VPC设备互相代理去往对方的 packets 的能力。如果删掉,那么N5K-2就不能够再代为处理N7K-1发给N5K-1的OSPF DBD,TTL不会减1。
    LAB测试,立即生效
  • 建议是保留 peer-gateway 配置。添加 layer3 peer-router。peer-router的作用,是在代理协议报文时候,TTL不做修改。


layer3 peer-router <!--对于N5K来说,7.3 nx-os 的版本,建议是要加入这条配置-->
即使像这个 case,N5K VPC间用了单独的 e1/3来跑OSPF协议报文。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-24 20:47:12 | 显示全部楼层
看来我也是中了你的这个坑了。
和你的环境几乎一模一样,前期在测试防火墙切换的时候有时候会看到OSPF邻居有点不正常,但是没有过多的去纠结,只是把邻居清一下就好了。
感觉VPC的坑还是蛮多的,在做之前已经严格按照最佳实践去设计操作了。
现在运行6.2.20还没有layer3的那个命令,只能去掉peer gateway来解决了。
只是还有不明,二层透传组播报文,为什么会被中间的交换机处理转发了。。。??
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
 楼主| 发表于 2019-1-25 09:12:34 | 显示全部楼层
wuhao0015 发表于 2019-1-24 20:47
看来我也是中了你的这个坑了。
和你的环境几乎一模一样,前期在测试防火墙切换的时候有时候会看到OSPF邻居 ...

peer-gateway 赋予vpc device有代理的功能,packets dst mac 为 N7K-1 router-mac,如果 hash 到了N7K-2, N7K-2有权代理。

可以参考下面文档,routing over vpc, 支持的拓扑,和注意事项
https://www.cisco.com/c/en/us/su ... hnote-nexus-00.html
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-25 10:31:48 | 显示全部楼层
我遇到过一个一模一样的坑!!!!!!!!!!!!!!!!
在5K平台,两台VPC的5K之间,建议使用Peer-link传输Routing 流量。https://www.cisco.com/c/en/us/su ... hnote-nexus-00.html

而且文档上说单扯一根L2 link是不能工作(实际上是可以正常工作的)
In some circumstances, you might consider having a separate link between the two vPC switches, either to carry non-vPC VLAN traffic or to form Layer 3 routing protocol peering. While this design is supported on the Cisco Nexus 7000 Series switch, it does not work on the Cisco Nexus 5000 Series switch. With the Cisco Nexus 5000 Series switch, we recommend that you use a vPC peer link for Layer 3 peering to carry both vPC and non-vPC VLAN traffic.
https://www.cisco.com/c/en/us/td ... platform.html#55657
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-25 10:32:47 | 显示全部楼层
加黄之后,竟然这么不清晰
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-25 10:38:48 | 显示全部楼层
kaiji 发表于 2019-1-25 10:31
我遇到过一个一模一样的坑!!!!!!!!!!!!!!!!
在5K平台,两台VPC的5K之间,建议使用Peer-li ...

最佳实践说跑路由和非vpc的流量要单独扯条链路,在你这又说不需要了。
文档碎片话严重,不知道以哪个为准了。。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
 楼主| 发表于 2019-1-25 14:37:51 | 显示全部楼层
wuhao0015 发表于 2019-1-25 10:38
最佳实践说跑路由和非vpc的流量要单独扯条链路,在你这又说不需要了。
文档碎片话严重,不知道以哪个为 ...

While this design is supported on the Cisco Nexus 7000 Series switch, it does not work on the Cisco Nexus 5000 Series switch. With the Cisco Nexus 5000 Series switch, we recommend that you use a vPC peer link for Layer 3 peering to carry both vPC and non-vPC VLAN traffic.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
 楼主| 发表于 2019-1-25 14:38:08 | 显示全部楼层
wuhao0015 发表于 2019-1-25 10:38
最佳实践说跑路由和非vpc的流量要单独扯条链路,在你这又说不需要了。
文档碎片话严重,不知道以哪个为 ...

While this design is supported on the Cisco Nexus 7000 Series switch, it does not work on the Cisco Nexus 5000 Series switch. With the Cisco Nexus 5000 Series switch, we recommend that you use a vPC peer link for Layer 3 peering to carry both vPC and non-vPC VLAN traffic.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-25 15:11:10 | 显示全部楼层
wuhao0015 发表于 2019-1-25 10:38
最佳实践说跑路由和非vpc的流量要单独扯条链路,在你这又说不需要了。
文档碎片话严重,不知道以哪个为 ...

7K的BP说的确实是再扯一条,5K的BP说的是使用PL。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-1-25 15:15:51 | 显示全部楼层
ok                          .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-4-25 16:44 , Processed in 0.102606 second(s), 57 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表