vPC配置
1、vPC概述
如下图所示,在传统网络中,出于冗余考虑,汇聚层往往由2台设备构成,一台接入层交换机使用2根上联链路,分别连接汇聚层2台设备。
这种拓扑所带来的问题是:受制于STP,对于同一个VLAN的流量,接入交换机上联冗余链路,无论是上行还是下行流量,都只有其中1条能被利用。
为了解决这个问题,在DC交换网络中引入了一种名为Virtual Port Channel的技术:
传统的EtherChannel技术无法让channel的一端分布到不同的设备上,如上图中所示,汇聚层2台交换机间可以建立EtherChannel,但是接入层交换机无法汇聚层2台交换机建立channel。而vPC技术正是打破了这个限制,让2台汇聚层交换机对于接入层交换机而言,就好比是1台设备一样,使得接入交换机能与2台汇聚交换机间建立channel。
如下图所示,vPC在不改变物理拓扑的情况下,使得接入交换机能够与2台汇聚交换机建立channel。
其逻辑拓扑如下:
通过在汇聚交换机上配置vPC,使得在接入交换机看来上联的设备只有1台,因而,接入交换机实际上只需要是1台支持EtherChannel的设备即可,甚至也可以是1台服务器。
由此,带来了以下的好处:
冗余拓扑:依然冗余的拓扑保证无单故障点。
无STP阻塞端口:虽然拓扑冗余,但是采用vPC技术后,不会有端口被STP阻塞。
链路充分利用:由于所有端口都处于转发状态,在加之优化的hash算法,使得在vPC网络中,接入设备上联链路能够被充分地利用。
2、vPC的实现
vPC的组成如下图:
vPC:
由vPC peers与下游设备所构建起来的channel。
vPC peer device:
运行vPC的相邻设备。
vPC domain:
由2台vPC peer device所构成的区域。
domain以数字的形式进行表示,相同domain中的vPC peer device必须隶属于同一domain id;不同的domain,其ID必须不一致。
vPC只支持2台设备。构成domain。
vPC member port:
构成vPC channel的位于vPC peer devices上的端口。
vPC peer-link:
用于同步vPC状态信息。
必须先建立peer-keepalive link才能建立peer-link。
peer-link必须是EtherChannel,即便只有1个端口。
peer-link模式必须为trunk。
vPC peer-keepalive link:
用于监控peer device的liveness 。
可以使用management端口、SVI、routed-mode端口——L3接口。
peer-keepalive link中间可以跨越多台L3设备,路由可达即可。
vPC的应用环境可以分为single-sided vPC和double-sided vPC 2种。
Single-sided vPC如图:
vPC peer devices直接与接入交换机或配置EtherChannel的网络终端设备相连。只有汇聚交换机间需要配置vPC。
Double-sided vPC如图:
此时从接入设备-终端设备,汇聚设备-接入设备之间都配置了vPC,逻辑上来看,相当于接入层和汇聚层之间采用4条链路建立了EtherChannel。
注意:由于本文档侧重于介绍以Nexus 3048作为接入交换机的组网方式,其它常见的如Nexus5000+Nexus 2000 Fabric Extenders案例不在此进行讲解。
3、Single-Sided vPC
简介:
在Single-Sided vPC网络中,N3K对下联交换机或服务器通过vPC虚拟化为1台设备。而在N3K的上联方向,N3K并不向上做vPC,这使得在其上游设备(如上联设备为N6K)看来,此设备下联了2台N3K。
如下图,N6K向下做了vPC使得在N3K看来,其上联到1台设备上;N3K向上只是做了普通EtherChannel,使得在N6K看来,它下联到两台N3K上;N3K向下做了vPC,使得在服务器看来,服务器上联到1台设备上。
以N6K为参考视角,其逻辑拓扑如图两台N3K在N6K看来,是一一可见的。
分析:
这种部署方式,使得在N6K与两台N3K之间构成环路,如图:
由于STP的关系,将有1个端口被阻塞。通常情况下,N3K间的互联端口其中之一会被阻塞。
对于从服务器方向上来的流量,由于N3K向下做了vPC,宏观上看,N3K-1与N3K-2收到的流量是均衡的。又因为N3K间互联端口被STP阻塞,这些流量向上转发时,在各自的N3K链路上以负载均衡的方式直接发送到N6K上,4条上行链路能够被充分利用。
对于从N6K方向下来的流量,有2条逻辑链路能将流量发送给下行设备。由于同一个MAC地址只能在交换机上对应1个端口。因此,对于N3K下联的1台设备而言,在上游N6K与N3K间实际只有2条链路能被利用。即便N3K下联的服务器增多,4条链路依然可能不会被很好地平均利用。这主要取决于服务器端ARP响应包发送的路径,以及N3K与N6K间互联链路ARP响应包达到的先后顺序。
此外,由于网络中引入了STP,其复杂性相应提高。特别需要注意的是,务必从配置上确保N6K作为STP网络的主根桥。
配置:
①N6K配置
a.开启相关feature
N6K-1(config)#feature lacp //用于channel协商,建议使用LACP
N6K-1(config)#feature vpc //开启vPC特性
N6K-2配置相同
b.配置peer-keepalive link
N6K-1(config)#inter mgmt0
mgmt0是一个三层接口,peer-keepalive link一般建议使用mgmt0,使用routed mode、SVI理论上也是可行的,不过有一说说其它类型接口做peer-keepalive link时,link fails再recovery时,会有问题,还待考证。
N6K-1(config-if)#ip address 1.1.1.1 255.255.255.252
这个IP地址如果不宣告进现网中,是可以随便选用的,保证keepalive link三层互通即可。
N6K-1(config-if)#no shutdown
N6K-1(config)#vpc domain 1
vpc domain在对端N6K上必须一致,N6K与N3K上必须不同
N6K-1(config-vpc)#peer-keepalive destination 1.1.1.2 source 1.1.1.1 vrf management //VRF注意与对应keepalive接口所属VRF保持一致
N6K-2上类似配置
N6K#show vpc peer-keepalive //查看peer-keepalive link状态
c.配置peer-link
N6K-1(config)#intere1/45
N6K-1(config-if)#switchport mode trunk //peer-link要求一定是trunk
N6K-1(config-if)#switchport trunk allowed vlan all //不一定要all
N6K-1(config-if)#channel-group 100 mode active
E1/46同样的配置
N6K-1(config)#interport-channel 100
N6K-1(config-if)#description vPC peer-link
N6K-1(config-if)#switchport mode trunk
N6K-1(config-if)#switchport trunk allowed vlan all
N6K-1(config-if)#vpc peer-link //指定该链路为peer-link
N6K-2类似配置
d.加入vPC member ports
N6K-1(config)#intere1/1
N6K-1(config-if)#switchport mode trunk
N6K-1(config-if)#switchport trunk allowed vlan all
N6K-1(config-if)#channel-group1 mode active
N6K-1(config)#intere1/2
N6K-1(config-if)#switchport mode trunk
N6K-1(config-if)#switchport trunk allowed vlan all
N6K-1(config-if)#channel-group 2 mode active
N6K-1(config)#inter port-channel 1
N6K-1(config-if)#description To N3K-1
N6K-1(config-if)#switchport mode trunk
N6K-1(config-if)#switchport trunk allowed vlan all
N6K-1(config-if)#vpc 1 //vpc号不用与channel一致,但是不同member必须不同
N6K-1(config)#interport-channel 2
N6K-1(config-if)#description To N3K-2
N6K-1(config-if)#switchport mode trunk
N6K-1(config-if)#switchport trunk allowed vlan all
N6K-1(config-if)#vpc 2
N6K-2类似配置
②N3K配置
a.开启相关feature
b.配置peer-keepalive link。这里需要注意的是,N3K上的vPC domain number需要与N6K区分。
c.配置peer-link
d.下联服务器接口加入vPC member ports
N3K-1(config)#inter e1/1
N3K-1(config-if)#switchport mode trunk
这里端口的模式与服务器端有关,如果服务器需要承载多个VLAN的流量,则应当配置为trunk。
N3K-1(config-if)#switchport trunk allowed vlan all
实际建议与服务器需要承载的VLAN匹配
N3K-1(config-if)#channel-group 1 mode on
除非明确服务器网卡支持LACP(802.1ad),且你已知道如何进行配置,否则都建议配置为on。
e1/2相同配置
N3K-1(config)#inter port-channel 1
N3K-1(config-if)#description To Server-1
N3K-1(config-if)#switchport mode trunk
N3K-1(config-if)#switchport allowed vlan all
N3K-1(config-if)#vpc 1
e.配置EtherChannel
N3K-1(config)#inter e1/47
N3K-1(config-if)#switchport mode trunk
N3K-1(config-if)#switchport trunk allowed vlan all
N3K-1(config-if)#channel-group 101 mode active
这里的channel-group编号无需与上游一致
e1/48相同配置
N3K-1(config)#inter port-channel 101
N3K-1(config-if)#description To N6K
N3K-1(config-if)#switchport mode trunk
N3K-1(config-if)#switchport trunk allowed vlan all
N3K-2类似配置
N3K-1#show port-channel summary //检查channel状态
N6K-1#show vpc //在N6K上检查vPC工作状态
如图所示,该命令可以看到vPC keepalive link的状态、peer-link的状态以及vPC member的可用情况。
③服务器网卡配置
网卡的配置主要取决于服务器的操作系统以及网卡类型,主要的思路是进入该服务器操作系统的网卡配置界面(如vSwitch中的NIC Teaming),在相关网卡上配置网卡的load balancing模式。
以ESXi/ESX 5.1为例,配置步骤如下:
a.点击ESXi/ESX host
b.选择Configuration标签
c.点击Networking link
d.点击Properties
e.在Ports标签中,选择vSwitch,点击Edit
f.选择Networking Teaming标签,在Load Balancing中选择Route based on ip hash
此时,服务器发送的流量将基于Source-Destination哈希运算选择链路,对端N3K的channel mode应当为静态类型。
4、Double-Sided vPC
Double-Sided vPC的物理拓扑接线方式与Single-Sided vPC相同,只是在vPC member指定上有所区别,这使得它们的逻辑拓扑有较大差异。其逻辑拓扑如图2.12所示,在Double-Sided vPC中,由于N3K向上也做了vPC,使得整个网络逻辑拓扑变得非常简单。
好处:
①简化逻辑拓扑
②消除生成树:消除生成树主要带来的好处是进一步降低逻辑复杂度,即便是Double-Sided vPC,N3K间互联链路实际上一般也不走用户流量。
③N3K与N6K互联链路充分利用:这个是部署Double-Sided vPC相较而言最大的好处。
④简化配置
在Single-Sided vPC中,N6K下联方向要建立2个vPC member,而部署Double-Sided vPC时,所有下联N3K端口都划分到1个vPC中;对于N3K而言,也只是增加了1条命令行而已。
配置:
Double-Sided vPC的配置方式与Single-Sided vPC几乎完全相同,只是划分vPC member时有所区别。
在N6K-1与N6K-2上:
N6K-1(config)#inter e1/1
N6K-1(config-if)#sw mode trun
N6K-1(config-if)#sw trun all vlan all
N6K-1(config-if)#channel-group 1 mode active
N6K-1(config)#inter e1/2
N6K-1(config-if)#sw mode trun
N6K-1(config-if)#sw trun all vlan all
N6K-1(config-if)#channel-group 1 mode active
N6K-1(config)#inter port-channel 1
N6K-1(config-if)#description To N3K
N6K-1(config-if)#sw mode trun
N6K-1(config-if)#sw trun all vlan all
N6K-1(config-if)#vpc1
N6K-2相同配置
在N3K-1与N3K-2上
N3K-1(config)#inter port-channel 101
N3K-1(config-if)#sw mode trun
N3K-1(config-if)#sw trun all vlan all
N3K-1(config-if)#vpc 101 //将po101划入vpc 101中
这里N3K上的vPC number无需与N6K一致
N3K-2相同配置
5、检查命令和注意事项
检查命令:
①查看port-channel状态
Nexus#show port-channel summary
②查看peer-keepalive link状态
Nexus#show vpc peer-keepalive
③查看peer-keepalive link、peer-link及vpc member
Nexus#show vpc
注意事项:
①peer-keepalive所用接口建议使用mgmt,可以使用routed mode port或SVI。
②peer-link必须为Port Channel trunk mode。
③peer-link建议使用10GE接口,可以使用普通带宽接口。
④同一vPC组的设备必须处于同一vPC domain,不同组其domain必须不同。
⑤同一vPC member的接口,其vPC number必须一致。
⑥如果vPC member ports的模式为trunk,一定确保在该交换机上创建了相关的VLAN,已保证trunk链路能够承载此VLAN流量。
⑦注意查看生成树状态,即便在show vpc都显示up success的情况下,由于STP的配置错误,依然可能会出现vPC member ports被阻塞的情况。
原文链接:https://blog.51cto.com/thely/1570781 (感谢分享)
vPC配置的更多相关文章
- 亚马逊AWS学习——EC2的自定义VPC配置
1 网络配置 EC2即亚马逊AWS云服务中的虚拟主机.创建EC2实例时如果使用的默认VPC并分配了公有IP是可以上网的.但我们经常需要自定义的网络环境,这时就需要自己定义VPC和子网了. 1.1 配置 ...
- VPC配置介绍
VPC(Virtual Port-Channel)是Cisco Nexus系列交换机中的一个特性.它支持一个跨机箱的二层Port-Channel.对于第三方设备来说(交换机或服务器)物理上是连接到了两 ...
- 亚马逊AWS学习——EC2的自己定义VPC配置
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47153421 本文出自[我是干勾鱼的博客] 1 网络配置 EC2即亚马逊AWS云 ...
- 经典网络还是VPC,开发者作何选择?
近两天,关于公有云经典网络(基础网络)与私有网络(VPC)的讨论引发技术圈极大关注,事件起因于有开发者将数据库限制在内网访问,但由于安全组设置的原因,阿里云邻居用户被黑后,牵连到了自己的业务.为此,开 ...
- Port Channel and VPC
1.Port Channel 介绍 Port Channel 简介 绑定多个物理链路(最多8条),到一个单一的逻辑链路,在两个物理设备之间 每个物理端口只能被放入一个port-channel中. 在 ...
- 阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)
说明: 1.必须要有一台机器具有外网IP的ECS. 2.如果不想配置具有外网IP的ECS时,可以购买NAT网关,但需要钱,贵.下面会说明NAT网关的配置. 3.最后吐槽一下阿里云VPC网关导致不能按照 ...
- 虚拟网络VDC与VPC
当前互联网行业,内部 IT 基础资源云端化是主要趋势.云平台将资源管理抽象出来,比如云主机.云 DB 等,以服务的方式提供给用户,按需使用,从而带来更大的灵活性与经济性. 随着主机.DB.缓存.存储等 ...
- VPC见解
VPC是什么? VPC:Virtual Private Cloud,即虚拟私有云.讨论VPC时,我们可以从两个方面来讨论: 从服务的角度来看:VPC是一种云,但是这个云不属于我们常见的公有云.私有 ...
- 虚拟私有云(Virtual Private Cloud,专有网络)配置方式总结
虚拟私有云 虚拟私有云(Virtual Private Cloud)是用户在云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC内的IP地址段.子网.安全组等子服务,也可以申请弹性带宽和弹性公 ...
随机推荐
- Service Worker,Web Worker,WebSocket的对比
Service Worker 处理网络请求的后台服务.适用于离线和后台同步数据或推送信息.不能直接和dom交互.通过postMessage方法交互. Web Worker 模拟多线程,允许复杂计算功能 ...
- Eclipse代码规范
配置代码自动格式化 1.导入规范文件 codeStyle.xml <?xml version="1.0" encoding="UTF-8" standa ...
- C++ 宏定义创建(销毁)单例
Util.h: #define CREATE_SINGLETON_POINTER(CLASS,INSTANCE,MUTEX) if (NULL == INSTANCE) \ { \ MUTEX.loc ...
- Spring - Spring Boot - 应用构建与运行
概述 spring boot 应用构建 spring boot 应用运行 背景 之前的看了看 Spring 的书, 结果老懒没实践 而且后续有别的想法, 但这个始终是第一步 1. 准备 知识 java ...
- Maven - skiptest
1. 概述 maven install 中尝试跳过 单元测试 2. 背景 从别处找来的工程 改了改发现测试过不了 编译都过不了 但又要着急继续调整 就是懒 这种事本来不提倡, 但是生产里数不胜数 Ma ...
- UVA 10795 A Different Task(模拟)
题目链接:https://vjudge.net/problem/UVA-10795 一道比较有思维含量的一道题: 注意一种分治的思想和“除了柱子x和柱子y之外的那个柱子”编号的问题. 首先在初始局面和 ...
- 理解ASP.NET Core验证模型 Claim, ClaimsIdentity, ClaimsPrincipal
Claim, ClaimsIdentity, ClaimsPrincipal: Claim:姓名:xxx,领证日期:xxx ClaimsIdentity:身份证/驾照 ClaimsPrincipal: ...
- 深入delphi编程理解之消息(三)发送消息函数的一般应用实例
通过对消息函数(SendMessage.PostMessage.Perform)的一般应用,来说明sendmessage.postmessage函数和perform 方法调用方式和结果的区别. 一.程 ...
- Java内存模型(JMM)那些事
本文是库存文章,去年年底学习了慕课网的并发编程课程,今年年初看完了<深入理解Java虚拟机>这本书,但是很多内容忘得差不多了,打算写写博客回忆一下那些忘在脑后的知识点. 温故而知新 更多J ...
- UIButton按钮的高亮状态颜色
首先是adjustsImageWhenHighlighted属性的正确使用: UIButton的adjustsImageWhenHighlighted属性是当UIButton设置了背景图片时,并且没有 ...