BGP路由负载均衡故障案例

  • 网络架构介绍

1、拓扑图:

考虑到公司网络隐私性和更清楚的描述故障现象,对实际网络结构进行了简化。

2、网络规划及数据配置简介:

◆ASR9K分别以互联地址与两台N7K建立IBGP邻居关系;

◆ASR9K下挂思科752架构,752下为CDN服务器;

◆服务器网关均在N7K,两台7K之间起HSRP V2,相同优先级;

◆规划CDN服务器流量负载均衡(BOND0)至752,N7K再通过BGP将流量均衡送至ASR9K,最               后流量从ASR9出公网。

数据配置:

ASR9K:
router bgp 65555
 nsr
 bgp router-id 1.1.1.1
 bgp graceful-restart
 bgp log neighbor changes detail
 address-family ipv4 unicast
  redistribute connected route-policy AAAAA
  redistribute static route-policy BBBBB
  redistribute ospf CCCCC
 !
  neighbor 30.207.7.42
   remote-as 65555
   update-source TenGigE0/1/0/7.3
   address-family ipv4 unicast
    route-policy Defaultroutes out
    soft-reconfiguration inbound always
   !
  !
  neighbor 30.207.7.46
   remote-as 65555
   update-source TenGigE0/2/0/7.3
   address-family ipv4 unicast
    route-policy Defaultroutes out
    soft-reconfiguration inbound always
   !
   
N7K-1:
  router bgp 65555
  router-id 2.2.2.2
  address-family ipv4 unicast
    redistribute direct route-map AA
    redistribute static route-map BB
  neighbor 30.207.7.41 remote-as 65555
    update-source Ethernet1/28.3
    address-family ipv4 unicast
      route-map ServersIP out
      next-hop-self
      soft-reconfiguration inbound
      
N7K-2: 
  router bgp 65555
  router-id 3.3.3.3
  address-family ipv4 unicast
    redistribute direct route-map yewudirect
    redistribute static route-map yewustatic
    maximum-paths ibgp 10
  neighbor 30.207.7.45 remote-as 65555
    update-source Ethernet1/28.3
    address-family ipv4 unicast
      next-hop-self
      soft-reconfiguration inbound
  • 故障现象:

两台N7K往ASR9K吐流均衡,但ASR9K往两台N7K流量不均衡,回来的这些流量全都跑在图中线路1,导致线路1流量负载至90%。上cacti监控流量图:

线路1万兆链路入流量跑了9G多,触发了流量阀值产生告警。线路2没有入流量。

  • 故障处理:

1、N7K的出流量均衡正常但入流量只跑了一边,说明ASR9K只从N7K-1收到回程路由,或者N7K-1收到的回程路由比从N7K-2的要高。在ASR9K上show服务器路由,果然只有一个N7K-1的下一跳。和预想的双下一跳负载均衡不符。

2、查看N7K-2与ASR9K的BGP邻居状态正常,也能从N7K-2收到服务器地址段路由,且路由数量与N7K-1相同。

3、查找资料翻出BGP选路原则,其中第九条显示balance traffic,如果未配置maximum-path,BGP会只选择一条最优路由,最终ASR9K选择N7K-1吐流是根据选路原则最后一条“选择邻居地址较小的路由”,N7K-1邻居地址是30.207.7.41,N7K-2是30.207.7.45,所以选择了N7K-1。

4、在BGP配置中加入一条maximum-path ibgp 5 ,最多允许5条等价路由负载,故障解决。

N7K-1下降的流量与N7K-2上涨流量大小不符是由于还做了其他调整。

  • 知识总结:

BGP默认情况只选择一条最优路由放入路由表,可用过maximum-path  ibgp/ebgp  [2-32] 命令实   现BGP路由负载均衡。

时间: 2024-12-06 14:10:46

BGP路由负载均衡故障案例的相关文章

CentOS 6.5安装lvs+keepalive负载均衡+故障转移nginx

环境 192.168.1.219为keepalived和lvs的VIP地址 192.168.1.222为keepalived的主并安装ipvsadm 192.168.1.221为keepalived的从并安装ipvsadm 192.168.1.218为nginx web服务器 192.168.1.220为nginx web服务器 在192.168.1.222下载keepalived和ipvsadm mkdir /root/repo cd /root/repo wget http://www.li

2019淘宝:OceanBase分布式系统负载均衡案例分享

摘要:Heroku的问题让我们意识到,在负载均衡测试时发现问题并妥善解决的成功经验有没有?于是,挖掘出"淘宝在双十一压测OB时发现存在严重的随机访问导致负载不均问题,并通过加权算法妥善解决"的成功案例,也就是本文. 在CSDN云计算频道日前所做的文章<响应高达6秒 用户揭露Heroku私自修改路由造成高支出>中,网友们认为这是"因随机调度+Rails的单线程处理导致延迟增加的负载均衡失败的案例".但在负载均衡测试时就能发现问题并妥善解决的成功经验有没有?

Amoeba搭建高可用Mysql集群(实现Mysql主从复制、读写分离、负载均衡)

Amoeba是什么? Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件.这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发,它位于与Client.DBServer(s)之间,对客户端透明.具有 负载均衡.高可用性.SQL过滤.读写分离.可路由相关的到目标数据库.可并发请求多台数据库合并结果 . 通过Amoeba你能够完成多数据源的

负载均衡常用方式

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 一.HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向.通过重定向,来达到"负载均衡"的目标.例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址.

nginx实现反向代理、负载均衡-技术流ken

1.简介 本篇博文是<nginx实现动态/静态文件缓存-技术流ken>的二部曲.将详细介绍nginx如何实现反向代理以及负载均衡技术,并辅以实战案例. 反向代理--"反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器." 负载均衡--"网络专用术语,负载均衡建立在现有网络结构之

mysql+amoeba 主从复制,读写分离,负载均衡

Amoeba是什么?Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件.这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发,它位于与Client.DBServer(s)之间,对客户端透明.具有 负载均衡.高可用性.SQL过滤.读写分离.可路由相关的到目标数据库.可并发请求多台数据库合并结果 . 通过Amoeba你能够完成多数据源的高

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理 通常我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html.然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来实现四层协

nginx详解反向代理、负载均衡、LNMP架构上线动态网站

nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过两年半了.Igor Sysoev在建立的项目时,使用基于BSD许可. nginx和apache区别 Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更

Nginx+Tomcat负载均衡集群

第3章:部署Tomcat及其负载均衡(案例) 防伪码:成功之前必须与孤独为伍! Tomcat应用场景:  Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的的场合下被普遍应用,是开始和调试JSP程序的首选.但是由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端.如图所示 一.部署tomcat 1.安装JDK,配置Java环境 1)安装jdk,建立