分类:
2012-02-07 20:16:27
当在一个交换机上的两个端口形成环路时,交换机使用STP端口优先级来决定哪个端口是启用状态,哪个端口又是阻塞状态的。可以在平行的中继端口上设置优先级,以便这个端口可以承载指定VLAN上的所有通信流,而在另一条中继链路上承载其他VLAN的通信。在一个VLAN中,具有更高优先值的中继端口将转发该VLAN中的通信流,而同一VLAN中优先值低的中继端口将对VLAN保持阻塞状态,使同一时间只有一个中继端口发送或者接收一个VLAN中的所有通信流。
这种利用STP端口的不同优先级实现不同VLAN的负载均衡的配置思路如下:
(1)把交换机间连接的STP端口配置为二层中继端口。
(2)把互联的两台交换机配置成VTP服务器模式,使用VTP在不同交换机间中继VLAN配置信息(当然也可以不启用VTP,采用手动配置方式)。
(3)分别把两台交换机上的不同中继端口为不同VLAN配置不同的VLAN端口优先级,以实现VLAN通信的分流。但要注意,这种负载均衡方案只应用于多条中继链路连接在同一对交换机上的情况下。
在如图12-1所示的示例中,互联的Switch A与Switch B之间有两个中继连接(Trunk 1和Trunk 2)。现在实现Switch A与Switch B之间的Trunk 1中继链路上只允许VLAN 8~VLAN 10的通信通过,而在Trunk 2中继链路上只允许VLAN 3~VLAN 6的通信通过。
图12-1 使用STP端口优先级进行负载均衡的拓扑示例
为了达到这个目的,需要进行如下配置:
l 在VLAN 8~VLAN 10中分配Trunk 1上的端口优先值为16,优先级更高。
l 在VLAN 3~VLAN 6的Trunk 1上保持默认的端口优先值128,优先级较低。
l 在VLAN 3~VLAN 6中分配Trunk 2上的端口优先值为16,优先级更高。
l 在VLAN 8~VLAN 10的Trunk 2上保持默认的端口优先值128,优先级较低。
这样一来,Trunk 1只承载VLAN 8~VLAN 10的通信,而Trunk 2只承载VLAN 3~VLAN 6的通信(优先值数越低,优先级别越高)。通过生成树协议可以实现在当前活动的中继链路失效,则具有更低优先级的中继链路会接替原来正常的中继链路的工作,承载以上所有VLAN的通信流。继续保持在所有中继端口都没有重复的通信流发生。
以上示例中,使用STP端口优先级进行负载均衡的具体配置步骤如表12-12所示(自特权模式开始)。两交换机上的生成树协议直接采用默认的PVST+,所以并没有单独启用生成树协议。其他具体环境只需稍做修改就可以满足应用需求。
表12-12 使用STP端口优先级进行共享负载的配置步骤
步骤 |
命令 |
用途说明 |
1 |
Switch#configure terminal |
在Switch A上进入全局配置模式 |
2 |
Switch(config)#vtp domain domain-name |
配置一个VTP管理域,域名可以有1~32个字符 |
3 |
Switch(config)#vtp mode server |
配置Switch A作为VTP服务器 |
4 |
Switch(config)#end |
返回到特权模式 |
5 |
Switch#show vtp status |
在Switch A 和Switch B上校验VTP配置,主要在输出信息中检查VTP Operating Mode(VTP操作模式)和VTP Domain Name(VTP域名)字段 |
6 |
Switch#show vlan |
在Switch A的VLAN数据库中查看现有的VLAN |
7 |
Switch#configure terminal |
进入全局配置模式 |
8 |
Switch(config)#interface gigabitethernet 0/1 |
指定要配置为中继的接口,进入接口配置模式 |
9 |
Switch(config-if)#switchport trunk encapsulation |
配置端口支持ISL或IEEE 802.1Q封装,或者与邻接接口协商封装类型。必须在每一个链路的两端配置相同的封装类型 |
10 |
Switch(config-if)#switchport mode trunk |
配置以上端口为中继端口 |
11 |
Switch(config-if)#end |
返回到特权模式 |
12 |
Switch#show interfaces gigabitethernet 0/1 |
校验以上接口的VLAN配置 |
13 |
|
在Switch A上为第二个端口gigabitethernet 0/2重复以上第7~11步 |
14 |
|
在Switch B上为与Switch A连接的两个端口重复以上第7~11步 |
15 |
Switch#show vlan |
当中继链路建立后,VTP传递VTP和VLAN信息到Switch B。此时通过这个命令可以校验Switch B已学习到这些VLAN配置 |
16 |
Switch#configure terminal |
在Switch A上进入全局配置模式 |
17 |
Switch(config)#interface gigabitethernet 0/1 |
指定要设置STP端口优先级的接口,并进入接口配置模式 |
续表 | ||
步骤 |
命令 |
用途说明 |
18 |
Switch(config-if)#spanning-tree vlan 8-10 port- |
在VLAN 8~VLAN 10上为以上端口设置优先值为16,以达到在gigabitethernet0/1中继端口上允许VLAN 8~VALN 10中通信的目的 |
19 |
Switch#exit |
返回到全局配置模式 |
20 |
Switch(config)#interface gigabitethernet0/2 |
指定第二个要设置STP端口优先级的接口,并进入接口配置模式 |
21 |
Switch(config-if)#spanning-tree vlan 3-6 port- |
在VLAN 3~VLAN 6上为以上端口设置优先值为16,以达到在gigabitethernet0/2中继端口上允许VLAN 3~VALN 6中通信的目的 |
22 |
Switch(config-if)#end |
返回到全局配置模式 |
23 |
Switch#show running-config |
校验以上条目设置 |
24 |
Switch#copy running-config startup-config |
(可选)在对应交换机的启动配置文件中保存以上设置 |
【说明】如果交换机是交换机堆叠成员,则必须使用spanning-tree [vlan vlan-id] cost cost接口配置命令替代表12-12所示的spanning-tree [vlan vlan-id] port-priority priority接口配置命令来选择置于转发状态的接口,为要首先选择的接口分配较低花费值,为后面选择的接口分配更高的花费值,具体将在下节介绍。