本文档为网关负载均衡协议 (GLBP) 提供了一个在 Cisco 6500 Catalyst 交换机上的配置示例。本文档显示小型校园网络的 GLBP 配置。
尝试进行此配置之前,请确保满足以下要求:
本文档中的信息基于带有 Supervisor 720 的 Catalyst 6500。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
在 12.2(14)S 中引入此命令并集成到 Cisco IOS® 软件版本 12.2(15)T。此配置也可用于以下硬件版本:
Cisco Catalyst 6500 系列 Supervisor 引擎 720
Cisco Catalyst 6500 系列 Supervisor 引擎 2
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
为了增强热备用路由器协议 (HSRP) 的功能,Cisco 开发了 GLBP。GLBP 提供自动首跳网关负载均衡,这可实现更有效的资源使用并减少了管理成本。它是 HSRP 的扩展并且指定一个协议,该协议动态地为虚拟 IP 地址分配责任并且将多个虚拟 MAC 地址分配给 GLBP 组的各个成员。
在校园网络中,第 3 层 VLAN 接口作为主机的网关。使用 GLBP 使不同交换机的第 3 层 VLAN 接口实现负载均衡。一个 GLBP 组中多个交换机的第 3 层接口。每个组包含一个唯一的虚拟 IP 地址。
Supervisor 720 最多能有 1024 个 GLBP 组(组编号从 0 到 1023)。 Supervisor 2 仅支持一个 GLBP 组。一个 GLBP 组最多能有 4 个成员。这意味着 GLBP 能负载均衡最多 4 个网关。
GLBP 成员有两个角色:
虚拟网关 - 将虚拟 MAC 地址分配给各成员。
虚拟转发器 - 为发往虚拟 MAC 地址的流量转发数据。
组中成员可以是以下状态之一:活动,备用或者监听。GLBP 组的成员选择一个网关作为该组的活动虚拟网关 (AVG)。它也会选择一个成员作为备用虚拟网关 (SVG)。 如果有两个以上的成员,则剩余的成员处于监听状态。
如果 AVG 发生故障,则 SVG 将承担虚拟 IP 地址的责任。然后从处于监听状态的网关中选择一个新的 SVG。如果故障的 AVG 或具有更高优先级编号的新成员进入在线状态,则默认情况下不先占。可以配置交换机,以便它能先占。
AVG 的功能是将虚拟 MAC 地址分配给 GLBP 组的每个成员。切记 HSRP 中虚拟 IP 地址只有一个虚拟 MAC 地址。但是,GLBP 中每个成员都分配到一个虚拟 MAC 地址。AVG 负责虚拟 MAC 地址的分配。
注意:由于GLBP最多支持一个组的4个成员,因此AVG最多只能分配4个MAC地址。
AVG 按次序为每个成员分配虚拟 MAC 地址。如果由 AVG 直接分配 MAC 地址,则该成员被称为主虚拟转发器 (PVF) 或活动虚拟转发器 (AVF)。相同的成员是分配给其他成员的 MAC 地址的备用虚拟转发器 (SVF)。PVF 处于活动状态,SVF 处于监听状态。
简而言之,对于一个拥有 4 个成员的 GLBP 组,每个成员都是一个 MAC 地址的 PVF 并且是其他三个 MAC 地址的 SVF。
如果一个虚拟 MAC 地址的 PVF 发生故障,其中任一个 SVF 将承担该虚拟 MAC 地址的责任。此时,该成员是 2 个虚拟 MAC 地址的 PVF (一个由 AVG 分配,另一个从发生故障的成员获得)。 默认情况下,启用虚拟转发器优先方案。切记,默认情况下没有启用虚拟网关优先方案,但是启用了虚拟转发器优先方案。
要顺利删除 AVF,请使用其他 AVF 上的 redirect timers 命令,以便删除当前的 AVF 时,备用 AVF 会接管,而不会导致链路上的任何数据包丢失。
默认情况下,GLBP 使用内置计时器检测 AVF 是否在线,并据此持续提供与该 AVF 相符的虚拟 MAC。当 AVF 断开时,GLBP 进程将等待一段特定的时间,然后宣称 AVF 不再可用。然后开始传播相同的虚拟 MAC 传播,将其绑定到其他可用的 AVF。此计时器的默认值是 300 秒。可以减少该值以便更好的利用局势并作出快速的转换。
要配置 GLBP 网关发送的 hello 数据包之间的时间以及虚拟网关和虚拟转发器信息被认为有效的时间,请使用接口配置模式中的 glbp group timers [msec] hellotime [msec] holdtime 命令。
Cisco 无停止转发 (NSF) 与 Stateful Switch Over (SSO) 有一个 GLBP 限制。SSO 不能察觉 GLBP,这意味着在正常操作期间 GLBP 状态信息没有保存在活动和备用 supervisor 引擎之间。GLBP 和 SSO 能共存,但是两个功能独立运作。在 Supervisor 切换情形下,依靠 GLBP 的流量可转换成 GLBP 待机。
在 GLBP 实施中,Supervisor 2 有几个限制。以下总结了 Supervisor 2 和 Supervisor 720 之间 GLBP 支持的几个区别。
Supervisor 2 只支持纯文本身份验证。
Supervisor 720 支持纯文本和 MD5 身份验证。
Supervisor 2 仅支持一个 GLBP 组。组编号可以是 0 - 1023 之间的任意值。
Sup2(config)#interface vlan 11 Sup2(config-if)#glbp 11 ip 172.18.11.1 More than 1 GLBP groups not supported on this platform.
Supervisor 720 支持多个组 (0 - 1023)。
HSRP和GLBP不能在Supervisor 2中共存。这意味着,如果在一个VLAN中配置GLBP,则不能在交换机中的任何VLAN上配置HSRP。
Sup2(config)#int vlan 31 Sup2(config-if)#standby 31 priority 120 multiple ip virtual protocols not supported in this platform.
HSRP和GLBP可以在Supervisor 720中共存。这意味着您可以配置几个VLAN和GLBP,而配置几个其他VLAN和HSRP。
在 Catalyst 交换机上的 GLBP 实施取决于网络设计。您需要考虑生成树拓扑,以便在您的网络中使用 GLBP。您可使用此图表作为示例:
图 1
在此图表中,三台交换机上都有两个 VLAN,10 和 20。在此网络中,Distribution1 是所有 VLAN 的根网桥,并且结果是 Distribution2 的端口 1/0/2 处于阻塞状态。在此方案中,不适合实施 GLBP。由于您只有从 Access1 到分布式交换机一个路径,所以您不能用 GLBP 实现真正的负载均衡。但是,在此方案中您可以使用生成树协议 (STP) 而不是 GLBP 来均衡负载,并且您可以使用 HSRP 提供冗余。您必须考虑您的 STP 拓扑,以决定是否使用 GLBP。在需要生成树的这些配置中,解决方案是使用改善的 STP,例如快速 PVST。为了启用快速 PVST,请使用交换机上的 spanning-tree mode rapid-pvst 命令。
这是推荐与 GLBP 一起使用的 STP。快速 PVST 提供一个快速收敛时间,允许链路在默认 GLBP 保持计时器超时前到达生成树转发状态。
如果 STP 用于通向 GLBP 路由器的链路上,则 GLBP 保持时间必须大于 STP 到达转发状态所需要的时间。默认参数设置用快速 PVST 实现此目的,但是如果使用 STP 及其默认设置,则保持时间需超过 30 秒。
本部分提供有关如何配置本文档所述功能的信息。
注意:使用命令查找工具(仅限注册客户)可获取有关本节中使用的命令的详细信息。
本文档使用以下网络设置:
此处显示的图表是一个小型校园网络的示例。Distribution1 和 Distribution2 包含第 3 层 VLAN 接口并且在接入层作为主机的网关。
图 2
本文档使用以下配置:
在 GLBP 配置前,您需要考虑以下几点:
当您用 GLBP 配置接口时,请勿首先配置 glbp <group> ip <ip_address>。首先配置 GLBP 可选命令,然后配置 glbp <group> ip <ip_address> 命令。
GLBP 支持四种类型的负载均衡。默认方法是循环。有关各种负载均衡选项的详细信息,请参阅 Cisco GLBP 负载均衡选项。
在为IPv4和IPv6配置GLBP时,最佳做法是使用不同的GLBP组编号。这有助于进行故障排除和管理。
有关配置IPv6 GLBP的信息,请参阅IPv6 - GLBP配置示例。
Distribution1 |
---|
Distribution1(config)#interface vlan 10 Distribution1(config-if)#ip address 172.18.10.2 255.255.255.0 Distribution1(config-if)#glbp 10 priority 110 Distribution1(config-if)#glbp 10 preempt Distribution1(config-if)#glbp 10 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 10 ip 172.18.10.1 Distribution1(config-if)#exit Distribution1(config)#interface vlan 20 Distribution1(config-if)#ip address 172.18.20.2 255.255.255.0 Distribution1(config-if)#glbp 20 priority 110 Distribution1(config-if)#glbp 20 preempt Distribution1(config-if)#glbp 20 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 20 ip 172.18.20.1 Distribution1(config-if)#exit Distribution1(config)#interface vlan 30 Distribution1(config-if)#ip address 172.18.30.2 255.255.255.0 Distribution1(config-if)#glbp 30 priority 110 Distribution1(config-if)#glbp 30 preempt Distribution1(config-if)#glbp 30 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 30 ip 172.18.30.1 Distribution1(config-if)#exit Distribution1(config)#interface vlan 40 Distribution1(config-if)#ip address 172.18.40.2 255.255.255.0 Distribution1(config-if)#glbp 40 priority 110 Distribution1(config-if)#glbp 40 preempt Distribution1(config-if)#glbp 40 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 40 ip 172.18.40.1 Distribution1(config-if)#exit Distribution1(config)#interface vlan 100 Distribution1(config-if)#ip address 172.18.100.2 255.255.255.0 Distribution1(config-if)#glbp 100 priority 110 Distribution1(config-if)#glbp 100 preempt Distribution1(config-if)#glbp 100 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 100 ip 172.18.100.1 Distribution1(config-if)#exit Distribution1(config)#interface vlan 200 Distribution1(config-if)#ip address 172.18.200.2 255.255.255.0 Distribution1(config-if)#glbp 200 priority 110 Distribution1(config-if)#glbp 200 preempt Distribution1(config-if)#glbp 200 authentication md5 key-string s!a863 Distribution1(config-if)#glbp 200 ip 172.18.200.1 Distribution1(config-if)#exit |
Distribution2 |
---|
Distribution2(config)#interface vlan 10 Distribution2(config-if)#ip address 172.18.10.3 255.255.255.0 Distribution2(config-if)#glbp 10 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 10 ip 172.18.10.1 Distribution2(config-if)#exit Distribution2(config)#interface vlan 20 Distribution2(config-if)#ip address 172.18.20.3 255.255.255.0 Distribution2(config-if)#glbp 20 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 20 ip 172.18.20.1 Distribution2(config-if)#exit Distribution2(config)#interface vlan 30 Distribution2(config-if)#ip address 172.18.30.3 255.255.255.0 Distribution2(config-if)#glbp 30 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 30 ip 172.18.30.1 Distribution2(config-if)#exit Distribution2(config)#interface vlan 40 Distribution2(config-if)#ip address 172.18.40.3 255.255.255.0 Distribution2(config-if)#glbp 40 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 40 ip 172.18.40.1 Distribution2(config-if)#exit Distribution2(config)#interface vlan 100 Distribution2(config-if)#ip address 172.18.100.3 255.255.255.0 Distribution2(config-if)#glbp 100 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 100 ip 172.18.100.1 Distribution2(config-if)#exit Distribution2(config)#interface vlan 200 Distribution2(config-if)#ip address 172.18.200.3 255.255.255.0 Distribution2(config-if)#glbp 200 authentication md5 key-string s!a863 Distribution2(config-if)#glbp 200 ip 172.18.200.1 Distribution2(config-if)#exit |
使用本部分可确认配置能否正常运行。
命令输出解释程序(仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。
从配置示例中,您可看到 Distribution1 中的第 3 层 VLAN 接口设置有更高的 GLBP 优先级 110(默认优先级是 100)。 因此,Distribution1 成为所有 GLBP 组(10、20、30、40、100 和 200)的 AVG。
Distribution1#show glbp VLAN10 - Group 10 State is Active !--- AVG for the group 10. 2 state changes, last state change 06:21:46 Virtual IP address is 172.18.10.1 Hello time 3 sec, hold time 10 sec Next hello sent in 0.420 secs Redirect time 600 sec, forwarder time-out 14400 sec Preemption enabled, min delay 0 sec Active is local Standby is 172.18.10.3, priority 100 (expires in 9.824 sec) Priority 110 (configured) Weighting 100 (default 100), thresholds: lower 1, upper 100 Load balancing: round-robin Group members: 000f.3493.9f61 (172.18.10.3) 0012.80eb.9a00 (172.18.10.2) local There are 2 forwarders (1 active) Forwarder 1 State is Active !--- Primary Virtual Forwarder for the virtual MAC 0007.b400.0102. 1 state change, last state change 1d01h MAC address is 0007.b400.0102 (default) Owner ID is 0012.80eb.9a00 Redirection enabled Preemption enabled, min delay 30 sec Active is local, weighting 100 Forwarder 2 State is Listen !--- Secondary Virtual Forwarder for the virtual MAC 0007.b400.0103. MAC address is 0007.b400.0103 (learnt) Owner ID is 000f.3493.9f61 Redirection enabled, 598.762 sec remaining (maximum 600 sec) Time to live: 14398.762 sec (maximum 14400 sec) Preemption enabled, min delay 30 sec Active is 172.18.10.3 (primary), weighting 100 (expires in 8.762 sec) !--- Output suppressed.
Distribution2#show glbp VLAN10 - Group 10 State is Standby !--- Standby Virtual Gateway for the group 10. 1 state change, last state change 02:01:19 Virtual IP address is 172.18.10.1 Hello time 3 sec, hold time 10 sec Next hello sent in 1.984 secs Redirect time 600 sec, forwarder time-out 14400 sec Preemption disabled Active is 172.18.10.2, priority 110 (expires in 9.780 sec) Standby is local Priority 100 (default) Weighting 100 (default 100), thresholds: lower 1, upper 100 Load balancing: round-robin There are 2 forwarders (1 active) Forwarder 1 State is Listen !--- Secondary Virtual Forwarder for the virtual MAC 0007.b400.0102. MAC address is 0007.b400.0102 (learnt) Owner ID is 0012.80eb.9a00 Time to live: 14397.280 sec (maximum 14400 sec) Preemption enabled, min delay 30 sec Active is 172.18.10.2 (primary), weighting 100 (expires in 7.276 sec) Forwarder 2 State is Active !--- Primary Virtual Forwarder for the virtual MAC 0007.b400.0103. 1 state change, last state change 02:02:57 MAC address is 0007.b400.0103 (default) Owner ID is 000f.3493.9f61 Preemption enabled, min delay 30 sec Active is local, weighting 100 !--- Output suppressed.
本部分提供的信息可用于对配置进行故障排除。
错误消息表明可能的第 2 层环路和 STP 配置问题。
要解决此问题,请发出show interface命令,验证接口的 MAC 地址。如果接口的 MAC 地址与错误消息报告的相同,则表明此路由器在接收其自己发送的 hello 数据包。验证生成树拓扑并检查是否有任何第 2 层环路。如果接口 MAC 地址与错误消息报告的不同,则之后一些具有 MAC 地址的其它设备将报告此错误消息。
注意:GLBP成员通过每3秒发送一次的hello消息到组播地址224.0.0.102和用户数据报协议(UDP)端口3222(源和目的)进行相互通信。 当配置multicast boundary命令时,允许组播地址通过permit 224.0.0.0 15.255.255.255
由于用户在同一链路上配置了增强型内部网关路由协议(EIGRP)和GLBP,这可能导致GLBP的状态更改,因此出现错误消息。
作为解决方案,请根据EIGRP计时器设置GLBP计时器。
用户无法ping通GLBP活动虚拟IP,他们可以ping通接口。
要解决此问题,请执行以下步骤:
检查交换机上的ARP条目是否正确。
检查CEF条目是否已正确填充。然后使用ping命令重试。
如果同一问题仍然存在,请执行此操作:
在受影响的接口上禁用快速交换。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
26-Jul-2012 |
初始版本 |