华为MSTP负载均衡配置示例
以下内容摘自由华为公司授权并审核通过,今年元月刚刚出版上市的《华为交换机学习指南》一书:http://item.jd.com/11355972.html,http://product.dangdang.com/23372225.html
转载于 https://blog.csdn.net/lycb_gz/article/details/20031595
8.6.7 MSTP负载均衡配置示例
本示例拓扑结构如图8-38所示,SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。它们彼此相连形成了一个环网,因为在SwitchA与SwitchB之间,以及SwitchC与SwitchD之间都存在冗余链路。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,本示例采用MSTP协议配置了两个MSTI,即MSTI1和MSTI2。

1. 配置思路分析
(1)在四台交换机创建一个相同的MST域,然后在这个MST域中创建两个MSTI(MSTI1和MSTI2),它们的生成树拓扑参见图8-38。把ID号为2~20的VLAN映射到MSTI1中,把ID号为11~20的VLAN映射到MSTI2中。
(2)为了实现两个MSTI无二层环路,在MSTI1中阻塞了SwitchD上的GE0/0/2端口,在MSTI2中阻塞了SwitchC上的GE0/0/2端口。
(3)配置MSTI的根桥为SwitchA,MSTI2的根桥为SwitchB,这样就实现了MSTI1中的VLAN2~VLAN10和MSTI2中的VLAN11~VLAN20的流量通过上行两条链路进行负载分担。
(4)最后在这台交换机上启用MSTP协议,使以上配置生交效。
(5)为了确保两个MSTI中的根桥不会发生变化,分别在SwitchA和SwitchB两指定端口上配置根保护功能。
(6)在各交换机上创建ID号为2~20的共19个VLAN,配置各链路间端口的类型,并允许对应的VLAN通过。之所以要把VLAN的创建与配置放在最后,就是为了预防环路的发生,因为如果在启用MSTP协议前创建了这些VLAN,肯定会发生二层环路的,也起不到负载分担的目的。
2. 具体配置步骤
根据以上配置思路,下面具体介绍它们的配置步骤。
(1)在四台交换机上分别创建一个相同的MST域(域名假设为RG1)、两个多生树实例MSTI1和MSTI2,然后创建ID为2~10的VLAN映射到MSTI1的映射,创建ID为11~20的VLAN映射到MSTI2的映射。并激活MST域配置。
SwitchA上的MST域配置:
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] stp region-configuration
[SwitchA-mst-region] region-name RG1
[SwitchA-mst-region] instance 1 vlan 2 to 10
[SwitchA-mst-region] instance 2 vlan 11 to 20
[SwitchA-mst-region] active region-configuration
[SwitchA-mst-region] quit
SwitchB上的MST域配置:
<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] stp region-configuration
[SwitchB-mst-region] region-name RG1
[SwitchB-mst-region] instance 1 vlan 2 to 10
[SwitchB-mst-region] instance 2 vlan 11 to 20
[SwitchB-mst-region] active region-configuration
[SwitchB-mst-region] quit
SwitchC上的MST域配置:
<HUAWEI> system-view
[HUAWEI] sysname SwitchC
[SwitchC] stp region-configuration
[SwitchC-mst-region] region-name RG1
[SwitchC-mst-region] instance 1 vlan 2 to 10
[SwitchC-mst-region] instance 2 vlan 11 to 20
[SwitchC-mst-region] active region-configuration
[SwitchC-mst-region] quit
SwitchD上的MST域配置:
<HUAWEI> system-view
[HUAWEI] sysname SwitchD
[SwitchD] stp region-configuration
[SwitchD-mst-region] region-name RG1
[SwitchD-mst-region] instance 1 vlan 2 to 10
[SwitchD-mst-region] instance 2 vlan 11 to 20
[SwitchD-mst-region] active region-configuration
[SwitchD-mst-region] quit
(2)配置MSTI1与MSTI2的根桥与备份根桥。
[SwitchA] stp instance 1 root primary #--- 配置SwitchA为MSTI1的根桥
[SwitchB] stp instance 1 root secondary #---配置SwitchB为MSTI1的备份根桥
[SwitchB] stp instance 2 root primary
[SwitchA] stp instance 2 root secondary
(3)配置MSTI1和MSTI2中要被阻塞的端口,以便消除二层环路。
因为本示例中其它端口都是采用对应类型端口的缺省路径开销值,所以要阻塞某端口时只需要把它们的路径开销值配置为大于缺省值即可。路径开销值越大,成为根端口的可能性就越小。
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为私有计算方法为例,配置实例MSTI1和MSTI2中将被阻塞的端口(分别为SwitchD中的GE0/0/2和SwitchC中的GE0/0/2端口)的路径开销值为20000(千兆以太网端口路径开销值的缺省值为2)。要求同一网络内所有交换设备的端口路径开销应使用相同的计算方法。下面依次是SwitchA、SwitchB、SwitchC和SwitchD这四台交换机上端口路径开销的相关配置。
[SwitchA] stp pathcost-standard legacy #---配置采用华为的私有端口路径开销计算方法
[SwitchB] stp pathcost-standard legacy
[SwitchC] stp pathcost-standard legacy
[SwitchC] interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2] stp instance 2 cost 20000 #---将端口GE0/0/2在实例MSTI2中的路径开销值配置为20000
[SwitchC-GigabitEthernet0/0/2] quit
[SwitchD] stp pathcost-standard legacy
[SwitchD] interface gigabitethernet 0/0/2
[SwitchD-GigabitEthernet0/0/2] stp instance 1 cost 20000
[SwitchD-GigabitEthernet0/0/2] quit
(4)在四台交换机上全局使能MSTP,使以上MSTP配置生效,消除二层环路。
[SwitchA] stp enable
[SwitchB] stp enable
[SwitchC] stp enable
[SwitchD] stp enable
(5)将与终端PC相连的端口去使能MSTP。
[SwitchC] interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1] stp disable
[SwitchC-GigabitEthernet0/0/1] quit
[SwitchD] interface gigabitethernet 0/0/1
[SwitchD-GigabitEthernet0/0/1] stp disable
[SwitchD-GigabitEthernet0/0/1] quit
(6)在两实例的根桥设备的指定端口上配置根保护功能。
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] stp root-protection
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] stp root-protection
[SwitchB-GigabitEthernet0/0/1] quit
(7)最后在各交换机上创建ID号为2~20的共19个VLAN,然后把四台交换机间的直连链路的端口配置为Trunk类型,并允许这19个VLAN通过。把连接PC的链路端口设置为Access类型,加入对应的VLAN。有关VLAN的具体创建和配置方法参见本书第6章。
SwitchA上的配置:
[SwitchA] vlan batch 2 to 20
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type trunk
[SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchA-GigabitEthernet0/0/2] quit
SwitchB上的配置:
[SwitchB] vlan batch 2 to 20
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type trunk
[SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
[SwitchB-GigabitEthernet0/0/1] quit
[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] port link-type trunk
[SwitchB-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchB-GigabitEthernet0/0/2] quit
SwitchC上的配置:
[SwitchC] vlan batch 2 to 20
[SwitchC] interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1] port link-type access
[SwitchC-GigabitEthernet0/0/1] port default vlan 2
[SwitchC-GigabitEthernet0/0/1] quit
[SwitchC] interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2] port link-type trunk
[SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchC-GigabitEthernet0/0/2] quit
[SwitchC] interface gigabitethernet 0/0/3
[SwitchC-GigabitEthernet0/0/3] port link-type trunk
[SwitchC-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
[SwitchC-GigabitEthernet0/0/3] quit
SwitchD上的配置:
[SwitchD] vlan batch 2 to 20
[SwitchD] interface gigabitethernet 0/0/1
[SwitchD-GigabitEthernet0/0/1] port link-type access
[SwitchD-GigabitEthernet0/0/1] port default vlan 11
[SwitchD-GigabitEthernet0/0/1] quit
[SwitchD] interface gigabitethernet 0/0/2
[SwitchD-GigabitEthernet0/0/2] port link-type trunk
[SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchD-GigabitEthernet0/0/2] quit
[SwitchD] interface gigabitethernet 0/0/3
[SwitchD-GigabitEthernet0/0/3] port link-type trunk
[SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
[SwitchD-GigabitEthernet0/0/3] quit
经过以上配置,在网络计算稳定后可使用以下display命令验证配置结果。如在SwitchA上执行display stp brief命令可查看端口状态和端口的保护类型,结果如下。从中可以看到,在MSTI1中,由于SwitchA是根桥,其GE0/0/2和GE0/0/1端口成为指定端口(其中在GE0/0/1端口上配置了根保护);在MSTI2中,SwitchA为非根桥,其GE0/0/1端口成为指定端口,端口GE0/0/2端口成为根端口。符合本示例中两MSTI生成树拓扑要求。
[SwitchA] display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING ROOT
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
1 GigabitEthernet0/0/1 DESI FORWARDING ROOT
1 GigabitEthernet0/0/2 DESI FORWARDING NONE
2 GigabitEthernet0/0/1 DESI FORWARDING ROOT
2 GigabitEthernet0/0/2 ROOT FORWARDING NONE
在SwitchB上执行display stp brief命令,结果如下。从中可以看到,在MSTI2中,由于SwitchB是根桥,其GE0/0/1和GE0/0/2端口为指定端口(其中在GE0/0/1端口上配置了根保护);在MSTI1中,SwitchB为非根桥,其GE0/0/1端口成为指定端口, GE0/0/2端口成为根端口。符合本示例中两MSTI生成树拓扑要求。
[SwitchB] display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING ROOT
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
1 GigabitEthernet0/0/1 DESI FORWARDING ROOT
1 GigabitEthernet0/0/2 ROOT FORWARDING NONE
2 GigabitEthernet0/0/1 DESI FORWARDING ROOT
2 GigabitEthernet0/0/2 DESI FORWARDING NONE
在SwitchC上执行display stp interface brief命令,结果如下。从中可以看到,SwitchC的GE0/0/3端口在MSTI1和MSTI2中均为根端口,GE0/0/2端口在MSTI2中被阻塞,在MSTI1中被计算为指定端口。也符合本示例中两MSTI生成树拓扑要求。
[SwitchC] display stp interface gigabitethernet 0/0/3 brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
1 GigabitEthernet0/0/3 ROOT FORWARDING NONE
2 GigabitEthernet0/0/3 ROOT FORWARDING NONE
[SwitchC] display stp interface gigabitethernet 0/0/2 brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
1 GigabitEthernet0/0/2 DESI FORWARDING NONE
2 GigabitEthernet0/0/2 ALTE DISCARDING NONE
在SwitchD上执行display stp interface brief命令,结果如下。从中可以看到,SwitchD的GE0/0/3端口在MSTI1和MSTI2中均为根端口,GE0/0/2端口在MSTI1中被阻塞,在MSTI2中被计算为指定端口。
[SwitchD] display stp interface gigabitethernet 0/0/3 brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
1 GigabitEthernet0/0/3 ROOT FORWARDING NONE
2 GigabitEthernet0/0/3 ROOT FORWARDING NONE
[SwitchD] display stp interface gigabitethernet 0/0/2 brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
1 GigabitEthernet0/0/2 ALTE DISCARDING NONE
2 GigabitEthernet0/0/2 DESI FORWARDING NONE
华为MSTP负载均衡配置示例的更多相关文章
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- Nginx 简单的负载均衡配置示例
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 在此记录下Nginx服务器nginx.conf的配置文件说明, ...
- windows环境下最简单的nginx + tomcat负载均衡配置示例
后端是两台tomcat服务器,我们简称为node1 和node2,访问地址分别是 http://192.168.1.2:8080 和 http://192.168.1.4:8080 前端使用nginx ...
- nginx安装及负载均衡配置
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二 ...
- Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例
前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...
- Nginx 负载均衡原理简介与负载均衡配置详解
Nginx负载均衡原理简介与负载均衡配置详解 by:授客 QQ:1033553122 测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Mall电商项目总结(二)——nginx负载均衡配置和策略
1. nginx配置文件 用户在浏览器上输入,http://www.xwld.site/ 实际上是在访问服务器80端口,nginx 监听80端口,将用户的请求转发到8080和9080端口 . upst ...
- Linux记录-Nginx+Tomcat负载均衡配置
Nginx负载均衡配置及策略: 轮询(默认) 优点:实现简单缺点:不考虑每台服务器的处理能力配置示例如下:upstream www.xxx.com {# 需要负载的server列表server www ...
随机推荐
- Java设计模式之工厂方法模式(转) 实现是抽象工厂?
Java设计模式之工厂方法模式 责任编辑:覃里作者:Java研究组织 2009-02-25 来源:IT168网站 文本Tag: 设计模式 Java [IT168 技术文章] ...
- python get请求
#!/usr/bin/python #-*- coding:UTF-8 -*-#coding=utf-8 import requests import time import hashlib impo ...
- Entity Framework 6 Recipes 2nd Edition(目录索引)
Chapter01. Getting Started with Entity Framework / 实体框架入门 1-1. A Brief Tour of the Entity Framework ...
- ExecutorService——<T> Future<T> submit(Callable<T> task)
提交一个有返回值的任务用于执行,且返回一个Future对象,用来表示行将发生的任务的结果. 如果任务执行成功的话,那么Future对象的get方法将会返回任务的执行结果T. 如果你想要立即阻塞,等 ...
- 如何精准实现OCR文字识别?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识别-- ...
- c语言-遍历pci设备(1)io访问
前言 最近楼主比较苦逼啊,主管布置了一道访问pci的作业,这个作业使用io方式还可以非常浪地将所有的东西都给读取出来,虽然不能读取出pci-e设备的所有信息,但是还是可以将256位的其他东西给读出来的 ...
- ASP.NET开发,从二层至三层,至面向对象 (5)
此是一系列博文,最后一篇了.也是面向初学者而作,望你们能有更好,更多对ASP.NET面向对编程了解与认识. 前一篇中<ASP.NET开发,从二层至三层,至面向对象 (4)>http://w ...
- 【JavaFx教程】第四部分:CSS 样式
第4部分主题 CSS样式表 添加应用程序图标 CSS样式表 在JavaFX中,你能使用层叠样式表修饰你的用户接口.这非常好!自定义Java应用界面从来不是件简单的事情. 在本教程中,我们将创建一个*D ...
- Java面试题阶段汇总
初级面试题 Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java面试题-基础篇四 Java面试题-基础篇五 Java面试题-javaweb篇六 Java面试题 ...
- JdbcTemplate 方法使用
作者QQ:1095737364 QQ群:123300273 欢迎加入! execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate ...