首页 > 代码库 > NX-OS Upgrade及N6K-N3K vPC概述

NX-OS Upgrade及N6K-N3K vPC概述

概述:

    第一章:

        介绍了Nexus 3048的NX-OS升级方法。

        介绍了Nexus 3048的License导入方法。

    第二章:

        介绍了采用vPC技术所带来的好处。

        介绍了vPC的术语及2种部署拓扑类型。

        介绍了vPC的配置。




1.Software Upgrade

 

1.1 NX-OS Upgrade

概述

    与普通IOS设备不同,NX OS升级时,共有2个文件需要升级、安装,如果只安装其中一个,可能会导致设备重启后无法进入系统。这2个文件包括:

  • NX-OS System Software:用于功能实现。

  • NX-OS Kick Start:用于系统的启动及运行。

        在进行升级时,必须保证同时升级这2个images,并且都升级到同一版本。


升级步骤

  • 下载NX-OS System Software及Kick Start

        如图1.1所示,在Cisco官网针对设备型号找到对应的NX-OS

wKiom1RU0unjWJP3AAC53tTKkXU054.jpg

图1.1 3048对应的images

 

        如图1.2、1.3所示,找到版本号完全一致的images,并下载。

wKiom1RU0zOAwZiuAAF6Ecctcis681.jpg

图1.2 Kick Start Image

 

wKioL1RU0-3j6SshAACcs_2k8i8442.jpg

图1.3 System Software Image


  • 使用TFTP或FTP等工具导入2个images

    ①确定设备flash容量:Switch#dir bootflash:

    ②导入images:Switch#copy tftp://1.1.1.1/n3000-uk9-kickstart.6.0.2.U3.4.binbootflash:

    ③确定vrf:在②命令行回车后,系统会询问VRF,这个由当前PC连接的设备接口决定。如PC接在N3K管理口上,则默认所属VRF为management;如果PC接在N3K业务口上,默认所属VRF为default。

    注意:

        NX-OS System Software的体积较大,TFTP一般传输需要几十分钟。建议使用FTP。

    ④等待导入完毕:完毕后使用dir bootflash:检查。

  • 使用安装命令安装OS

    在kickstart及system software都导入完毕后,使用如下配置进行安装,该命令执行后,系统会自动进行校验。

    Switch#installall kickstart bootflash:/ n3000-uk9-kickstart.6.0.2.U3.4.bin system bootflash:/n3000-uk9.6.0.2.U3.4.bin

    执行完毕后,系统会询问是否重启,选择“yes”即可。


NX-OS Rommon

    当由于管理员操作失误而导致系统无法进入时,需要进入rommon模式进行应急。例如:管理员升级了system software后,直接通过boot system命令指定加载的system image而未升级kickstart时,重启设备后由于设备检测到kickstart与system software版本不一致,就会出现这种情况。

    本小节将以上例作为示例,对其解决办法进行介绍。其思路大致是,进入rommon并修改启动的system image与kickstart image相同。因此,对于已经删除原有system image或kickstart image的情况,这里的介绍作用有限。

    对于利用rommon修改口令的方法,可以参考文档

    http://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/password_recovery/b_nx_os_pwr/nx_os_pw.html

    相比于普通IOS设备,NX-OS设备中rommon要更为智能。

  • 如何进入rommon:设备启动后,按ctrl + ](在IOS设备中,是ctrl + break)。

  • 如何修改启动image:

        Switch(boot)#loadbootflash:/ n3000-uk9.6.0.2.U1.2.bin

        Switch(boot)#reload


1.2 License Installation

  • 获取设备SN及PAK

    ①设备SN获取:Switch#show license host-id

        注意:

            CiscoIOS设备中的命令为show license udi

    ②获取PAK:PAK是单独购买license后,cisco会寄送的一份文件,上面有11位PAK号码,该号码用于从Cisco官网下载license。

  • 登录Cisco官网下载license

    ①进入网址:http://www.cisco.com/go/license

    ②登录CCO账号。

    ③在step-1中输入PAK,系统会生成该PAK对应的license名称。

    ④在step-2中,要求输入设备的SN。

    ⑤在step-3中,要求核对你的邮箱地址和姓名。

    ⑥核对完毕后,点击download即可下载;此外,该license还会通过邮箱发送。

  • 将license导入设备

    Switch#copy tftp://1.1.1.1/ N3K141013XXXX_FOCXXXXXXXX0.lic bootflash:

    Switch#dirbootflash:

  • 安装license

    Switch#install license bootflash:/ N3K141013XXXX_FOCXXXXXXXX0.lic

  • 检查license

    Switch#show license usage

wKioL1RU1UuhzqPRAAEBOHrj-zw869.jpg

图1.4 License查看示意图

        注意:

            CiscoIOS设备中可以直接show version查看,但是NX-OS中不行。图2.5为Cisco 2911上showversion的输出license部分。

wKiom1RU1SfDoMkkAAFtVEDQfwQ645.jpg

图1.5 IOS设备show version输出license部分

 

  • 重启设备




2.vPC Configuration

 

vPC概述

    如图2.1所示,在传统网络中,出于冗余考虑,汇聚层往往由2台设备构成,一台接入层交换机使用2根上联链路,分别连接汇聚层2台设备。

wKioL1RU1duB7ESoAABtrQeMK7A950.jpg

图2.1接入-汇聚经典拓扑

 

    这种拓扑所带来的问题是:受制于STP,对于同一个VLAN的流量,接入交换机上联冗余链路,无论是上行还是下行流量,都只有其中1条能被利用。

 

    为了解决这个问题,在DC交换网络中引入了一种名为Virtual Port Channel的技术:

    传统的EtherChannel技术无法让channel的一端分布到不同的设备上,如图2.1中,汇聚层2台交换机间可以建立EtherChannel,但是接入层交换机无法汇聚层2台交换机建立channel。

    而vPC技术正是打破了这个限制,让2台汇聚层交换机对于接入层交换机而言,就好比是1台设备一样,使得接入交换机能与2台汇聚交换机间建立channel。

    其物理拓扑如图2.2所示,vPC在不改变物理拓扑的情况下,使得接入交换机能够与2台汇聚交换机建立channel。

wKiom1RU1c3z7I14AAB8ro1JbJg050.jpg

图2.2 vPC物理拓扑

 

 

    其逻辑拓扑如图2.3所示,通过在汇聚交换机上配置vPC,使得在接入交换机看来上联的设备只有1台,因而,接入交换机实际上只需要是1台支持EtherChannel的设备即可,甚至也可以是1台服务器。

wKioL1RU1muCKR9fAABhJsbxenw554.jpg

图2.3vPC逻辑拓扑

 

由此,带来了以下的好处:

  • 冗余拓扑:依然冗余的拓扑保证无单故障点。

  • 无STP阻塞端口:虽然拓扑冗余,但是采用vPC技术后,不会有端口被STP阻塞。

  • 链路充分利用:由于所有端口都处于转发状态,在加之优化的hash算法,使得在vPC网络中,接入设备上联链路能够被充分地利用。


vPC的实现

    该小节将介绍vPC的相关术语以及拓扑应用环境,后面2个小节将分别针对每一种应用环境,在配置上进行介绍。

 

    vPC的组成如图2.4所示:

wKioL1RU1q6xxEaBAAFpNITyBQo548.jpg

图2.4vPC组成示意图

 

  • 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如图2.5所示,vPC peer devices直接与接入交换机或配置EtherChannel的网络终端设备相连。只有汇聚交换机间需要配置vPC。

wKioL1RU11PjtAcrAADRK5z5Phc974.jpg

图2.5 Single-Sided vPC示意图


    Double-sided vPC如图2.6所示,此时从接入设备-终端设备,汇聚设备-接入设备之间都配置了vPC,逻辑上来看,相当于接入层和汇聚层之间采用4条链路建立了EtherChannel。


wKioL1RU16nCxZDYAAEYGHBimTU284.jpg

图2.6 Double-Sided vPC示意图

 

    注意:

        由于本文档侧重于介绍以Nexus 3048作为接入交换机的组网方式,其它常见的如Nexus5000+Nexus 2000 Fabric Extenders案例不在此进行讲解。


Single-Sided vPC 配置

  • Single-Sided vPC简介

    在Single-Sided vPC网络中,N3K对下联交换机或服务器通过vPC虚拟化为1台设备。而在N3K的上联方向,N3K并不向上做vPC,这使得在其上游设备(如上联设备为N6K)看来,此设备下联了2台N3K。如图2.7所示,N6K向下做了vPC使得在N3K看来,其上联到1台设备上;N3K向上只是做了普通EtherChannel,使得在N6K看来,它下联到两台N3K上;N3K向下做了vPC,使得在服务器看来,服务器上联到1台设备上。

wKioL1RU2AmCec3_AAFVEJLlTo4181.jpg

图2.7 Single-Sided vPC物理拓扑


     以N6K为参考视角,其逻辑拓扑如图2.8所示,两台N3K在N6K看来,是一一可见的。

wKiom1RU2D7yCv-pAADfoB-_2Zg633.jpg

图2.8 Single-Sided vPC逻辑拓扑

 

  • 分析

    这种部署方式,使得在N6K与两台N3K之间构成环路,如图2.9所示。由于STP的关系,将有1个端口被阻塞。通常情况下,N3K间的互联端口其中之一会被阻塞。

wKioL1RU2MXhY9ecAADBO-jy_fE735.jpg

图2.9 N3K与N6K构成的环路

 

    对于从服务器方向上来的流量,由于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)#intermgmt0

            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      

            vpcdomain在对端N6K上必须一致,N6K与N3K上必须不同

            N6K-1(config-vpc)#peer-keepalivedestination 1.1.1.2 source 1.1.1.1 vrf management         //VRF注意与对应keepalive接口所属VRF保持一致

 

            N6K-2上类似配置

 

            N6K#show vpc peer-keepalive            //查看peer-keepalive link状态

wKioL1RU2WbiFHQRAAFOoxc1h5U547.jpg

图2.10peer-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)#vpcpeer-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)#interport-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#showvpc          //在N6K上检查vPC工作状态

            如图2.11所示,该命令可以看到vPC keepalive link的状态、peer-link的状态以及vPC member的可用情况。

wKiom1RU2rTj1i8sAAMWOFifwGo657.jpg

图2.11vPC状态

 

    ③服务器网卡配置

        网卡的配置主要取决于服务器的操作系统以及网卡类型,主要的思路是进入该服务器操作系统的网卡配置界面(如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应当为静态类型。


Double-Sided vPC配置

  • Double-Sided vPC简介

    Double-Sided vPC的物理拓扑接线方式与Single-Sided vPC相同,只是在vPC member指定上有所区别,这使得它们的逻辑拓扑有较大差异。其逻辑拓扑如图2.12所示,在Double-Sided vPC中,由于N3K向上也做了vPC,使得整个网络逻辑拓扑变得非常简单。

wKiom1RU2xySM9IhAABxFz8BeOY560.jpg

图2.12 Double-Sided 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-SidedvPC的配置方式与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相同配置

 

检查命令与注意事项

  • 检查命令

    ①查看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 memberports被阻塞的情况。




参考文档:

  • Cisco官方文档《Cisco Nexus 3000 Series HardwareInstallation Guide》

  • Cisco官方文档《Virtual PortChannel QuickConfiguration Guide》

  • Cisco官方文档 《Design and Configuration Guide:Best Practices for Virtual Port Channels (vPC) on Cisco Nexus 7000 SeriesSwitches》

  • VMware官方文档《VMware KB_ Sample configurationof EtherChannel _ Link Aggregation Control Protocol (LACP) with ESXi_ESX andCisco_HP switches》




NX-OS Upgrade及N6K-N3K vPC概述