演示:GLBP跟踪功能、权值、与不同的负载均衡方式

简介:

演示目标:

回忆GLBPHSRP或者VRRP在转发流量的差异

2 GLBP的优先级和抢占与HSRP或者VRRP优先级和抢占的不同之处

3 GLBP如何跟踪本地或者远端设备的接口

4 GLBP如何通过权值来启动或停止AVF的流量转发

5 GLBP通过权重方式实现负载均衡模式的配置

 

演示环境:1所示

wKioL1PfIYKwrVkHAAD3cKFCcUU575.jpg

演示步骤:

第一步完成基础配置。

R1(config)#routerospf 1

R1(config-router)#router-id1.1.1.1

R1(config-router)#network 192.168.1.0 0.0.0.255area 0

R1(config-router)#network 192.168.4.0 0.0.0.255area 0

R1(config-router)#network 172.16.1.0 0.0.0.255area 0

R1(config-router)#exit

 

 

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 192.168.2.0 0.0.0.255area 0

R2(config-router)#network 172.16.1.0 0.0.0.255area 0

R2(config-router)#exit

 

R3(config)#router ospf 1

R3(config-router)#router-id3.3.3.3

R3(config-router)#network 192.168.1.0 0.0.0.255area 0

R3(config-router)#network 192.168.4.0 0.0.0.255area 0

R3(config-router)#network 192.168.2.0 0.0.0.255area 0

R3(config-router)#network 30.30.30.0 0.0.0.255area 0

R3(config-router)#exit

 

第二步:首先要具备笔者所著《思科CCNA认证详解与实验指南(200-120)》中所描述的关于GLBP的基础理论知识,然后再认区别如下问题:

 

GLBPHSRP或者VRRP在转发流量的差异

HSRP或者VRRP的冗余组中,在任何一个时间都只有一台活动路由器用于流量转发,而GLBP冗余组中的所有路由器都可以用于转发流量,区别只在于不同的负载均衡方式来决定。GLBP有两个层面的角色,一个叫AVG用于管理和决定谁作AVF转发路由器,并统一对客户端的ARP请求做应答,AVG使用哪个AVF的虚拟MAC来应答,那么谁就负载转发流量。

 

GLBP的优先级和抢占与HSRP或者VRRP优先级和抢占的不同之处

GLBP的优先级和HSRP或者VRRP的优先级有一些不同之处,GLBP的优先级只在选举谁是AVG(注意是选举AVG而不是AVF)时使用,而哪台路由器来作为AVF转发流量是由权值来决定的,高优先级的路由器为AVG路由器,高权值的路由器为AVF路由器,当然两个角色可以在同一台设备上,那么就可以派生出这样一种情况:一台高优先级的路由器是AVG,但是由于外部接口的链路故障,导致它的权值下降而停止它成为AVF,那么这台路由器将只用作管理AVF,不作为AVF进行流量转发。简而言之,就是这种行为的发生,并不影响它是AVG角色。而HSRP或者VRRP优先级既决定活动路由器的选举,也决定谁转发流量,因为只有活动路由器能转发流量,所以就只使用一个参数(优先级)来决定HSRP或者VRRP的管理行为和流量转发行为。

GLBP的抢占与HSRP或者VRRP的抢占也有差异,GLBP中的抢占是指对AVG扮演角色的抢占,对AVF角色不存在抢占问题,只有启动和停用,因为GLBP组中的所有路由器都转发流量,这和HSRP或者VRRP的抢占不同,因为HSRP或者VRRP的抢占既抢占活动路由器又抢占流量转发,因为只有活动路由器能转发流量,

 

请记住关键知识点:

1 GLBP的优先级关联AVG的选举,权值关联AVF和决定流量转发,无论它处于任何负载均衡模式下都是这样。这两个参数针对不同的角色,没有必然的联系。

2 GLBP的抢占功能只针对AVG角色,AVF只有启动和停用不存在抢占。

 

注意:下面将通过一种有逻辑的实验顺序来论证上文的描述!

 

第三步:配置GLBP跟踪本地或者远端设备的接口

要求配置路由器R1R2实现GLBP的冗余组1,然后要求R1GLBP组中的AVG路由器,同时R1R2都是AVF路由器,要求使用默认的负载均衡方式,设置R1的权值为120,要求R1监控E1/1S2/0接口,如果S2/0接口故障,那么权值将减20,但是R1仍然可以成为AVF路由器并转发流量,如果E1/1接口故障,那么权值将下减100,当R1的权值降至30时,该路由器将不再成为AVF路由器,直到权值恢复为110,那么R1再成为AVF路由器。

 

路由器R1的配置

R1(config)#intee1/0

R1(config-if)#glbp 1 ip 172.16.1.254

R1(config-if)#glbp 1 preempt   * 配置AVG角色的抢占功能

R1(config-if)#glbp 1 priority 254   * 配置AVG选举时的优先级

R1(config-if)#glbp 1 weighting 120 lower 30upper 110

E1/0配置权值为120,当权值降低30时该路由器停止成为AVF路由器,当权值恢复为110时该路由器重新成为AVF路由器。

R1(config-if)#glbp 1 weighting track 1decrement 100

如果所跟踪的track1故障,那么权值下降100

R1(config-if)#glbp 1 weighting track 2decrement 20

如果所跟踪的track2故障,那么权值下降20

R1(config-if)#exit

 

R1(config)#track1 interface e1/1 line-protocol

定义track1跟踪R1E1/1的链路属性

R1(config)#track2 interface s2/0 line-protocol

定义track2跟踪R1S2/0的链路属性

 

路由器R2的配置:

R2(config)#intee1/0

R2(config-if)#glbp 1 ip 172.16.1.254

R2(config-if)#glbp 1 preempt

R2(config-if)#exit

 

   配置完成后,可以通过在R1上执行show glbp detail指令查看GLBP的状态,如2所示,该GLBP1中的活动AVGR1local);备用AVGR2(172.16.1.2)

wKioL1PfIdfgV7IvAAMYifanYCE371.jpg

现在将会由谁来转发到30.30.30.1的流量:

    在目前的实验环境中,两台路由器都可以转发流量,不同的源主机使用不同的AVF,这是默认的负载均衡方式,比如源主机172.16.1.100使用AVF_R2(00-07-b4-00-01-02)来转发到30.30.30.1的流量,如3所示,而另一台主机172.16.1.101使用AVF_R1(00-07-b4-00-01-01)来转发流量,发4所示,如果还有其它的主机都会遵守这种轮询的状态。

wKiom1PfIOajI0f4AAGftNuNObw732.jpg

第二步:如果现在切断R1S2/0,那么此时的GLBP组中谁是AVG,谁是AVF

     如果此时切断R1S2/0接口,GLBP组中既是AVG又是AVFR1,此时仍然是AVG,同时AVF继续转发流量,因为R1S2/0故障,它的权值会从120下降20,变为100,但是无有到达AVF停止流量转发的最低门限30,所以R1AVF角色将继续转发流量,而AVG只与优先级相关,与权值无关,所以此时的R1既是AVG同时又是AVF

 

通过关闭S2/0接口来制造故障:

R1(config)#intes2/0

R1(config-if)#shutdown

R1(config-if)#exit

 

跟踪提示:S2/0的链路从UP转为down

*Jul 23 10:07:23.931: %TRACKING-5-STATE: 2interface Se2/0 line-protocol Up->Down

wKiom1PfISjjdJgPAAMNNT6dehg187.jpg

wKiom1PfIY2BJLZRAAH7Qxu76OQ831.jpg


现在恢复R1S2/0接口的故障:

R1(config)#inte s2/0

R1(config-if)#no shutdown

提问:如果现恢复S2/0后,再切断R1E1/1接口,现在R1的权值是多少,然后查看R1是否还能成为AVF,是否还能成为AVG,并说明为什么?

     如下配置,当R1E1/1被切断时,R1的权值将减少100,从原本的120减少100降至20,所以现在R1将不再是AVF路由器,它将停止转发流量,因为已经降至最低权值门限值30,但是这不并影响它AVG路由器的角色,再次强调AVG路由器只与优先级相关,AVG路由器的选举与权值无关,所以R1将仍然充当AVG的角色,而不再充当AVF角色如8所示,直到R1的权值恢复成AVF的重用最高门限值110后,才能充当AVF路由器。

 

R1(config)#intee1/1

R1(config-if)#shutdown

R1(config-if)#exit

 

跟踪提示:R1E1/1UP转为down

*Jul 23 10:18:39.735: %TRACKING-5-STATE: 1interface Et1/1 line-protocol Up->Down


wKiom1PfIfWze1PQAANI9IRCL8E688.jpg

 目前网络上GLBPAVGR1(不负责转发流量),AVFR2,所有的流量都将被R2转发,所以在主机172.16.1.100上的测试流量转发的路径如9所示。

 wKiom1PfIiuxqL6oAACx75Oml6U919.jpg


第三步:将基于round-bobin(循环)负载均衡的模式,改为基于权重的负载均衡。在实验这两种负载均衡模式之前首先来回忆并理解GLBP几种负载均衡模式的区别:

基于主机的负载均衡(host-dependent):该方案将始终让某台主机使用相同的AVF来转发流量,它是依靠判断信源主机的MAC地址来判断的,只源MAC地址相同,那么就表示该流量出自同一台主机,就始终使用同一台AVF和流量转发,如果是另一主机,那么将使用另一AVF做流量转发。

循环负载均衡(round-robin):依次轮流的使用GLBP中各个AVF来做流量转发,这是GLBP默认的负载均衡方式。

基于权值的负载均衡(weighted):基于AVF通告的权值来决定谁转发,权值越高,被选为转发器的可能就越大。比如:当前实验环境中路由器R1的权值是120,然后将R2的权值改为60,那么如果在R1和R2都是AVF的情况下,GLBP将通过让R1转发2次流量后,让R2转发一次,也就是按照2:1(120:60)的比率来转发流量,这里所谓的“次”事实上是以ARP请求为划分,更具体的讲AVG使用AVF1的MAC地址来为客户端作2次应答后,再用AVF2的MAC地址来作一次应答。

 

首先恢复路由器R1

R1(config)#intee1/1

R1(config-if)#no shutdown

R1(config-if)#exit

 

改变两台路由器GLBP的负载均衡方式,改变R2的权值为60

 

路由器R1的配置:

interface Ethernet1/0

 ipaddress 172.16.1.1 255.255.255.0

glbp 1 ip 172.16.1.254

 glbp1 priority 254

 glbp1 preempt

 glbp 1 weighting 120 lower 30 upper 110   保持实验先前配置的权值120

 glbp 1 load-balancing weighted    * 改变GLBP的负载均衡方式为基于权值作负载均衡

 glbp1 weighting track 1 decrement 100

 glbp1 weighting track 2 decrement 20

 

路由器R2的配置:

interface Ethernet1/0

 ipaddress 172.16.1.2 255.255.255.0

glbp 1 ip 172.16.1.254

 glbp1 preempt

 glbp 1 weighting 60    * 改变R2的权值为60

 glbp 1 load-balancing weighted  * 改变GLBP的负载均衡方式为基于权值作负载均衡

 

   完成上述配置后,可以在R1上查看GLBP的负载均衡方式已经为基于权值(或叫权重)进行负载均衡如10所示。

 wKiom1PfImLAR4UAAAI-moSgaDI821.jpg

    然后,在主机172.16.1.100上去ping 30.30.30.1共计3次,然后每一次在ping以前都使用arp –d清除主机的ARP缓存,其目的是避免主机使用ARP缓存转发,隐藏实验的真相,因为GLBP将通过让R1转发2次流量后,让R2转发一次,也就是按照2:1(120:60)的比率来转发流量,这里所谓的“次”事实上是以ARP请求为划分,更具体的讲AVG使用AVF1的MAC地址来为客户端作2次应答后,再用AVF2的MAC地址来作一次应答,如图11所示

wKiom1PfIrKhAR6nAAKw8j__jAA567.jpg

注意事项:

Sometime! 有用户在反映,他们在GLBP组中的各个路由器配置了权值,但是GLBP组却不能根据权值的比列来转发数据流量,一般情况下是两个原因所致:

1、 虽然配置了权值,但是没有通过指令load-balancing weighted来改变GLBP的负载均衡方式,所以所配置的权值只会被用于接口跟踪时决定是否启用或者停用某台AVF

2、 因为ARP缓存的原因,导致用户没有看到流量按比列来转发,所谓的“次”事实上是以ARP请求为划分。

    



本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1535426,如需转载请自行联系原作者

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
弹性计算 负载均衡 监控
SLB高级功能
SLB高级功能
16 4
|
1月前
|
负载均衡 算法 Java
SpringCloud负载均衡源码解析 | 带你从表层一步步剖析Ribbon组件如何实现负载均衡功能
SpringCloud负载均衡源码解析 | 带你从表层一步步剖析Ribbon组件如何实现负载均衡功能
|
9月前
|
缓存 负载均衡 算法
【2022】Nginx使用ngx_http_upstream_module实现负载均衡功能
【2022】Nginx使用ngx_http_upstream_module实现负载均衡功能
87 0
|
弹性计算 负载均衡 算法
【阿里云ALB应用型负载均衡】功能体验 & 利用ALB进行Serverless与ECS分流
Load Balance,负载均衡是一个大型网站永远绕不开的话题,相信略懂架构的人都了解负载均衡技术,他同时出现在服务器架构和网络架构之中,针对不同应用场景有软负载均衡和硬负载均衡产品。当单节点类型的站点无法满足业务时,我们就必须拓展服务器数量,由负载均衡提供前端访问能力,将访问流量分摊给后端服务器,而后端的服务器可横向拓展。
1240 0
【阿里云ALB应用型负载均衡】功能体验 & 利用ALB进行Serverless与ECS分流
|
域名解析 缓存 负载均衡
负载均衡方式的对比选择
通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够分配客户请求到服务器列阵,借此提供快速获取重要数据,解决大量并发访问服务问题。
118 0
|
弹性计算 负载均衡 网络协议
云负载均衡的基本功能 | 学习笔记
快速学习云负载均衡的基本功能
286 0
云负载均衡的基本功能 | 学习笔记
|
缓存 负载均衡 监控
Apache Flume-高阶-负载均衡功能|学习笔记
快速学习 Apache Flume-高阶-负载均衡功能
154 0
Apache Flume-高阶-负载均衡功能|学习笔记
|
负载均衡 算法 应用服务中间件
【Nginx】第十七节 反向代理负载均衡的四种方式
【Nginx】第十七节 反向代理负载均衡的四种方式
85 0
|
负载均衡
新功能:阿里云负载均衡SLB支持HTTPS虚拟主机功能(SNI)
新功能:负载均衡SLB支持HTTPS虚拟主机功能(SNI)
5824 0
|
自然语言处理
多语言、导入SLB和应用生命周期挂钩脚本功能上线
信息摘要: 多语言方面支持Go、PHP和原生应用,支持导入用户已有SLB实例和应用生命周期挂钩脚本功能。适用客户: 有多语言应用托管诉求的个人开发者用户 / 小程序类应用的运维人员 / 具有在线业务的中小微企业 / 具有应用上云需求的长尾用户版本/规格功能: 1.
584 0