01-FCoE配置
本章节下载: 01-FCoE配置 (1.61 MB)
随着Internet应用的不断增长,网络服务器需要存储的数据越来越多,这就导致对服务器存储容量的需求不断增长。当服务器的内部存储容量无法满足信息增长的需求时,就需要将服务器的存储“外部化”。为此,提出了SAN(Storage Area Networks,存储区域网络)的概念,它为服务器提供了专用的外部存储环境,充分利用新的存储硬件技术和网络技术,满足对大容量、高可靠数据的存储、访问和备份等需求。
根据使用的协议不同,SAN可以分为FC SAN和IP SAN。FC SAN使用FC(Fibre Channel,光纤通道)协议族,IP SAN使用TCP/IP协议族。本文仅介绍FC SAN相关内容。
在FC SAN中,通信的双方,通常一端为网络服务器,另一端为磁盘设备。服务器与磁盘设备之间可以通过光纤或者铜缆直接连接在一起,也可以通过交换机间接连接在一起。
如图1-1所示。前两种组网方式比较简单,能够连接的设备数量也相对较少,点到点连接只能支持两台设备的互联;仲裁环最多支持126台设备。真正能称之为FC SAN的连接方式是交换式架构,即通过FC交换机将大量的服务器和磁盘设备组织在一个FC SAN网络中。在交换式架构中,服务器和磁盘设备都被称之为节点设备(Node),是数据发送和接收的实体;FC交换机作为中间传输设备提供数据转发和网络控制功能。交换式架构提供了很好的扩展能力,能够支持上万台甚至更多的节点设备互联。
FC协议作为FC SAN中的数据传输协议,提供了高效的数据传输服务。在FC SAN中,服务器、FC交换机和磁盘设备都需要支持FC协议。
WWN(World Wide Name,全球名字)是一个64位的地址,用来标识Fabric网络和FC SAN中的实体(实体包括FC交换机、节点设备以及其上的接口)。FC的上层协议通过WWN进行通信。
FC SAN中每个实体的WWN在设备出厂前就已分配好了。
在FC SAN中,FC协议通过FC地址访问FC SAN中各个通讯实体。FC地址通常也称为FC_ID。
FC地址的结构如图1-2所示。FC地址的长度为24比特,分为三个字段:Domain_ID、Area_ID和Port_ID,每个字段的长度均为8比特。
· Domain_ID:域ID,用来标识一台FC交换机,取值范围是1~239。一台FC交换机以及其连接的所有N_Port(关于N_Port的介绍请参见“3. 接口模式”)构成一个域。
· Area_ID:一台节点设备上的一个或多个N_Port可以被划分为一个Area,用Area_ID标识。
· Port_ID:一个Port_ID代表一个N_Port。
图1-2 FC地址的结构
一个FC地址可以唯一标识一台节点设备上的一个N_Port,同一台节点设备上不同N_Port的FC地址不同。
一个域ID可以唯一标识一台FC交换机,同一个Fabric网络中不同FC交换机的域ID不同。在报文传输时,FC交换机之间的路由和转发使用的都是域ID。
FC协议标准对FC地址的使用做了规范限定,请参见“16.1 附录A FC地址分配”。
在交换式架构中,节点设备和交换机之间通过不同模式的接口进行互联,如图1-3所示。
节点设备上的接口都是N模式,称为N_Port。
N_Port又分为两种类型:
· N端口:N端口通过直连方式连接到Fabric。
· NL端口:NL端口通过仲裁环连接到Fabric。
· E模式:处于本模式的接口称为E_Port。E_Port用来连接其它交换机的E_Port。
· F模式:处于本模式的接口称为F_Port。F_Port用来连接节点设备的N_Port或者其它交换机的NP_Port。
· NP模式:处于本模式的接口称为NP_Port。NP_Port用来连接其它交换机的F_Port。NP_Port的详细介绍请参见“9 NPV”。
多台交换机通过E_Port互联组成一个Fabric,通过F_Port将节点设备接入到Fabric中来。
FC交换机组成的Fabric网络的主要功能是提供数据传输服务。服务器通过FC交换机能够将命令和数据发送给磁盘设备,或者从磁盘设备读取数据。
图1-4 FC SAN通信过程
下面以服务器访问磁盘设备为例,简单介绍一下FC SAN中的通信过程:
(1) 服务器和磁盘设备通过FLOGI(Fabric Login)协议向FC交换机进行注册,注册报文中会携带Port WWN、Node WWN、期望得到的FC地址等信息,FC交换机为与之直连的每个节点设备分配FC地址。
(2) 服务器和磁盘设备向其直连的FC交换机发送名称服务注册请求,注册其名称服务信息。名称服务信息包括节点设备的FC4信息等(关于FC4信息的详细介绍请参见“6.15 配置和探测发现节点设备的FC4信息”)。最终,Fabric网络中的每台FC交换机上都保存着所有节点设备的名称服务信息。
(3) 当服务器要访问磁盘设备时,服务器要向其直连的FC交换机发送名称服务查询请求,获取Fabric网络中存在的磁盘设备列表,以及这些磁盘设备的WWN、FC地址等信息。
(4) 服务器获取到磁盘设备的FC地址后,就可以将FC报文发送给就近的FC交换机。FC报文的目的FC地址就是磁盘设备的FC地址。
(5) FC交换机收到服务器发送来的FC报文后,根据报文中的目的FC地址查找转发表(该转发表是FC交换机根据FC路由协议或配置的静态路由信息计算后生成的),选择数据转发路径,将报文转发到下一跳FC交换机。下一跳FC交换机同样对FC报文进行转发,直到最后一跳FC交换机将FC报文转发给目的磁盘设备。
在实际应用中,若是所有用户的数据都在同一个FC SAN网络中进行转发,则不利于数据安全。用户可以根据实际需要将物理上连通的FC SAN网络划分为多个VSAN(Virtual Storage Area Network,虚拟存储区域网络),每个VSAN相互隔离,并独立提供服务,增强了网络的适应性和安全性,使其能够为用户提供更有效的服务。
VSAN的划分实现了将一个物理连通的SAN分割成多个逻辑上的虚拟SAN,但仅通过VSAN却不能对接入Fabric网络的服务器及磁盘设备(即N_Port)进行访问控制。相同VSAN内的N_Port,只要注册了名称服务就可以相互访问,即一台服务器可以访问VSAN内的任意磁盘,这样给数据安全带来隐患。
Zone特性可以有效解决上述问题,其原理是:在VSAN内进一步划分区域(Zone),在Zone内根据不同的目的添加不同的N_Port成员。使不同Zone内的N_Port成员之间相互隔离,以达到访问控制的目的。
采用FC SAN技术的数据中心一般包括独立的LAN(Local Area Network,局域网)网络和SAN网络。LAN网络应用于传统的以太网/IP业务,SAN网络应用于网络存储。
为了同时为LAN网络提供服务并通过SAN网络完成存储功能,服务器需要使用独立的以太网卡和FC网卡,且以太网交换机和FC交换机及其对应网络连接线也是独立的。这就使得网络需要使用较多的交换机和网卡及线缆,对应的设备投资及维护工作量都比较大,可扩展性比较差。
FCoE协议可以很好的解决上述问题。FCoE是将FC协议承载在以太网上的一种协议。在FCoE解决方案中,服务器只要使用支持FCoE协议的以太网卡即可,而支持FCoE协议的FCF(FCoE Forwarder,FCoE转发器)交换机可以同时替换传统以太网交换机和FC交换机,实现I/O整合(I/O Consolidation),使网卡、交换机和连接线缆的数量大为减少,同时减轻网络运行的维护工作量,降低总体成本。
图1-5 FCoE实现I/O整合示意图
如图1-5所示,在传统组网中,服务器分别通过以太网接口和FC接口接入到LAN网络和SAN网络。而在FCoE组网中,服务器可以通过支持FCoE协议的以太网卡连接到支持FCoE协议的存储交换机FCF switch上(服务器和FCF switch之间的链路可以同时收发以太网报文和FC报文),然后通过FCF交换机接入到LAN网络和SAN网络。
FCoE的典型应用如图1-6所示。FCF交换机和ENode(ENode是支持在以太网上传输FC协议的节点设备,包括服务器和磁盘设备)之间的以太网链路可以同时收发以太网报文和FC报文。在以太网链路上收发FC报文就是通过FCoE协议实现的。
图1-6 FCoE典型组网图
在介绍FCoE的工作机制之前,先介绍几个基本概念。
VFC接口是FCF交换机上手工创建的虚拟逻辑口,它虚拟实现物理FC接口的功能。
必须将VFC接口和具体的物理以太网接口进行绑定,VFC接口才能正常工作。
VFC接口可以和ENode相连,也可以和FCF交换机相连。
VFC接口支持三种模式:E模式、F模式、NP模式。默认为F模式。
VN接口是ENode上的虚拟逻辑口,它虚拟实现物理FC接口的功能。
FIP(FCoE Initialization Protocol,FCoE初始化协议)是一个建立和维护虚链路的协议。
FCF交换机和ENode(或FCF交换机)之间通过FIP协议在VFC接口和VN接口(或VFC接口)之间建立一条虚链路,为FC报文在以太网上承载提供物理传输的基础。
FC报文需要封装在以太网报文中,才能在以太网链路上传输。封装以太网头的FC报文就是FCoE报文。
FCoE报文采用Ethernet II类型的以太网封装,以太网头中主要字段的内容如下:
· 以太网报文类型:0x8906。
· 目的MAC地址/源MAC地址:对于交换机,使用的是交换机的FCoE MAC地址(可以通过display fcoe命令查看)。对于节点设备,使用的是节点设备的FPMA(Fabric Provided MAC Address,Fabric提供的MAC地址)。FPMA由FC-MAP和VN接口的FC地址映射得到,映射方法为FC-MAP为高24位,FC地址为低24位,如图1-7所示。其中,FC-MAP采用直连交换机的FC-MAP值,该值默认为0x0efc00,可以在交换机上通过fcoe fcmap命令修改。
图1-7 FPMA地址映射
下面将详细介绍FCoE协议的工作机制。
图1-8 ENode和FCF交换机的内部框图
本文仅介绍FCF交换机上和FCoE协议相关的内容,不介绍ENode上和FCoE协议相关的内容。
FC报文在以太网上的发送和接收过程如下:
· 在发送FC报文之前,FCF交换机和ENode(或FCF交换机)之间先通过FIP协议在VFC接口和VN接口(或VFC接口)之间建立一条虚链路。在虚链路建立起来之后,FCF交换机将FC报文封装成FCoE报文发送出去。
· FCF交换机在接收到FCoE报文之后,剥离FCoE报文的以太网头,将还原后的FC报文送给上层进行处理。
FIP协议用来建立和维护VFC接口和VN接口(或VFC接口)之间的虚链路。
FIP协议中用到两类报文:发现请求报文和发现通告报文。其中,发现通告报文又分为两种:
· 非请求发现通告报文:周期性发送,用来通告自己的存在或维护建立的虚链路。
下面以FCF交换机和ENode之间建立虚链路的过程为例,介绍一下FIP协议的工作机制。
图1-9 FIP协议工作机制
(1) ENode向外发送发现请求报文,开始建立虚链路。发现请求报文中携带着自己的FCoE MAC地址。
(2) FCF交换机收到发现请求报文后,根据VFC接口是否绑定FCoE MAC地址做不同的处理:
· 如果VFC接口没有配置绑定FCoE MAC地址,则学习FCoE MAC,即保存该报文中携带的FCoE MAC地址,并回应请求发现通告报文。请求发现通告报文的fcf priority字段中携带了VFC接口的FCF优先级。
· 如果VFC接口配置了绑定FCoE MAC地址,则检查FCoE MAC,如果该报文中携带的FCoE MAC地址与配置的绑定FCoE MAC地址一致,则回应请求发现通告报文(请求发现通告报文的fcf priority字段中携带了VFC接口的FCF优先级);否则,丢弃该报文,不继续做其它处理。
(3) FCF交换机周期性向外发送非请求发现通告报文(发送周期可以通过fcoe fka-adv-period命令配置,缺省值为8秒)。非请求发现通告报文的fcf priority字段中携带了系统的FCF优先级。
(4) ENode收到发现通告报文后,根据发现通告报文中的fcf priority字段选择优先级最高的FCF,并向该FCF发送FLOGI报文,进行注册。
(5) FCF交换机接收到FLOGI报文后,根据绑定的或者学习到的FCoE MAC地址做检查。如果检查通过则回应FLOGI LS_ACC,此时虚链路完成建立;如果检查没有通过则丢弃该报文,不继续做其它处理。
(6) FCF交换机周期性发送非请求发现通告报文来维护建立的虚链路。如果ENode在2.5倍的fka-adv-period间隔内没有接收到非请求发现通告报文,则删除该虚链路。
· FCF模式:工作在本模式的交换机称为FCF交换机,其VFC接口支持E模式和F模式,分别称为E_Port和F_Port。
· NPV模式:工作在本模式的交换机称为NPV交换机,其VFC接口支持F模式和NP模式,分别称为F_Port和NP_Port。
· Transit模式:工作在本模式的交换机称为Transit交换机,其以太网接口可工作在ENode模式或FCF模式。
具有FCoE功能的交换机可工作在以下模式:FCF模式、NPV模式、Transit模式、非FCoE模式。
· 当交换机工作在FCF模式时,可通过E_Port连接其它FCF交换机的E_Port,或使用F_Port连接节点设备的N_Port或NPV交换机的NP_Port。
· 当交换机工作在NPV模式时,可通过F_Port连接节点设备的N_Port,或使用NP_Port连接FCF交换机的F_Port。
· 当交换机工作在Transit模式时,可通过配置以太网接口为ENode模式或FCF模式,用于限制以太网接口只能接收来自ENode或FCF交换机的通信流量。
· 当交换机工作在非FCoE模式时,交换机为普通交换机,不具备任何FCoE相关的功能。
下面将详细介绍各FCoE模式的应用场景。
支持FCoE协议的FCF交换机利用以太帧封装FC报文的方式,实现了用FCoE虚链路替代物理的FC链路,从而可在无损以太网中提供标准Fibre Channel交换机的能力和特性。
FCF的应用组网如图1-10所示,不同于单纯的FC网络,在FCoE环境下,ENode和FCF交换机是通过以太网接口在无损以太网上通信的。ENode和FCF交换机之间的FCoE虚链路连接VN接口到VFC接口,FCF交换机和FCF交换机之间的FCoE虚链路连接VFC接口到VFC接口。
与FC交换机相同,每台FCF交换机都会被分配一个域ID,而每个FC SAN最多支持239个域ID,因此也就限制了一个FC SAN中最多只能有239台交换机。
在FC SAN中,对于直接连接节点设备的边缘交换机的需求量很大,为了使边缘交换机可以突破一个FC SAN中239台最大交换机数目的限制,开发了NPV(N_Port Virtualization,N端口虚拟化)模式的交换机,简称NPV交换机。
图1-11 NPV应用组网
NPV的应用组网如图1-11所示。NPV交换机位于Fabric网络边缘,在节点设备与核心交换机之间。核心交换机是工作在FCF模式的交换机。NPV交换机通过F_Port和节点设备的N_Port相连,通过NP_Port和核心交换机的F_Port相连。最终,节点设备通过NPV交换机接入到Fabric网络中,NPV交换机将所有节点设备的流量转发到核心交换机。
对于节点设备来说,NPV交换机相当于一台FCF模式的交换机,接口呈现为F模式;对于核心交换机来说,NPV交换机相当于一台节点设备,接口呈现为N模式。
FCoE协议支持在无损以太网中构建FC SAN,增加了FC SAN的组网灵活性,FCF交换机与节点设备之间可以增加Transit交换机。如图1-12所示,ENode通过Transit交换机接入FCF交换机。
图1-12 Transit应用组网
Transit交换机上的以太网接口有两种模式:FCF模式和ENode模式。与ENode相连的以太网接口需要配置为ENode模式;与FCF交换机相连的以太网接口需要配置为FCF模式。
Transit交换机级联时需保证以太网接口模式的正确性。如图1-13上的模式配置,ENode 2仅能通过FCF交换机2进行注册,不能通过FCF交换机1进行注册。如果ENode 2有向FCF交换机1进行注册的需求,则需要修改Transit交换机间的模式配置。
图1-13 Transit交换机级联组网
图1-14所示为NPV交换机和Transit交换机的正确组网,NPV交换机的位置在FCF交换机和Transit交换机之间,Transit交换机下游接入ENode。
图1-14 NPV、Transit交换机组网
相较于FCF以及NPV模式的交换机,工作于Transit模式的交换机对FCoE协议报文的处理更为简单,其主要功能是过滤和转发。但不同于普通以太网交换机的是,工作在Transit模式的交换机具有识别FCoE协议报文、控制网络中FCoE协议相关报文流量以及保障网络安全的能力。
与FC和FCoE相关的协议规范有:
· FC-FS-3:Fibre Channel - Framing and Signaling - 3
· FC-SW-5:Fibre Channel - Switch Fabric - 5
· FC-LS-2:Fibre Channel - Link Services - 2
· FC-GS-6:Fibre Channel - Generic Services - 6
· FC-BB-5:Fibre Channel - Back Bone – 5
目前仅以下接口板支持FCoE功能:
· SF系列接口板
· SG系列接口板
· EC系列接口板
· 下列SE系列接口板:
¡ LSU1CGC2SE0
¡ LSUM2GP44TSSE0
¡ LSUM2GP24TSSE0
¡ LSUM2GT24PTSSE0
¡ LSUM2GT24TSSE0
¡ LSUM2GT48SE0
¡ LSUM2GV48SE0
FCoE功能的使用受License控制,请在使用FCoE功能前,安装有效的数据中心License。关于License的详细介绍请参见“基础配置指导”中的“License管理”。
设备只有工作在高级模式下,才支持FCoE功能。关于设备工作模式的详细介绍和相关配置请参见“基础配置指导”中的“设备管理”。
具有FCoE功能的交换机可工作在以下模式:FCF模式、NPV模式、Transit模式、非FCoE模式。交换机只能从非FCoE模式切换至三种FCoE模式,或从三种FCoE模式切换为非FCoE模式,三种FCoE模式之间不能直接切换。当需要修改FCoE模式时,必须首先切换至非FCoE模式。当交换机从FCoE模式切换至非FCoE模式后,原FCoE模式下的所有FCoE相关配置将被清空,仅保留已创建的VFC接口。
fcoe-mode { fcf | fcf-npv | npv | transit } |
缺省情况下,交换机工作在非FCoE模式,即不具备任何FCoE相关的功能 需要注意的是,设备不支持配置fcf-npv参数 |
|
display命令可以在任意视图执行 |
交换机支持三种FCoE模式:FCF模式、NPV模式、Transit模式。在不同FCoE模式下,交换机所支持的FCoE功能不同,具体情况如表2-2所示。用户可以根据交换机的FCoE模式来选择配置不同的FCoE功能。
表2-2 交换机工作在不同FCoE模式下所支持的FCoE功能
FCoE模式 FCoE功能 |
FCF模式 |
NPV模式 |
Transit模式 |
支持配置Fabric定时器,其余功能均不支持 |
|||
· 显示FC路由表信息 · 显示FC FIB表项信息 · 显示FC Exchange表项信息 |
|||
VFC接口可以和ENode相连,也可以和FCF、NPV、Transit三种交换机相连。
VFC接口支持三种模式:E模式、F模式、NP模式。默认为F模式。
VFC接口是手工创建的虚拟逻辑口,它虚拟实现物理FC接口的功能,必须将VFC接口和以太网接口进行绑定,VFC接口才能正常工作。VFC接口绑定以太网接口后,交换机将VFC接口上的FC报文封装成FCoE报文在以太网链路上传输,为了保证FCoE报文在以太网上可以实现无损传输,在VFC接口绑定的以太网接口上必须进行如下配置:
· 交换机和服务器连接的以太网接口上需要配置DCBX、自动协商模式的PFC、ETS功能。
· 交换机和磁盘设备连接的以太网接口上需要配置DCBX、自动协商模式的PFC功能。
· 交换机与交换机连接的以太网接口上要强制开启PFC功能。
关于DCBX(Data Center Bridging Exchange Protocol,数据中心桥能力交换协议)、PFC(Priority-based Flow Control,基于优先级的流量控制)、ETS(Enhanced Transmission Selection,增强传输选择)功能的详细介绍和相关配置请参考“二层技术-以太网交换配置指导”中的“LLDP”。
创建VFC接口,并进入VFC接口视图 |
||
配置VFC接口的模式 |
缺省情况下,VFC接口的模式为F模式 · 当交换机工作在FCF模式时,VFC接口支持E、F模式 · 当交换机工作在NPV模式时,VFC接口支持F、NP模式 |
|
将VFC接口绑定到以太网接口 |
bind interface interface-type interface-number [ mac mac-address ] |
缺省情况下,VFC接口没有与以太网接口绑定 VFC接口通过所绑定的以太网接口发送和接收报文 VFC接口通过Transit交换机连接多个ENode时,将该VFC接口绑定到以太网接口时必须指定MAC地址 |
将VFC接口以Trunk方式加入VSAN,即允许指定的VSAN通过当前接口 |
缺省情况下,接口不以Trunk方式加入任何VSAN 可以先将VFC接口以Trunk方式加入一个还不存在的VSAN中,然后再创建该VSAN |
|
(可选)配置VFC接口的描述信息 |
缺省情况下,接口的描述信息为“该接口的接口名 Interface”,例如:Vfc1 Interface |
|
(可选)配置VFC接口的期望带宽 |
缺省情况下,VFC接口的期望带宽=接口的波特率÷1000(kbit/s) |
|
(可选)恢复VFC接口的缺省配置 |
||
打开VFC接口 |
缺省情况下,VFC接口处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后VFC接口的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除VFC接口的统计信息。
表3-2 VFC接口显示和维护
显示VFC接口的相关信息 |
display interface [ vfc [ interface-number ] ] [ brief [ description | down ] ] |
清除VFC接口的统计信息 |
开启FCoE功能后,FCoE相关特性才能正常运行。
表4-1 开启FCoE功能配置任务简介
开启VLAN的FCoE功能,并指定映射VSAN |
||
配置FCF优先级 |
在通过VFC接口发送报文时,其绑定的以太网接口可能同时允许多个VLAN的报文通过,因此需要开启某个VLAN的FCoE功能,并将该VLAN与某VSAN进行映射,这样映射VSAN内的报文会被打上该VLAN的Tag,在该VLAN内进行发送。
· 不能在VLAN 1内开启FCoE功能。
· VLAN与VSAN是一一对应的,一个VLAN只能映射一个VSAN,一个VSAN也只能被一个VLAN映射。
· 通信两端的设备必须在相同VLAN内开启FCoE功能,并将该VLAN映射到同一个VSAN。
· 用户需保证VFC接口绑定的以太网接口允许开启FCoE功能的VLAN通过。
开启某VLAN的FCoE功能后,该VLAN会有如下变化:
· 该VLAN内仅转发FCoE流量,不转发其它业务流量,例如IP流量。
· 该VLAN内的成员端口之间被设置为二层隔离,不会形成广播环路,因此,FCoE VLAN内不需要运行STP协议或其它环路检测协议,否则可能会导致FCoE转发链路被阻塞。
· 该VLAN内可以运行二层协议,但由于成员端口之间被设置为二层隔离,二层协议运行状态会按照端口隔离拓扑运行。
表4-2 开启VLAN的FCoE功能,并指定映射VSAN
进入VLAN视图 |
||
开启VLAN的FCoE功能,并指定映射VSAN的ID |
缺省情况下,VLAN的FCoE功能处于关闭状态 |
FC-MAP值用来标识一个FCoE网络,同一个FCoE网络中的所有的交换机必须具有相同的FC-MAP值。
配置FC-MAP值后,VFC接口会重新进行协商。两端都配置相同的FC-MAP值才能够协商成功。
缺省情况下,FC-MAP值为0x0EFC00 |
fka-adv-period值的作用如下:
· 虚链路建立以后,在E模式VFC接口上,交换机以fka-adv-period为间隔周期性向外发送非请求发现通告报文来维护建立的虚链路,非请求发现通告报文中携带fka-adv-period值。对端交换机收到非请求发现通告报文后,维持虚链路的状态,并记录fka-adv-period值。如果交换机在2.5倍的fka-adv-period间隔(收到的非请求发现通告报文中携带的值,非本机配置的值)内没有收到非请求发现通告报文,则删除该虚链路。
· 虚链路建立以后,在F模式VFC接口上,交换机以fka-adv-period为间隔周期性向外发送非请求发现通告报文来维护建立的虚链路,非请求发现通告报文中携带fka-adv-period值。对端ENode收到非请求发现通告报文后,维持虚链路的状态,并记录fka-adv-period值。如果ENode在2.5倍的fka-adv-period间隔内没有收到非请求发现通告报文,则删除该虚链路。同时ENode使用记录的fka-adv-period间隔周期性发送保活报文,交换机收到保活报文后,维持虚链路的状态。如果交换机在2.5倍的fka-adv-period间隔内没有收到保活报文,则删除该虚链路。
· NP模式的VFC接口与ENode的行为相同,不受本交换机配置的fka-adv-period值的影响,使用从对端交换机学习到的fka-adv-period值。
配置fka-adv-period值时,需要注意:
· FC-BB-5标准中规定,fka-adv-period取值上限为90秒,H3C交换机的fka-adv-period配置上限为600秒,超出了协议规定的取值范围。因此,当H3C交换机与服务器、存储设备或其他厂商交换机互通时,配置的fka-adv-period值不能超出90秒。
· 通常情况下,使用fka-adv-period的缺省值(8秒)即可。在交换机进行主备倒换或者有备用主控板的ISSU软重启升级时,为了保证业务不中断,如果FCoE配置较多,则需要适当调大fka-adv-period值,建议配置为60~90秒之间。关于ISSU的详细介绍,请参见“基础配置指导”中的“ISSU”。
· 超出90秒的配置,建议用户在无备用主控板的ISSU软重启升级时使用。当交换机进行无备用主控板ISSU软重启升级时,由于没有备用主控板的存在,会有较长一段时间无法发送非请求发现通告报文或保活报文,为了使对端设备不会在此期间因超时而删除虚链路,从而保证业务不中断,建议调整fka-adv-period值到300~600秒之间,使得ISSU软重启升级能够完成。
· NPV交换机进行主备倒换或者ISSU软重启升级时,为了保证业务不中断,除了要调整本交换机的fka-adv-period值,还要调整上游FCF交换机的fka-adv-period值。这是因为,NPV交换机上的fka-adv-period值,仅影响本机F模式VFC接口和其连接的下游ENode的行为。NP模式VFC接口使用的是从上游FCF交换机学习到的fka-adv-period值。因此,NPV交换机进行主备倒换或者ISSU软重启升级时,需要同时调整本交换机和上游FCF交换机的fka-adv-period值。
由于上述配置限制,当无备用主控板的接入FCF交换机或NPV交换机进行ISSU软重启升级时,FCoE流量会中断。这是因为接入FCF交换机或NPV交换机连接服务器、存储设备或者其他厂商NPV设备,由于互通限制,fka-adv-period值不能超过90秒。由于没有备用主控板存在,ISSU软重启升级需要的时间较长,超过了2.5 * 90秒的超时间隔,ISSU软重启升级期间虚链路会超时删除,所以,FCoE流量会中断。
FCF优先级分为两种:系统的FCF优先级、VFC接口的FCF优先级。应用场合如下:
· 发送非请求发现通告报文时,报文中的fcf priority字段将填写系统的FCF优先级的值。
· 发送请求发现通告报文时,报文中的fcf priority字段将填写VFC接口的FCF优先级的值。
ENode在收到多个FCF发送的发现通告报文的情况下,将从这些发现通告报文中选择fcf priority优先级最高的FCF,并向其发送FLOGI报文,进行注册。
FCF优先级仅在VFC接口为F模式时生效,即仅在与ENode相连的VFC接口上才有效。
配置系统的FCF优先级 |
缺省情况下,系统的FCF优先级为128 本配置对所有F模式的VFC接口生效 |
进入VFC接口视图 |
||
配置VFC接口的FCF优先级 |
缺省情况下,VFC接口的FCF优先级为128 本配置仅在VFC接口为F模式时生效,在E模式下可以配置,但不生效 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后FCoE功能的运行情况,通过查看显示信息验证配置的效果。
表4-7 FCoE功能显示和维护
显示FCoE全局配置相关信息 |
在构建一个包含LAN网络和SAN网络的数据中心时,为了节省设备、网卡和线缆的数量,采用FCoE解决方案。
图4-1 配置FCoE功能组网图
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
(2) VLAN和接口部署
# 创建VLAN 10、20,分别用来传输以太网数据流量和存储数据流量。
[SwitchA] vlan 10
[SwitchA-vlan10] quit
[SwitchA] vlan 20
[SwitchA-vlan20] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1为Hybrid接口,允许VLAN 10的以太网数据报文不带Tag标签通过,允许VLAN 20的存储数据报文带Tag标签通过,设置接口的PVID为VLAN 10。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid vlan 10 untagged
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid vlan 20 tagged
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid pvid vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2为Trunk接口,允许VLAN 20的存储数据报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/2
[SwitchA-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/2] port trunk permit vlan 20
[SwitchA-Ten-GigabitEthernet1/0/2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/3为Trunk接口,允许VLAN 10的以太网数据报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/3
[SwitchA-Ten-GigabitEthernet1/0/3] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/3] quit
(3) DCBX部署
# 全局开启LLDP功能。
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchA-acl-mac-4000] rule 0 permit type 8906 ffff
[SwitchA-acl-mac-4000] rule 5 permit type 8914 ffff
[SwitchA-acl-mac-4000] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配ACL 4000。
[SwitchA] traffic classifier DCBX operator or
[SwitchA-classifier-DCBX] if-match acl 4000
[SwitchA-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[SwitchA] traffic behavior DCBX
[SwitchA-behavior-DCBX] remark dot1p 3
[SwitchA-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[SwitchA-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchA-qospolicy-DCBX] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet1/0/1的出方向上应用QoS策略DCBX。
[SwitchA-Ten-GigabitEthernet1/0/1] qos apply policy DCBX outbound
(4) PFC部署
# 在以太网接口Ten-GigabitEthernet1/0/1上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA-Ten-GigabitEthernet1/0/1] priority-flow-control auto
[SwitchA-Ten-GigabitEthernet1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/1] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 在以太网接口Ten-GigabitEthernet1/0/2上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface ten-gigabitethernet 1/0/2
[SwitchA-Ten-GigabitEthernet1/0/2] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/0/2] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/2] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/2] quit
(5) ETS部署
# 配置802.1p优先级到本地优先级的映射,将802.1p优先级3映射到本地优先级1,配置其它的802.1p优先级映射到本地优先级0。
[SwitchA] qos map-table dot1p-lp
[SwitchA-maptbl-dot1p-lp] import 3 export 1
[SwitchA-maptbl-dot1p-lp] import 0 1 2 4 5 6 7 export 0
[SwitchA-maptbl-dot1p-lp] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr byte-count
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 1 group 1 byte-count 1
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 0 group 1 byte-count 1
# 在以太网接口Ten-GigabitEthernet1/0/1上配置其它的队列为SP调度方式。
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 2 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 3 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 4 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 5 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 6 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 7 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] quit
(6) FCoE部署
# 配置FCoE模式为FCF模式并创建VSAN 10。
[SwitchA] vsan 10
[SwitchA-vsan10] quit
# 创建VFC接口VFC1,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 10
[SwitchA-Vfc1] quit
# 创建VFC接口VFC2接口,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过VFC2接口。
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode e
[SwitchA-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchA-Vfc2] port trunk vsan 10
[SwitchA-Vfc2] quit
# 开启VLAN 20的FCoE功能,并将其与VSAN 10进行映射。
[SwitchA-vlan20] fcoe enable vsan 10
[SwitchA-vlan20] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchA] vsan 10
[SwitchA-vsan10] zone default-zone permit
[SwitchA-vsan10] quit
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
(2) VLAN和接口部署
# 创建VLAN 20,用来传输存储数据流量。
<SwitchB> system-view
[SwitchB] vlan 20
[SwitchB-vlan20] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2为Trunk接口,允许VLAN 20的存储数据报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/2] port trunk permit vlan 20
[SwitchB-Ten-GigabitEthernet1/0/2] quit
(3) PFC部署
# 在以太网接口Ten-GigabitEthernet1/0/2上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchB] interface ten-gigabitethernet 1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] priority-flow-control enable
[SwitchB-Ten-GigabitEthernet1/0/2] priority-flow-control no-drop dot1p 3
[SwitchB-Ten-GigabitEthernet1/0/2] qos trust dot1p
[SwitchB-Ten-GigabitEthernet1/0/2] quit
(4) FCoE部署
# 配置FCoE模式为FCF模式并创建VSAN 10。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 10
[SwitchB-vsan10] quit
# 创建VF2接口,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过VFC2接口。
[SwitchB] interface vfc 2
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchB-Vfc2] port trunk vsan 10
[SwitchB-Vfc2] quit
# 开启VLAN 20的FCoE功能,并将其与VSAN 10进行映射。
[SwitchB] vlan 20
[SwitchB-vlan20] fcoe enable vsan 10
[SwitchB-vlan20] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchB] vsan 10
[SwitchB-vsan10] zone default-zone permit
[SwitchB-vsan10] quit
VSAN的目的是将一个物理上连通的SAN网络分割成多个逻辑上的虚拟SAN网络。每个VSAN相互隔离,并独立提供服务,增强了网络的适应性和安全性,使其能够为用户提供更有效的服务。
对每一个VSAN来说,其本身就相当于一个SAN网络,VSAN内的设备无法获得该VSAN以外的其它VSAN和设备的信息。每个VSAN内都独立运行主交换机选举,基于每个VSAN配置域ID,独立运行路由协议,独立维护路由转发表,独立提供所需的服务等。
VSAN的优点如下:
· 提高网络安全性:每个VSAN可以做到相互隔离。
· 提高网络适应性:每个VSAN可以独立运行,独立提供各种服务,不同VSAN可以使用重复的地址空间,增强了组网能力。
· 组网灵活:通过配置可以方便地将接口加入到不同的VSAN,而不需要改变SAN网络的物理连接。
VFC接口只支持Trunk方式。
Trunk方式:接口可以同时属于多个VSAN。
Trunk方式可以真正实现不同VSAN之间的逻辑隔离。其实现原理是:在FC报文中增加Virtual Fabric Tagging Header报文头(VFT_Header,一种FC报文的扩展报文头,也称为VSAN Tag),VFT_Header中包括的VF_ID(也称VSAN ID)字段,表明了报文所属的VSAN。带有不同VF_ID的报文限制在各自的VSAN内,不同VSAN不能互通。这样就达到了网络在物理上连通,但逻辑上隔离的目的。
Trunk方式的典型组网如图5-1所示,两种不同颜色区域的F_Port的Access VSAN_ID分别配置为VSAN 1、VSAN 2,E_Port配置Trunk VSAN 1~VSAN 2。当服务器读写磁盘时,不同服务器的N_Port发送不带VFT_Header的报文到FC交换机A的各自相连的F_Port上,分别在各自F_Port Access加入的VSAN内查找转发表,出接口为相同的E_Port。报文从E_Port转发出去时,分别添加VSAN 1和VSAN 2的VFT_Header,中间可能会经过多台支持VSAN的交换机,转发到FC交换机B的E_Port上,并根据VFT_Header中的VF_ID字段,在相应VSAN中查找转发表,将报文转发到相应的F_Port上,F_Port去掉报文的VFT_Header后,将报文发送到不同磁盘设备的N_Port上。同样,从每个磁盘设备返回给服务器的数据报文也经过上述处理,最终到达不同的服务器。
图5-1 Trunk方式应用组网图
从上面描述可以看出,报文在传输过程中会发生添加和去除VFT_Header的过程。同一台交换机上要支持多个VSAN,可以使用相同的物理接口,减少了网络的物理连接。真正做到了在物理连通的SAN网络之上的逻辑隔离。
FCoE网络是在以太网上承载FC协议,需要将FC协议中的VSAN资源映射到以太网中的VLAN资源,根据用户配置的VSAN到VLAN的映射关系,将VSAN内的转发表项存储到映射的VLAN内。FCoE报文中使用VLAN_Header替代FC报文中的VFT_Header,报文转发时根据FCoE报文中的VLAN_Header内的VLAN ID在相应的VLAN内查找转发表实现转发。
VFC接口仅支持Trunk方式,VFC接口绑定的以太网接口也要求工作在Trunk模式下,且以太网接口Trunk的VLAN列表要与VFC接口Trunk的VSAN列表相匹配,即存在VSAN到VLAN的映射关系。这样,从VFC接口传输的FCoE报文就可以使用VLAN_Header中的VLAN ID标识报文所属的VLAN。
初始情况下,只存在缺省VSAN(VSAN 1)。用户不能创建或删除缺省VSAN。用户可以创建的VSAN范围是2~3839。
创建VSAN,并进入VSAN视图 |
缺省情况下,系统只有一个缺省VSAN(VSAN 1),且VSAN 1的名称为VSAN0001 |
VFC接口可以以Trunk方式加入多个VSAN。
多次配置接口Trunk VSAN,最终形成的接口Trunk VSAN List为配置的Trunk VSAN的集合。
表5-2 将接口以Trunk方式加入VSAN
进入VFC接口视图 |
||
配置接口以Trunk方式加入VSAN,即允许指定的VSAN通过当前接口 |
缺省情况下,接口不以Trunk方式加入任何VSAN 将接口以Trunk方式加入指定VSAN时,此VSAN无需已经存在 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后VSAN的运行情况,通过查看显示信息验证配置的效果。
表5-3 VSAN显示和维护
显示VSAN配置的接口成员 |
· 服务器Server A能读写磁盘设备Disk A和Disk B中的数据;
· 服务器Server B只能读写磁盘设备Disk C中的数据。
图5-2 配置VSAN组网图
· 为了实现上述需求,可将SAN网络划分为2个VSAN,分别为VSAN 10、VSAN 20,每个VSAN包含一组可以进行数据交互的服务器和磁盘设备。
· FCF交换机Switch A上与服务器连接的2个接口需要配置为F模式,并将Trunk VSAN分别配置为VSAN 10、VSAN 20。
· FCF交换机Switch B上与磁盘设备连接的3个接口需要配置为F模式,并将Trunk VSAN配置为VSAN 10或VSAN 20。
· 两台FCF交换机之间的链路需要同时收发2个VSAN的报文,因此,需将链路两端的接口配置为E模式,Trunk VSAN list中包括VSAN 10、VSAN 20。
本例中只列出VSAN相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式,创建VSAN 10、20。
[SwitchA] fcoe-mode fcf
[SwitchA] vsan 10
[SwitchA-vsan10] quit
[SwitchA] vsan 20
[SwitchA-vsan20] quit
# 创建VFC接口VFC1,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 10
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 创建VFC接口VFC2,配置VFC2接口工作在F模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 20,即允许VSAN 20的报文通过VFC2接口。
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchA-Vfc2] port trunk vsan 20
[SwitchA-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 20的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/2
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 20
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 创建VFC接口VFC4,配置VFC4接口工作在E模式,将VFC4接口绑定到以太网接口Ten-GigabitEthernet1/0/4上,并将VFC4接口以Trunk方式加入VSAN 10、VSAN 20,即允许VSAN 10、VSAN 20的报文通过VFC4接口。
[SwitchA-Vfc4] fc mode e
[SwitchA-Vfc4] bind interface ten-gigabitethernet 1/0/4
[SwitchA-Vfc4] port trunk vsan 10 20
[SwitchA-Vfc4] quit
# 配置以太网接口Ten-GigabitEthernet1/0/4允许VLAN 10、VLAN 20的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/4
[SwitchA-Ten-GigabitEthernet1/0/4] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/4] port trunk permit vlan 10 20
[SwitchA-Ten-GigabitEthernet1/0/4] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 10进行映射。
[SwitchA-vlan10] fcoe enable vsan 10
[SwitchA-vlan10] quit
# 开启VLAN 20的FCoE功能,并将其与VSAN 20进行映射。
[SwitchA-vlan20] fcoe enable vsan 20
[SwitchA-vlan20] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchA] vsan 10
[SwitchA-vsan10] zone default-zone permit
[SwitchA-vsan10] quit
[SwitchA] vsan 20
[SwitchA-vsan20] zone default-zone permit
[SwitchA-vsan20] quit
Switch B上的配置与Switch A类似,配置步骤略。
(1) 在Switch A上进行验证
# 显示所有VSAN配置的接口成员。
[SwitchA] display vsan port-member
VSAN 1:
Access Ports:
Trunk Ports:
VSAN 10:
Access Ports:
Trunk Ports:
Vfc1
Vfc4
VSAN 20:
Access Ports:
Trunk Ports:
Vfc2
Vfc4
(2) 在Switch B上进行验证
验证结果与Switch A类似,显示内容略。
Fabric网络为服务器和磁盘设备提供数据传输服务。通过Fabric网络传输数据之前,必须为Fabric网络中的每台FCF交换机分配域ID、为Fabric网络连接的每个节点设备分配FC地址。
如图6-1所示,Fabric网络可以通过静态和动态两种方式建立:
· 静态方式:手工为网络中的所有交换机指定域ID,然后每台交换机为与之相连的N_Port分配FC地址。此方式适用于组网结构简单、规模较小的网络。静态方式可以有效避免不必要的网络震荡。
· 动态方式:自动进行主交换机选举,由选举出来的主交换机为网络中的所有交换机分配域ID,最后每台交换机为与之相连的N_Port分配FC地址。此方式适用于规模较大的网络,可以对整个网络进行集中管理。
图6-1 Fabric网络建立过程
下面将详细描述Fabric网络建立的每个过程。
在Fabric网络的动态建立过程中,主交换机用来为网络中的所有交换机分配域ID。
在主交换机选举过程中,优先级(以小为优)最高的交换机将被选举为主交换机。如果多台交换机优先级相同,则选择交换机WWN最小的那台交换机作为主交换机。
(1) 在开始主交换机选举时,所有交换机都认为自己是主交换机,记录本机信息为主交换机信息,同时启动超时时间为10秒的PSST(Principal Switch Selection Timer,主交换机选举定时器)定时器。
(2) 在PSST定时器超时前,交换机间通过交换携带有各自记录的主交换机信息的报文来选举主交换机。收到报文后,将本机记录的主交换机的优先级和WWN与报文中携带的主交换机的优先级和WWN进行比较,如果报文中携带的优先级更高,或者优先级相同但是WWN更小,则将本机的主交换机信息更新为报文中携带的主交换机信息,并通知其它交换机。最后,网络中所有交换机记录的主交换机信息将达成一致。
(3) 在PSST定时器超时后,如果记录的主交换机信息和本机信息一样,则该交换机成为主交换机。
主交换机选举出来后,主交换机的WWN作为Fabric网络的名称。
在主交换机选举过程中,交换机若收到导致更新本机记录的主交换机信息的报文,则记录收到该报文的E_Port,此E_Port对应的链路称为上游主链路。
前面已经说过,一台交换机以及其直连的N_Port形成一个域,每个域需要分配一个域ID。
FCF交换机可以自动分配域ID,也可通过配置静态指定域ID。
· 如果通过静态配置指定域ID,则需要为Fabric网络中的每台交换机都指定域ID,且每台交换机的域ID必须是唯一的。
· 如果动态分配域ID,则Fabric网络中的交换机会自动完成主交换机选举和域ID分配的过程。当主交换机被选举出来之后,由主交换机负责为网络中的每台交换机分配域ID。每一台交换机都会有一个唯一的域ID。
动态分配域ID的过程如下:
(1) 主交换机首先为自己分配域ID。如果主交换机上预先配置了自己想要获取的域ID,则主交换机将给自己分配该域ID;否则,主交换机将给自己随机分配一个域ID。主交换机给自己分配域ID后通知其下游交换机开始向其申请域ID。
(2) 下游交换机收到通知后,开始向主交换机申请域ID。如果下游交换机上配置了自己想要获取的域ID,则下游交换机将向主交换机申请该域ID。
(3) 主交换机在收到下游交换机的域ID申请后,给下游交换机分配域ID,并通知下游交换机。在分配域ID时:
· 如果下游交换机申请指定的域ID而且该域ID没有被主交换机分配出去,则主交换机将为之分配该域ID。
· 如果下游交换机没有申请指定的域ID或者主交换机无法为之分配指定的域ID,则主交换机将为之随机分配一个域ID。
· 如果所有可以分配的域ID都已经分配出去,则主交换机将通知下游交换机无法完成分配。
(4) 下游交换机在收到主交换机分配的域ID通知后:
· 如果下游交换机上配置了static模式的域ID(关于域ID模式的详细介绍请参见“6.7 配置域ID”),并且该域ID与主交换机为之分配的域ID不一样,或者主交换机通知无法完成分配,则下游交换机将隔离上游主链路(上游主链路对应的接口的状态变为down)。
· 否则,下游交换机接受主交换机分配的域ID,并通知其相邻的下游交换机开始向主交换机申请域ID。
(5) 重复步骤(2)~(4),直到所有的下游交换机都获得域ID。
· 在动态分配域ID过程中,交换机若收到申请域ID的请求报文,则记录收到该报文的E_Port,此E_Port对应的链路称为下游主链路。
· 分配到的域ID将被记录到隐藏文件中。下次申请域ID时若无用户配置,则优先使用该文件中记录的域ID向主交换机申请。为防止频繁写该文件,域ID变化后会启动一个五秒钟的延迟定时器,超时后再将新的域ID写入该文件。若更新域ID后需要重启设备,请等待五秒,以保证最新的域ID已写入该文件。
当交换机获取到域ID之后,便可以为与其直连的N_Port分配FC地址。
FC地址中Domain_ID字段的值就是与N_Port相连的交换机的域ID,不需要分配;Area_ID和Port_ID字段的值由交换机统一分配。
· 如果为N_Port绑定了FC地址的绑定关系,既配置FC地址持久化表项,则交换机为其分配绑定的FC地址。
· 如果N_Port有指定要分配的FC地址,则交换机应该尽量分配指定的FC地址;
· 如果N_Port没有绑定或指定要分配的FC地址,或交换机无法分配其指定要分配的地址,则交换机为其分配最小可以分配的Area_ID和Port_ID。
在规模较大的网络中,为了便于对网络进行集中管理,通常采用动态方式建立Fabric网络;而在组网结构简单、规模较小的网络中,为了有效避免不必要的网络震荡,通常采用静态方式建立Fabric网络。
表6-1 静态建立Fabric网络配置任务简介
关闭Fabric配置功能 |
静态建立Fabric网络时,必须关闭Fabric配置功能 |
|
配置Fabric网络的名称 |
静态建立Fabric网络时,必须手工配置Fabric网络的名称,并保证网络中所有交换机上配置的Fabric网络的名称相同 |
|
配置允许的域ID范围 |
||
静态建立Fabric网络时,必须为每台交换机手工配置域ID |
||
配置FC地址持久化功能 |
可选 |
|
配置VSAN下的最大登录节点数 |
可选 |
|
配置Fabric定时器 |
||
配置RSCN聚合功能 |
||
开启Smart SAN功能 |
可选 |
表6-2 动态建立Fabric网络配置任务简介
开启Fabric配置功能 |
动态建立Fabric网络时,必须开启Fabric配置功能 |
|
配置允许的域ID范围 |
||
动态建立Fabric网络时,可以配置交换机想要获取的域ID |
||
配置FC地址持久化功能 |
可选 |
|
配置VSAN下的最大登录节点数 |
可选 |
|
配置Fabric定时器 |
||
配置Fabric重配置 |
||
配置接口拒绝收到的RCF请求报文 |
||
开启Fabric告警功能 |
||
配置RSCN聚合功能 |
||
开启Smart SAN功能 |
可选 |
FCF交换机在开启Fabric配置功能后,就会通过消息交互选举主交换机,之后由选举出来的主交换机为网络中的所有交换机动态分配域ID。因此,在动态建立Fabric网络时,必须开启Fabric配置功能;在静态建立Fabric网络时,必须关闭Fabric配置功能,手工配置各交换机的域ID。
表6-3 开启/关闭Fabric配置功能
进入VSAN视图 |
||
开启Fabric配置功能 |
在动态建立Fabric网络时,必须开启VSAN内所有交换机的Fabric配置功能;在静态建立Fabric网络时,必须关闭VSAN内所有交换机的Fabric配置功能 缺省情况下,Fabric配置功能处于开启状态 |
|
关闭Fabric配置功能 |
FCF交换机支持为每个VSAN分配一个Fabric网络名称,其格式与WWN格式相同,是一个64位的地址。当VSAN创建后,如果用户未配置Fabric网络的名称,则使用本交换机的WWN作为Fabric网络的名称。
需要注意的是,仅在静态建立Fabric网络时才需要配置Fabric网络的名称,并且同一VSAN内所有交换机的Fabric网络名称必须一样。动态建立Fabric网络时并不需要配置Fabric网络的名称,系统将使用主交换机的WWN作为Fabric网络的名称。
表6-4 配置Fabric网络的名称
进入VSAN视图 |
||
配置Fabric网络的名称 |
缺省情况下,使用该VSAN内本交换机的WWN作为Fabric网络的名称 |
FCF交换机的优先级取值范围为1~254,取值越小,优先级越高。优先级高的FCF交换机优先被选为主交换机。
优先级是按每个VSAN进行配置的,同一台FCF交换机在不同VSAN中的优先级可以不同。
交换机优先级的配置不能立即生效,需通过命令domain restart disruptive进行一次中断重配置后才能生效。
交换机的运行优先级和配置的优先级可能不同:如果Fabric网络已处于稳定状态,此时去配置交换机的优先级并不会立即生效,使用本命令查看时就有可能出现运行优先级和配置优先级不一致的情况。如果配置了优先级之后立即通过命令domain restart disruptive进行一次中断重配置,新配置的优先级就会生效。待Fabric网络稳定后:
· 对于主交换机,如果配置的优先级<=2,则运行和配置优先级一致;如果配置的优先级数值大于2,则会将运行优先级修改为2,运行和配置优先级不一致。
· 对于非主交换机,如果配置的优先级<=2,会将运行优先级修改为3,运行和配置优先级不一致;如果配置的优先级数值大于2,则运行和配置优先级一致。
进入VSAN视图 |
||
配置允许的域ID范围对交换机的影响如下:
· 主交换机:只能从允许的域ID范围内分配域ID。如果配置的允许域ID范围不包含已分配的域ID和本地配置的域ID,配置均会失败。
· 非主交换机:手工配置的域ID必须在允许的域ID范围内,否则会配置失败。
· 主交换机为本交换机分配的域ID必须在允许的域ID范围内,否则不接受所分配的域ID,并隔离连接主交换机的接口。如果交换机当前运行时域ID(动态分配或者手工指定域ID后,交换机实际使用的域ID)不在新配置的允许的域ID范围内时,将导致配置失败。
建议一个VSAN内所有交换机配置相同的允许域ID范围。
进入VSAN视图 |
||
缺省情况下,允许的域ID范围为1~239 |
在不同情况下,配置的域ID含义不同:
· 在静态建立Fabric网络的情况下,配置的域ID就是交换机的域ID。
· 在动态建立Fabric网络的情况下,配置的域ID表示交换机想要获取的域ID。
静态建立Fabric网络时,必须为每台交换机手工配置域ID。
动态建立Fabric网络时,可以配置交换机想要获取的域ID,但最后实际分配到的域ID可能和配置的域ID不同。
配置的域ID分为static和preferred两种模式:
· 在静态建立Fabric网络时,两种模式没有区别。
· 在动态建立Fabric网络时,如果非主交换机向主交换机请求分配自己想要获取的域ID失败,preferred模式下,非主交换机可以使用主交换机分配的其它域ID;static模式下,非主交换机将隔离上游主链路,不使用主交换机分配的其它域ID。
建议一个VSAN内所有交换机配置相同模式的域ID。
进入VSAN视图 |
||
缺省情况下,交换机的域ID为0,采用preferred模式 |
FC地址持久化功能是指通过手工配置或自动生成的方式,将N_Port/NP_Port的WWN与FC地址形成绑定关系,这样当N_Port/NP_Port上线后,便会获得绑定后的FC地址。我们将这种绑定关系称为FC地址持久化表项,该表项又分为以下两种:
· 静态FC地址持久化表项:只能通过手工配置生成。
· 动态FC地址持久化表项:既可通过手工配置生成,也可自动生成。自动生成是指,当节点上线并获得FC地址后,系统会自动将该节点的WWN与该FC地址形成绑定关系并写入设备,只要用户保存了配置,设备重启后该节点上线时便能获得该FC地址。
· 每个N_Port/NP_Port只能绑定一个FC地址,一个FC地址也只能与一个N_Port/NP_Port绑定。
· 要绑定的N_Port/NP_Port如果已Login并分配了其它FC地址,或者要绑定的FC地址已被分配给其它N_Port/NP_Port,则不允许将二者绑定。
· 只有开启了FC地址持久化功能后,手工配置的FC地址持久化表项才能生效。
表6-8 配置FC地址持久化功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VSAN视图 |
vsan vsan-id |
- |
开启FC地址持久化功能 |
fcid persistent enable |
缺省情况下,FC地址持久化功能处于开启状态 |
(可选)配置FC地址持久化表项 |
wwn wwn-value fcid fcid-value [ dynamic ] |
缺省情况下,不存在手工配置的FC地址持久化表项 |
用户可以配置VSAN下的最大登录节点数,以防止某VSAN下的登录节点过多,占用大量的ACL资源。这里的登录节点数=交换机直连的NPV交换机的数+登录到本交换机上的服务器和磁盘数。
如果已登录节点数大于配置的最大登录节点数,不会将已登录节点强制下线,但后续任何新节点均无法登录。用户可以通过手工关闭接口等方式将不需要的节点下线。
需要注意的是,登录节点数即受本配置、也受硬件ACL资源的限制,当硬件ACL资源耗尽时,新节点也无法登录。
表6-9 配置VSAN下的最大登录节点数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VSAN视图 |
vsan vsan-id |
- |
配置VSAN下的最大登录节点数 |
fc login-limit max-number |
缺省情况下,不限制VSAN下的最大登录节点数 |
用户可以配置如下Fabric定时器的取值:分布式服务超时时间、错误检测超时时间、资源分配超时时间。关于这些Fabric定时器的详细介绍请参见FC相关的协议规范。
对Fabric定时器的配置有两种方式:
· 在系统视图下配置:对所有VSAN生效。
· 在VSAN视图下配置:对单个VSAN生效。
如果在系统视图和VSAN视图下均进行配置,则采用VSAN视图下的配置值。
表6-11 在VSAN视图下配置Fabric定时器
进入VSAN视图 |
||
配置指定VSAN内的分布式服务超时时间 |
||
配置指定VSAN内的错误检测超时时间 |
||
配置指定VSAN内的资源分配超时时间 |
只有开启Fabric配置功能,Fabric重配置功能才生效。
Fabric重配置一般在网络改造(比如两个Fabric网络合并等)或外部干预(比如管理员通过命令行发起重配置)时发生。Fabric重配置将触发整个网络重新开始主交换机选举、域ID分配和FC地址分配。
Fabric重配置分为两种:中断重配置、非中断重配置。
· 中断重配置:在整个Fabric中洪泛RCF(Reconfigure Fabric)报文,通知所有交换机进行中断重配置。重配置过程中,会清除所有运行数据重新进行协商,因此整个Fabric网络的数据传输都会中断。
· 非中断重配置:在整个Fabric中洪泛BF(Build Fabric)报文,通知所有交换机进行非中断重配置。重配置过程中,会尽量保留上一次的运行数据,以保证交换机的域ID尽量不发生变化,从而不影响Fabric网络的数据传输。
根据触发条件不同,可将Fabric重配置分为两种:自动重配置、手工发起重配置。触发场景如下:
· 自动中断重配置:两个Fabric网络合并时,如果域ID列表重叠,交换机会自动进行中断重配置。
· 自动非中断重配置:两个Fabric网络合并时,如果两个Fabric网络的主交换机信息不同,而且域ID列表非空且不重叠,系统会自动进行非中断重配置。主交换机宕机时,系统会自动进行非中断重配置。
· 手工中断重配置:当两个Fabric网络合并时接口被隔离或者修改了交换机的优先级等情况下,管理员可以手工发起中断重配置,触发整个Fabric网络重新进行配置。
表6-12 配置自动Fabric重配置功能
进入VSAN视图 |
||
开启自动Fabric重配置功能 |
缺省情况下,自动Fabric重配置功能处于关闭状态 |
进入VSAN视图 |
||
发起Fabric重配置 |
在一个稳定的网络中,可以配置接口拒绝收到的特定VSAN内的RCF请求报文,以防止交换机进行不必要的中断重配置。配置该功能后,如果接口收到该VSAN内的RCF请求报文,交换机会回应拒绝报文,并将该接口隔离。
进入VFC接口视图 |
||
配置当前接口拒绝收到的RCF请求报文 |
开启Fabric模块或名称服务相关的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表6-15 开启Fabric告警功能
开启Fabric模块的告警功能 |
snmp-agent trap enable fc-fabric [ domain-id-change | fabric-change ] * |
缺省情况下,Fabric模块的所有告警功能均处于关闭状态 |
Fabric网络中,交换机上保存了整个Fabric网络的名称服务数据信息,既包括本地注册的节点设备信息,也包括远端交换机上的节点设备信息。当节点设备发生注册、注销或改变注册数据等变化事件时,交换机使用RSCN(Registered State Change Notification,注册状态变化通知)报文,向交换机或节点设备来进行变化通知。交换机或节点设备收到RSCN报文后,会主动发送名称服务查询报文,进行表项更新。
RSCN报文分为交换机之间通知变化的SW_RSCN报文,以及交换机通知本机直连节点设备的ELS_RSCN报文。RSCN报文仅携带当前发生变化的节点设备的FC地址,进行变化通告,而并不实际同步数据。
当变化事件发生时,交换机感应该变化,使用ELS_RSCN报文通知其它本地直连且关心该变化的节点设备,触发节点设备向交换机查询数据进行更新;同时,交换机发送SW_RSCN报文通知其它路由可达的交换机,其它交换机在收到SW_RSCN报文后,响应变化,主动查询、更新数据,并使用ELS_RSCN报文通知各自本地直连且关心该变化的节点设备,最终完成变化数据的全网通知和数据更新。
交换机是否支持SW_RSCN通知取决于路由计算完成后,交换机之间进行的ESS(Exchange Switch Support,交换机能力协商)协商;而节点设备是否响应ELS_RSCN报文,取决于在节点设备注册成功后,是否发送SCR(State Change Registration,状态变化注册)报文向交换机注册关心响应。
随着节点设备的规模增大,网络中存在大量节点设备的情况下,当远端或本机有多个节点设备同时发生注册、注销或改变注册数据等变化事件时,对于每一个发生变化的节点设备,都需要通知一次其它关心该变化的节点设备,对应发送携带一个变化FC地址(发生变化的节点设备的FC地址)的RSCN报文。因此有可能短时间内向关心该变化的节点设备发送大量RSCN报文,导致网络拥塞,设备的传输和处理性能急剧降低。
对于交换机发送给节点设备的ELS_RSCN报文,可以开启RSCN聚合功能来优化网络性能:如果在RSCN聚合等待时间内,有多个节点设备产生变化事件,则使用携带了多个变化FC地址的一个ELS_RSCN报文,来代替以前只携带一个变化FC地址的多个ELS_RSCN报文,以此减少向关心该变化的节点设备发送ELS_RSCN报文的数量,减少变化通知次数。
开启RSCN聚合功能后,用户可以根据设备性能调整RSCN聚合的等待时间,以此控制设备响应RSCN变化的频率。
需要注意的是,只有开启RSCN聚合功能后,RSCN聚合等待时间才会生效。建议一个VSAN内的所有交换机同时开启RSCN聚合功能,并配置相同的RSCN聚合等待时间,以避免可能产生的设备互通问题。
表6-16 配置RSCN聚合功能
进入VSAN视图 |
||
开启RSCN聚合功能 |
缺省情况下,RSCN聚合功能处于关闭状态 |
|
配置RSCN聚合等待时间 |
缺省情况下,RSCN聚合等待时间为2000毫秒 |
大部分节点设备连入Fabric网络时,会先携带一些基础信息(例如Port WWN、Node WWN、期望得到的FC地址等)登录到交换机,待交换机为之分配FC地址后,节点设备会继续发送名称服务的节点属性注册报文,注册节点设备的其它一系列扩展信息,其中就包括FC4信息。
FC4信息描述了节点设备支持的上层协议类型,以及协议对应的属性。FC4信息包括如下内容:
· FC4-Type:FC4层协议类型,描述了节点设备支持的上层协议,包括SCSI-FCP、IP、SNMP、NPV等。
· Feature:FC4层协议的属性。每种FC4-Type拥有四种属性,每种属性的具体含义由各FC4-Type分别定义。
关于各种FC4-Type及其Feature的详细介绍请查看相关的协议文档。用户可以在交换机上通过display fc name-service database命令查看名称服务数据库中记录的节点设备的FC4信息。
节点设备在Fabric网络中进行互通时,会首先向交换机获取所有支持SCSI-FCP协议的节点信息,然后根据这些节点支持SCSI-FCP协议的Feature值,来决定具体的互通行为。
一般情况下,服务器连入Fabric网络时,会注册支持SCSI-FCP协议,同时注册Feature为Initiator,而磁盘设备连入Fabric网络时也会注册支持SCSI-FCP协议,同时注册Feature为Target,这样服务器就能向交换机获取支持SCSI-FCP协议的节点信息,并根据SCSI-FCP的Feature值决定哪些节点属于磁盘设备,能够发送访问请求,进行设备互通。
某些节点设备有时不会主动注册支持SCSI-FCP协议(比如节点设备离线又重新上线后,不再主动注册FC4-Type或Feature),也因此没有SCSI-FCP协议对应的Feature值,对节点设备间的互通可能产生影响。
Fabric自动发现SCSI-FCP信息功能可以主动获取节点设备的SCSI-FCP协议及其对应的Feature值,开启该功能后,FCF交换机在节点设备登录后,会主动向节点设备发送PRLI报文,询问节点设备是否支持SCSI-FCP协议,同时获取节点设备支持SCSI-FCP协议对应的Feature信息,并将此信息保存在名称服务数据库中。
需要注意的是,开启Fabric自动发现SCSI-FCP信息功能后,某些较老型号的网卡可能不会再向交换机自动注册节点设备信息。请用户根据实际情况选择是否开启本功能。
表6-17 配置Fabric自动发现SCSI-FCP信息功能
进入VSAN视图 |
||
开启Fabric自动发现SCSI-FCP信息功能 |
缺省情况下,Fabric自动发现SCSI-FCP信息功能处于开启状态 |
为了不影响节点设备之间的互通,用户可以手工配置节点设备的默认FC4信息(FC4-Type和Feature)。当节点设备不注册FC4信息并且交换机主动探测SCSI-FCP信息也不成功时,名称服务数据库中记录的将是该默认FC4信息。此后,如果节点设备又主动注册了FC4信息或交换机又探测到了SCSI-FCP信息,则名称服务数据库中将保存节点设备注册或交换机探测到的FC4信息。
配置本命令时,每条配置命令只能表示某个N_Port支持的一种FC4-Type及其Feature,如果该N_Port还支持其它FC4-Type及其Feature,则需要再配置一条命令。
随着SAN网络的广泛应用,SAN网络的管理、诊断和部署的需求越来越多,面对的一些问题也逐渐暴露出来。SAN网络急需进行协议架构的完善和革新,使用新的技术方案推动其发展,满足用户在智能化、简单化、可维护、可诊断、自我修复等方面越来越迫切的需求。
Smart SAN是由H3C提出的SAN网络配置与管理解决方案。Smart SAN一方面将增强SAN网络的可管理性,另一方面又会大大简化用户的操作,为SAN网络的广泛部署奠定基础。它采用分布式的框架结构,部署于包括存储设备、服务器和交换机在内的所有SAN网络对象上。其中,交换机主要完成如下工作:
· 搜集服务器与存储设备的信息,为服务器与存储设备之间的发现提供依据;
· 控制服务器与存储设备之间的访问,实现Zone的自动化配置,包括Peer Zone的创建和删除,为Peer Zone添加成员,将Peer Zone加入Zone set并激活Zone set;
· 搜集服务器与存储设备的诊断信息,为监控网络环境、诊断网络问题提供参考;
· 控制服务器与存储设备的自动化登录。
Smart SAN功能包含两种应用类型:FC/FCoE类型和iSCSI类型。iSCSI类型暂不支持。
如果交换机需要支持基于FC/FCoE协议标准的Smart SAN功能,则需要在该交换机上开启Smart SAN功能并指定其应用类型为FC/FCoE类型。完成此配置后,该交换机会通知FDMI(Fabric Device Management Interface,Fabric设备管理接口)和FC Zone模块进行相应的处理:
· FDMI模块会启动一个定时器,定期向登录交换机的节点设备发送RDP(Read Diagnostic Parameters,诊断参数读取请求)请求报文获取节点设备的诊断信息,更新本地接口的诊断信息,并向其它交换机发送同步RDP数据库信息的ADP(Add Diagnostic Parameter,增加诊断信息)同步报文。
· FC Zone模块自动配置每个VSAN工作在增强Zone模式。
表6-19 开启Smart SAN功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启Smart SAN功能并指定其应用类型 |
smartsan enable [ fcoe | iscsi ] |
缺省情况下,Smart SAN功能处于关闭状态 |
配置RDP请求报文的发送时间间隔 |
rdp request-polling-interval interval |
缺省情况下,发送RDP请求报文的时间间隔是30分钟 只有开启Smart SAN功能并指定其应用类型为FC/FCoE类型后,交换机才支持配置RDP请求报文的发送时间间隔。 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后Fabric网络的运行情况,通过查看显示信息验证配置的效果。
表6-20 Fabric网络显示和维护
显示VSAN内的域信息 |
|
显示VSAN内动态分配的域列表 |
|
显示Fabric定时器信息 |
display fc timer [ distributed-services | error-detect | resource-allocation ] [ vsan vsan-id ] |
显示N端口注册的SCR列表 |
|
display fc name-service database [ vsan vsan-id [ fcid fcid ] ] [ verbose ] |
|
显示ESS协商结果 |
|
显示FC地址的分配情况 |
display fcid allocation [ vsan vsan-id ] |
显示FC地址持久化表项 |
display fcid persistent [ unused ] [ vsan vsan-id ] |
显示RDP数据库信息 |
display rdp database [ port-name port-name ] |
显示RDP请求报文的发送时间间隔 |
display rdp request-polling-interval |
显示Smart SAN的状态信息 |
display smartsan status |
清除FC地址持久化表项 |
reset fcid persistent [ static ] [ vsan vsan-id ] |
网络由两台交换机Switch A、Switch B,和磁盘设备Disk、服务器Server组成。
图6-2 静态建立Fabric网络组网图
本例中只列出建立Fabric网络的相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 关闭Fabric配置功能并把交换机模式配置为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
[SwitchA] vsan 1
[SwitchA-vsan1] undo domain configure enable
# 配置Fabric网络的名称。
[SwitchA-vsan1] fabric-name 11:11:11:11:11:11:11:11
# 配置域ID为1。
[SwitchA-vsan1] domain-id 1 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchA-vsan1] quit
# 创建VFC 1接口,配置VFC 1接口工作在F模式,将VFC 1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC 1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC 1接口。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 20的报文通过。
[SwitchA] vlan 20
[SwitchA-Vlan20] quit
[SwitchA] interface ten-gigabitethernet1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 20
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 创建VFC 2接口,配置VFC 2接口工作在E模式,将VFC 2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC 2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC 2接口。
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode e
[SwitchA-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchA-Vfc2] port trunk vsan 1
[SwitchA-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 20的报文通过。
[SwitchA] vlan 20
[SwitchA-Vlan20] quit
[SwitchA] interface ten-gigabitethernet1/0/2
[SwitchA-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/2] port trunk permit vlan 20
[SwitchA-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 20的FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 20
[SwitchA-vlan20] fcoe enable vsan 1
[SwitchA-vlan20] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchA] vsan 1
[SwitchA-vsan1] zone default-zone permit
[SwitchA-vsan1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 关闭Fabric配置功能并把交换机模式配置为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 1
[SwitchB-vsan1] undo domain configure enable
# 配置Fabric网络的名称。
[SwitchA-vsan1] fabric-name 11:11:11:11:11:11:11:11
# 配置域ID为2。
[SwitchB-vsan1] domain-id 2 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchB-vsan1] quit
# 创建VFC 1接口,配置VFC 1接口工作在F模式,将VFC 1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC 1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC 1接口。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode f
[SwitchB-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 20的报文通过。
[SwitchB] vlan 20
[SwitchB-Vlan20] quit
[SwitchB] interface ten-gigabitethernet1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 20
[SwitchB-Ten-GigabitEthernet1/0/1] quit
# 创建VFC 2接口,配置VFC 2接口工作在E模式,将VFC 2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC 2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC 2接口。
[SwitchB] interface vfc 2
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 20的报文通过。
[SwitchB] vlan 20
[SwitchB-Vlan20] quit
[SwitchB] interface ten-gigabitethernet1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/2] port trunk permit vlan 20
[SwitchB-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 20的FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 20
[SwitchB-vlan20] fcoe enable vsan 1
[SwitchB-vlan20] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchB] vsan 1
[SwitchB-vsan1] zone default-zone permit
[SwitchB-vsan1] quit
[SwitchA-vsan1] display fc domain vsan 1
Domain Information of VSAN 1:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1A:1A
Fabric name: 11:11:11:11:11:11:11:11
Priority: 128
Domain ID: 1
Configuration information:
Domain configure: Disabled
Domain auto-reconfigure: Disabled
Fabric name: 11:11:11:11:11:11:11:11
Priority: 128
Domain ID: 1 (static)
Principal switch running time information:
Priority: 128
No interfaces available.
上述信息表明,域配置已经结束,Switch A的运行域ID是1。
[SwitchB-vsan1] display fc domain vsan 1
Domain Information of VSAN 1:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1B:1B
Fabric name: 11:11:11:11:11:11:11:11
Priority: 128
Domain ID: 2
Configuration information:
Domain configure: Disabled
Domain auto-reconfigure: Disabled
Fabric name: 11:11:11:11:11:11:11:11
Priority: 128
Domain ID: 2 (static)
Principal switch running time information:
Priority: 128
No interfaces available.
上述信息表明,域配置已经结束,Switch B的运行域ID是2。
网络由交换机Switch A、Switch B、Switch C、Switch D,和磁盘设备Disk、服务器Server组成。
图6-3 动态建立Fabric网络组网图
本例中只列出建立Fabric网络的相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启),并把交换机模式配置为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
[SwitchA] vsan 1
[SwitchA-vsan1] domain configure enable
# 配置域ID为11。
[SwitchA-vsan1] domain-id 11 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchA-vsan1] quit
#开启VLAN 10的FCoE功能、并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 创建VFC 2接口并将其与物理端口Ten-GigabitEthernet1/0/2绑定;将VFC 2接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchA] interface Vfc 2
[SwitchA-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchA-Vfc2] fc mode e
[SwitchA-Vfc2] port trunk vsan 1
[SwitchA-Vfc2] quit
# 创建VFC 1接口并将其与物理端口Ten-GigabitEthernet1/0/1绑定;将VFC 1接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchA] interface Vfc 1
[SwitchA-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchA] vsan 1
[SwitchA-vsan1] zone default-zone permit
[SwitchA-vsan1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启),并把交换机模式配置为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 1
[SwitchB-vsan1] domain configure enable
# 配置交换机的优先级为1,使Switch B成为主交换机。
[SwitchB-vsan1] priority 1
[SwitchB-vsan1] quit
#开启VLAN 10的FCoE功能、并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 创建VFC 1接口并将其与物理端口Ten-GigabitEthernet1/0/1绑定;将VFC 1接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchB] interface Vfc 1
[SwitchB-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 创建VFC 2接口并将其与物理端口Ten-GigabitEthernet1/0/2绑定;将VFC 2接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchB] interface Vfc 2
[SwitchB-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 创建VFC 3接口并将其与物理端口Ten-GigabitEthernet1/0/3绑定;将VFC 3接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchB] interface Vfc 3
[SwitchB-Vfc3] bind interface ten-gigabitethernet1/0/3
[SwitchB-Vfc3] fc mode e
[SwitchB-Vfc3] port trunk vsan 1
[SwitchB-Vfc3] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchB] vsan 1
[SwitchB-vsan1] zone default-zone permit
[SwitchB-vsan1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchC] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启),并把交换机模式配置为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
[SwitchC] vsan 1
[SwitchC-vsan1] domain configure enable
# 配置域ID为13。
[SwitchC-vsan1] domain-id 13 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
#开启VLAN 10的FCoE功能、并将其与VSAN 1进行映射。
[SwitchC] vlan 10
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
# 创建VFC 1接口并将其与物理端口Ten-GigabitEthernet1/0/1绑定;将VFC 1接口配置为F模式、并以Trunk方式加入VSAN 1。
[SwitchC] interface Vfc 1
[SwitchC-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchC-Vfc1] fc mode f
[SwitchC-Vfc1] port trunk vsan 1
[SwitchC-Vfc1] quit
# 创建VFC 2接口并将其与物理端口Ten-GigabitEthernet1/0/2绑定;将VFC 2接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchC] interface Vfc 2
[SwitchC-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchC-Vfc2] fc mode e
[SwitchC-Vfc2] port trunk vsan 1
[SwitchC-Vfc2] quit
# 创建VFC 3接口并将其与物理端口Ten-GigabitEthernet1/0/3绑定;将VFC 3接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchC] interface Vfc 3
[SwitchC-Vfc3] bind interface ten-gigabitethernet1/0/3
[SwitchC-Vfc3] fc mode e
[SwitchC-Vfc3] port trunk vsan 1
[SwitchC-Vfc3] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchC] vsan 1
[SwitchC-vsan1] zone default-zone permit
[SwitchC-vsan1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchD] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchD] save
[SwitchD] quit
<SwitchD> reboot
# 开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启),并把交换机模式配置为FCF模式。
<SwitchD> system-view
[SwitchD] fcoe-mode fcf
[SwitchD] vsan 1
[SwitchD-vsan1] domain configure enable
# 配置域ID为14。
[SwitchD-vsan1] domain-id 14 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
#开启VLAN 10的FCoE功能、并将其与VSAN 1进行映射。
[SwitchD] vlan 10
[SwitchD-vlan10] fcoe enable vsan 1
[SwitchD-vlan10] quit
# 创建VFC 1接口并将其与物理端口Ten-GigabitEthernet1/0/1绑定;将VFC 1接口配置为F模式、并以Trunk方式加入VSAN 1。
[SwitchD] interface Vfc 1
[SwitchD-Vfc1] bind interface ten-gigabitethernet1/0/1
[SwitchD-Vfc1] fc mode f
[SwitchD-Vfc1] port trunk vsan 1
[SwitchD-Vfc1] quit
# 创建VFC 2接口并将其与物理端口Ten-GigabitEthernet1/0/2绑定;将VFC 2接口配置为E模式、并以Trunk方式加入VSAN 1。
[SwitchD] interface Vfc 2
[SwitchD-Vfc2] bind interface ten-gigabitethernet1/0/2
[SwitchD-Vfc2] fc mode e
[SwitchD-Vfc2] port trunk vsan 1
[SwitchD-Vfc2] quit
# 缺省情况下,服务器和磁盘设备属于默认Zone,为了实现两者互通,需要配置允许默认Zone内的成员互相访问。关于Zone的介绍,请参见“8 FC Zone”。
[SwitchD] vsan 1
[SwitchD-vsan1] zone default-zone permit
[SwitchD-vsan1] quit
在Switch A上进行验证。
# 显示VSAN 1内的域信息。
[SwitchA-vsan1] display fc domain vsan 1
Domain Information of VSAN 1:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1A:1A
Fabric name: 48:33:43:2d:46:43:1B:1B
Priority: 128
Domain ID: 11
Configuration information:
Domain configure: Enabled
Domain auto-reconfigure: Disabled
Fabric name: 48:33:43:2d:46:43:1A:1A
Priority: 128
Domain ID: 11 (preferred)
Principal switch running time information:
Priority: 1
Path Interface
Upstream Vfc1
Downstream Vfc2
从上述信息可以看出,Switch A的配置已经结束,主交换机为Switch A分配的域ID为11。
# 显示VSAN 1内的域列表。
[SwitchA-vsan1] display fc domain-list vsan 1
Domain list of VSAN 1:
Number of domains: 4
Domain ID WWN
0x01(5) 48:33:43:2d:46:43:1B:1B [Principal]
0x0b(11) 48:33:43:2d:46:43:1A:1A [Local]
0x0d(13) 48:33:43:2d:46:43:1C:1C
0x0e(14) 48:33:43:2d:46:43:1D:1D
从上述信息可以看出,Switch B成为主交换机,主交换机给自己随机分配了一个域ID 5。
在FC SAN中进行路由选择和报文转发要使用FCF交换机,FCF交换机根据所收到的报文的目的地址选择一条合适的路径,并将报文转发到下一台FCF交换机。路径中最后的FCF交换机负责将报文转发给目的节点。
FCF交换机通过路由表选择路由,把优选路由下发到FIB(Forwarding Information Base,转发信息库)表中,通过FIB表指导报文转发。
每台FCF交换机的每个VSAN都对应着一张路由表和一张FIB表。
路由表中保存了各种路由协议发现的路由,根据来源不同,分为以下几类:
· FSPF路由:FSPF(Fabric Shortest Path First,光纤最短路径优先)协议发现的路由。
通过命令display fc routing-table可以显示路由表的摘要信息,例如:
<Sysname> display fc routing-table vsan 1
Routing Table: VSAN 1
Destinations : 6 Routes : 6
Destination/mask Protocol Preference Cost Interface
0x020000/8 FSPF 20 265 Vfc1
0x120000/8 STATIC 10 0 Vfc2
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
......(省略部分显示信息)
· Destination:目的地址。用来标识FC报文的目的FC地址。
· mask:网络掩码。与目的地址一起来标识目的节点或FCF交换机所在域的地址。将目的地址和网络掩码“逻辑与”后可得到目的节点或FCF交换机所在域的地址。例如:目的地址为0x010001、掩码为0xff0000的节点或FCF交换机所在域的地址为0x010000。掩码由若干个连续“1”构成,既可以用十六进制表示,也可以用掩码中连续“1”的个数来表示。
· Protocol:协议类型。可以为DIRECT(直连路由)、STATIC(静态路由)、FSPF(FSPF路由)。
· Preference:路由优先级。对于相同的目的地,直连路由、静态路由、FSPF可能会发现不同的路由,但这些路由并不都是最优的。为了判断最优路由,直连路由、静态路由、FSPF都被赋予了一个优先级,具有最高优先级的路由协议发现的路由将成为当前路由。直连路由的优先级为0,静态路由的优先级为10,FSPF的优先级为20。数值越小表明优先级越高。
· Cost:路由的度量值。当到达同一目的地的多条路由具有相同的优先级时,路由的度量值越小的路由将成为当前的最优路由。直连路由的度量值为0;静态路由、FSPF路由的度量值可以配置。
· Interface:出接口。指明FC报文将从该FCF交换机哪个接口转发。
FIB表中每条转发项都指明了要到达某FCF交换机或某节点的报文应通过FCF交换机的哪个物理接口发送,就可到达该路径的下一台FCF交换机,或者目的节点。
通过命令display fc fib可以查看FIB表的信息,例如:
<Sysname> display fc fib vsan 1
FC FIB information in VSAN 1:
Destination count: 6
FIB entry count: 6
Destination/Mask Interface
0x020000/8 Vfc1
0x120000/8 Vfc2
0xfffc01/24 InLoop0
0xfffffa/24 InLoop0
0xfffffc/24 InLoop0
0xfffffd/24 InLoop0
FIB表中包含的Destination、Mask、Interface关键项的含义与路由表中对应关键项的含义相同。
直连路由的来源包括:知名地址、本机给直连的N_Port分配的FC地址。
· 对FCF交换机的访问通常使用知名地址,常见知名地址的用途介绍请参见“16.2 附录B Fabric知名地址”。所有知名地址均作为直连路由加入路由表中,路由的目的地址为知名地址,掩码为0xffffff,出接口为InLoop0。
· 在FCF交换机给直连的N_Port分配FC地址时添加该FC地址的直连路由到路由表中,路由的目的地址为分配的FC地址,掩码为0xffffff,出接口为连接N_Port的VFC接口。
静态路由是由管理员手工配置的。配置静态路由后,去往指定目的地的FC报文将按照管理员指定的路径进行转发。
在组网结构比较简单的网络中,只需配置静态路由就可以实现网络互通。恰当地设置和使用静态路由可以改善网络的性能,并可为重要的网络应用保证带宽。
静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。
静态路由支持等价路由,如果先后配置多条目的地址相同、出接口不同的静态路由且度量值相同,则生成等价路由。
FSPF是一个基于链路状态的动态路由选择协议,它可以自动计算Fabric网络中任意两台交换机之间的最短路径。
FSPF具有如下特点:
· 基于每个VSAN进行拓扑计算。
· 只在E模式端口运行,提供无环路的拓扑。
· 使用Dijkstra算法计算路由。
在介绍FSPF的工作机制之前,先介绍几个基本概念。
LSDB(Link State Database,链路状态数据库)是交换机保存全网拓扑信息的数据库。在LSDB中,以LSR(Link State Record,链路状态记录)的形式来存储各交换机的链路状态信息。
LSR完整地描述了一个交换机与其它直连交换机的所有链路状态信息。
交换机每次生成的LSR,都统称为交换机生成的LSR实例,所有交换机产生的LSR构成LSDB。
LSR中可以包含一个或多个链路的描述信息。LSR中的信息主要包括:
· LSR的生存时间。
· 通告此LSR的交换机域ID。
· LSR实例号:每刷新一次LSR,实例号加一。
· 链路ID:用来标识链路。链路ID中包含链路对端的邻居交换机的域ID。
· 链路上传输报文的开销。每一条链路会有不同的开销,接口开销越小说明链路越好。在路由优选算法中将使用这些值来确定最有效的路由。接口的开销值可以配置。
FSPF中用到如下协议报文:
· Hello报文:周期性发送,用来发现和维持FSPF邻居关系。
· LSU(Link State Update,链路状态更新)报文:用于向邻居交换机通告本机的链路状态信息,即每次报文交互时通过它来携带LSR的详细信息。
· LSA(Link State Acknowledgment,链路状态确认)报文:对接收到的LSR做确认回应。接收到LSU后,需要对其中的LSR以LSA报文进行确认,否则邻居将重传该LSR。
FSPF工作机制可简单描述如下:
· 交换机周期性向外发送Hello报文,与其它交换机建立邻居关系。
· 建立邻居关系之后,交换机之间开始进行LSDB的初始化同步,即交换彼此LSDB中的所有LSR。通过LSU报文来携带LSR,LSA报文来确认LSR的接收。
· LSDB初始化同步完成之后,每台交换机存储的LSDB中都包含了整个Fabric网络中各交换机的所有链路信息(即LSR)。
· 交换机依据存储在本地的LSDB,使用Dijkstra算法计算出到其它交换机的最短路径。据此,可以确定从源交换机到目的交换机的输出接口,生成FSPF路由表。
· 当网络拓扑改变、链路状态发生变化时,交换机会向整个Fabric网络泛洪新的LSR,进行LSDB更新同步。邻居交换机收到泛洪的LSR时,一方面加到自己的LSDB中,一方面将它泛洪给它的邻居,这样Fabric网络中所有的交换机都会同步更新此LSR。
· 本地的LSDB更新将产生路由计算,当计算完成,会将计算得到的最短路径树列表结果更新进FSPF路由表。
配置FC静态路由时,需要注意:
· FC静态路由允许配置的目的地址范围是010000~EFFFFF(十六进制),不允许配置目的地址为知名服务地址的路由。
· FC静态路由的出接口允许配置为VFC接口。
· 如果先后配置两条目的地址、掩码和出接口均相同而cost值不同的静态路由,最后保留在静态路由表内的静态路由的cost值将是后者。
· 每个VSAN中允许配置的静态路由条数为256。
表7-1 配置FC静态路由
进入VSAN视图 |
||
配置FC静态路由 |
fc route-static fcid { mask | mask-length } interface-type interface-number [ cost cost-value ] |
缺省情况下,不存在FC静态路由 |
FSPF功能缺省开启,用户一般不需要进行特别的配置。
在实际使用过程中,用户可以根据网络的实际情况,调整某个VSAN或者某个接口的FSPF运行参数,以便达到更好的运行效果。
表7-2 FSPF配置任务简介
调整某个VSAN的运行参数 (这些参数在VSAN视图下进行配置) |
开启FSPF功能 |
||
配置最短SPF计算间隔 |
|||
配置LSR最小接收间隔 |
|||
配置LSR最小刷新间隔 |
|||
(这些参数必须在E模式接口下进行配置) |
|||
配置接口的Hello时间间隔 |
|||
配置接口的Dead时间间隔 |
|||
配置接口的LSR重传间隔 |
|||
开启了指定VSAN的FSPF功能后,该VSAN才可以运行FSPF相关的功能。
进入VSAN视图 |
||
开启FSPF功能 |
缺省情况下,VSAN创建后,FSPF功能处于开启状态 |
当LSDB发生改变时,需要进行SPF计算。SPF计算需要耗费一定的CPU,如果网络频繁变化,且每次变化都立即进行SPF计算,将会占用大量的CPU。为了避免交换机过于频繁的进行路由计算而浪费CPU,用户可以配置最短的SPF计算间隔。
最短SPF计算间隔决定了指定VSAN内两次连续的SPF计算之间的最小时间间隔。最短SPF计算间隔配置的小,意味着FSPF对于Fabric的变化可以快速反应,重新计算VSAN内的路由。一个更小的SPF计算间隔会耗费更多的CPU。
表7-4 配置最短SPF计算间隔
进入VSAN视图 |
||
配置最短SPF计算间隔 |
缺省情况下,最短SPF计算间隔为0秒 |
LSR最小接收间隔决定了指定VSAN内接收LSR的间隔。为了避免过于频繁的从邻居接收到同一个LSR的新实例、更新本地LSDB而频繁触发路由计算。在LSR最小接收间隔时间内,如果又一次接收到了这个LSR的新实例,则直接丢弃,不做处理。
表7-5 配置LSR最小接收间隔
进入VSAN视图 |
||
配置LSR最小接收间隔 |
缺省情况下,LSR最小接收间隔为1秒 |
LSR最小刷新间隔决定了指定VSAN内LSR刷新间隔。为了避免本机LSR被频繁的刷新,从而降低路由计算的频率和减少Fabric中LSR的泛洪,在LSR最小刷新间隔内,交换机不能再次刷新本机LSR。
表7-6 配置LSR最小刷新间隔
进入VSAN视图 |
||
配置LSR最小刷新间隔 |
缺省情况下,LSR最小刷新间隔为5秒 |
网络中,每一条链路会有不同的开销,在路由优选算法中将使用开销值来确定最有效的路由,接口的FSPF开销越小说明链路的开销越小。
进入VFC接口视图 |
||
配置指定VSAN内接口的FSPF开销 |
缺省情况下,VFC接口的FSPF开销根据接口波特率计算得到,计算公式为(1.0e12/波特率) |
交换机通过周期性向外发送Hello报文,来发现和维护邻居关系。Hello间隔值决定了接口在指定VSAN内发送Hello报文的时间间隔。
配置的Hello间隔值必须小于Dead间隔值,且邻居双方配置的Hello间隔值必须一致。
进入VFC接口视图 |
||
配置指定VSAN内接口的Hello间隔值 |
缺省情况下,接口的Hello间隔值为20秒 |
两台交换机之间建立起邻居关系后,需要以Hello间隔值为周期向对方发送Hello报文来维护邻居关系。若在Dead间隔内仍未收到对方的Hello报文,则认为邻居不存在,需要删除该邻居。
配置的Dead间隔值必须大于Hello间隔值,且邻居双方配置的Dead间隔值必须一致。
进入VFC接口视图 |
||
配置指定VSAN内接口的Dead间隔值 |
缺省情况下,接口的Dead间隔值为80秒 |
LSDB的同步需要交互LSR。在发送LSR后,等待邻居回应报文确认,如果过了LSR重传间隔还没有接收到邻居的确认,那么需要再次发送该LSR。
表7-10 配置接口的LSR重传间隔
进入VFC接口视图 |
||
配置指定VSAN内接口的LSR重传间隔 |
缺省情况下,接口的LSR重传间隔为5秒 |
开启接口的FSPF功能后,接口才可以参与FSPF路由运算,如果某接口不参与FSPF路由运算,则需关闭该接口的FSPF功能。
进入VFC接口视图 |
||
关闭指定VSAN内接口的FSPF功能 |
缺省情况下,所有接口的FSPF功能均处于开启状态 |
GR(Graceful Restart,平滑重启)是一种通过备份FSPF配置信息,在协议重启(比如通过process命令重启FSPF进程等情况)或主备倒换时FSPF进行平滑重启,从邻居那里获得邻居关系,并对LSDB进行同步,从而保证转发业务不中断的机制。
GR有两个角色:
· GR Restarter:发生协议重启或主备倒换事件且具有GR能力的设备。
· GR Helper:和GR Restarter具有邻居关系,协助完成GR流程的设备。
在作为GR Restarter的设备上进行如下配置:
开启FSPF的GR能力 |
缺省情况下,FSPF的GR能力处于关闭状态 |
|
配置FSPF的GR最大间隔时间 |
缺省情况下,FSPF的GR最大间隔时间为120秒 |
在作为GR Helper的设备上进行如下配置:
开启FSPF的GR Helper能力 |
缺省情况下,FSPF的GR Helper能力处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC路由与转发的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除FSPF统计信息。
表7-14 FC路由与转发显示和维护
显示FC路由表信息 |
display fc routing-table [ vsan vsan-id ] [ statistics | verbose ] display fc routing-table vsan vsan-id fc-id [ mask | mask-length ] [ verbose ] |
显示FC FIB表项信息 |
|
显示FC Exchange表项信息(独立运行模式) |
display fc exchange { link | protocol } [ slot slot-number ] display fc exchange link verbose [ slot slot-number [ exid exid ] ] |
显示FC Exchange表项信息(IRF模式) |
display fc exchange { link | protocol } [ chassis chassis-number slot slot-number ] display fc exchange link verbose [ chassis chassis-number slot slot-number [ exid exid ] ] |
显示FSPF邻居信息 |
|
显示FSPF链路状态数据库信息 |
|
显示FSPF GR状态信息 |
|
显示FSPF统计信息 |
|
清除FSPF统计信息 |
网络由三台FCF交换机Switch A、Switch B和Switch C组成。
要求:配置静态路由,使任意两台FCF交换机之间都能互通。
图7-1 配置FC静态路由组网图
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA-vsan1] domain configure enable
# 配置Switch A的域ID为1。
[SwitchA-vsan1] domain-id 1 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchA-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置两条静态路由。
[SwitchA-vsan1] fc route-static 020000 8 vfc 1
[SwitchA-vsan1] fc route-static 030000 8 vfc 1
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB-vsan1] domain configure enable
# 配置Switch B的域ID为2。
[SwitchB-vsan1] domain-id 2 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchB-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/1] quit
# 创建VFC接口VFC2,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC2接口。
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置两条静态路由。
[SwitchB-vsan1] fc route-static 010000 8 vfc 1
[SwitchB-vsan1] fc route-static 030000 8 vfc 2
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchC] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC-vsan1] domain configure enable
# 配置Switch C的域ID为3。
[SwitchC-vsan1] domain-id 3 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchC-vsan1] quit
# 创建VFC接口VFC2,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC2接口。
[SwitchC-Vfc2] fc mode e
[SwitchC-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchC-Vfc2] port trunk vsan 1
[SwitchC-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[SwitchC] interface ten-gigabitethernet 1/0/2
[SwitchC-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchC-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[SwitchC-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
# 在Switch C上配置两条静态路由。
[SwitchC-vsan1] fc route-static 010000 8 vfc 2
[SwitchC-vsan1] fc route-static 020000 8 vfc 2
# 显示Switch A的VSAN 1的FC路由表。
[SwitchA-vsan1] display fc routing-table vsan 1
Routing Table: VSAN 1
Destinations : 6 Routes : 6
Destination/mask Protocol Preference Cost Interface
0x020000/8 STATIC 10 0 Vfc1
0x030000/8 STATIC 10 0 Vfc1
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
# 显示Switch B的VSAN 1的FC路由表。
[SwitchB-vsan1] display fc routing-table vsan 1
Routing Table: VSAN 1
Destinations : 6 Routes : 6
Destination/mask Protocol Preference Cost Interface
0x010000/8 STATIC 10 0 Vfc1
0x030000/8 STATIC 10 0 Vfc2
0xfffc02/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
# 显示Switch C的VSAN 1的FC路由表。
[SwitchC-vsan1] display fc routing-table vsan 1
Routing Table: VSAN 1
Destinations : 6 Routes : 6
Destination/mask Protocol Preference Cost Interface
0x010000/8 STATIC 10 0 Vfc2
0x020000/8 STATIC 10 0 Vfc2
0xfffc03/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
# 在Switch A上使用fcping命令验证Switch C是否可达。
[SwitchA-vsan1] fcping fcid fffc03 vsan 1
FCPING fcid 0xfffc03: 128 data bytes, press CTRL_C to break
Reply from 0xfffc03: bytes = 128 time = 23 ms
Reply from 0xfffc03: bytes = 128 time = 9 ms
Reply from 0xfffc03: bytes = 128 time = 19 ms
Reply from 0xfffc03: bytes = 128 time = 14 ms
Reply from 0xfffc03: bytes = 128 time = 25 ms
--- 0xfffc03 fcping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 9/18/25 ms
网络由两台FCF交换机组成,要求通过动态路由协议FSPF,使两台FCF交换机之间可以互通。
图7-2 配置FSPF组网图
本例中只列出FC路由的相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
[SwitchA] fcoe-mode fcf
# 创建VSAN 2并开启VSAN 2的Fabric配置功能。
[SwitchA-vsan2] domain configure enable
# 配置域ID为1。
[SwitchA-vsan2] domain-id 1 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启FSPF功能。
[SwitchA-vsan2] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 2,即允许VSAN 1的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 2
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 2进行映射。
[SwitchA-vlan10] fcoe enable vsan 2
[SwitchA-vlan10] quit
# 开启VFC1接口的FSPF功能。
[SwitchA-Vfc1] undo fspf silent vsan 2
[SwitchA-Vfc1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
[SwitchB] fcoe-mode fcf
# 创建VSAN 2并开启VSAN 2的Fabric配置功能。
[SwitchB-vsan2] domain configure enable
# 配置域ID为2。
[SwitchB-vsan2] domain-id 2 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启FSPF功能。
[SwitchB-vsan2] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 2,即允许VSAN 1的报文通过VFC1接口。
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchB-Vfc1] port trunk vsan 2
[SwitchB-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 2进行映射。
[SwitchB-vlan10] fcoe enable vsan 2
[SwitchB-vlan10] quit
# 开启VFC1接口的FSPF功能。
[SwitchB-Vfc1] undo fspf silent vsan 2
[SwitchB-Vfc1] quit
# 显示Switch A的FSPF邻居信息。
[SwitchA] display fspf neighbor
FSPF neighbor information of VSAN 2(01):
Interface NbrDomain IfIndex NbrIfIndex Dead Time State
Vfc1 2 0x68 0x68 00:01:06 Full
# 显示Switch A路由表相关信息。
[SwitchA] display fc routing-table vsan 2
Routing Table: VSAN 2
Destinations : 5 Routes : 5
Destination/mask Protocol Preference Cost Interface
0x020000/8 FSPF 20 100 Vfc1
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
# 在Switch A上执行FC Ping,验证能否到达交换机Switch B。
[SwitchA] fcping fcid fffc02 vsan 2
FCPING fcid 0xfffc02: 128 data bytes, press CTRL_C to break.
Reply from 0xfffc02: bytes = 128 time = 1.102 ms
Reply from 0xfffc02: bytes = 128 time = 0.276 ms
Reply from 0xfffc02: bytes = 128 time = 0.253 ms
Reply from 0xfffc02: bytes = 128 time = 0.270 ms
Reply from 0xfffc02: bytes = 128 time = 0.247 ms
--- 0xfffc02 fcping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0.247/0.430/1.102 ms
VSAN的划分实现了将一个物理连通的SAN分割成多个逻辑上的虚拟SAN。每个VSAN相互隔离,并独立提供服务,增强了网络的适应性和安全性,使其能够为用户提供更有效的服务。但仅通过VSAN却不能对接入Fabric的服务器及磁盘设备(即N_Port)进行访问控制,它们发送的报文不会带有VSAN信息,所以其所属的VSAN只能由与其连接的FCF交换机的端口(F_Port)所在的VSAN决定,如果F_Port所在VSAN相同,表明对应N_Port属于同一个VSAN。相同VSAN内的N_Port,只要注册了名称服务就可以相互访问,这样给数据安全带来隐患,尤其是在不同的操作系统环境下,很容易对磁盘数据造成破坏。
Zone特性则可以有效解决上述问题,其原理是:在VSAN内进一步划分区域(Zone),在Zone内根据不同的目的添加不同的N_Port成员或F_Port成员。使不同Zone内的N_Port成员之间相互隔离,以达到访问控制的目的。
将一个F_Port添加到某个Zone内的效果是将该F_Port下登录的所有N_Port批量加入该Zone内,方便配置。
Zone分为两种模式:基本Zone模式和增强Zone模式。两者主要的区别是:
· 基本Zone不负责同步默认Zone策略和硬件Zone配置,需要用户通过手工配置的方式保证全网默认Zone策略和硬件Zone配置一致;增强Zone会在扩散过程中携带默认Zone策略和硬件Zone配置,通过数据同步的方式保证全网默认Zone策略和硬件Zone配置一致。
· 在Zone数据合并或扩散时,当一个Zone同时属于多个Zone set时,在同步报文中,基本Zone需要为每个Zone set都生成一个Zone实例,而增强Zone的Zone set引用已定义的Zone,从而大幅减少了数据同步时报文的负载。
· 基本Zone中无合并控制特性,合并规则较为简单;增强Zone有合并控制特性,通过对合并控制的配置加强了对Zone数据合并的管理,合并规则更加严格。
为了控制N_Port之间的访问权限,可以将N_Port按照应用的需要划分到不同的Zone中,这些Zone形成一个集合Zone set。同样的N_Port集合,如果划分Zone的策略不同,将会形成多个Zone set。这些按照不同策略划分出来的各个Zone以及Zone set组成了Zone数据库。
Zone数据库是按照Zone set、Zone、Zone member三级基本对象进行组织的,如图8-1所示。
图8-1 Zone数据库结构
· Zone set是Zone的集合;Zone是Zone member的集合;Zone member是Zone的成员,每个成员都是一个N_Port或F_Port,称为N_Port成员或F_Port成员。N_Port成员可以通过PWWN(即N_Port的WWN)、FC地址进行标识,F_Port成员可以通过FWWN(即F_Port的WWN)进行标识。
· 每个VSAN内可以配置多个Zone set,每个Zone set内可以包含多个Zone,每个Zone内可以包含多个Zone member。
· 为了配置方便,Zone成员配置还支持使用Zone别名,即Zone alias。Zone别名为N_Port的集合,可以将其作为一个整体使用。如果多个Zone内包含很多相同的公共Zone member,可以将这些公共Zone member先加入到同一个Zone别名中,再通过在不同的Zone中引用该Zone别名,达到简化配置的目的。
虽然每个VSAN内可以配置多个Zone set,但只有一个可以生效,称为Active Zone set。最终N_Port成员的访问控制都由Active Zone set决定。
为了让网络中的各交换机对N_Port的访问控制有一致的行为,需要通过命令在本地交换机上指定Active Zone set,并向整个Fabric进行同步,使其在全网范围内保持一致。
当一个Zone set被激活时,实际上是将激活时刻的Zone set生成一个独立的副本,该副本即是Active Zone set。当再对该Zone set进行修改时,不会对生成的副本造成影响。只有再次激活时,才会将修改的内容更新到副本中。图8-2描述了对Zone set zs2进行激活配置,并修改其配置后重新激活的数据库变化流程。
需要注意的是,在基本Zone中,激活指定的Zone set时,系统会对Zone set激活后将要发送的封装报文的大小进行判断,如果超过最大规格,则激活失败,并打印相应的提示信息,但在增强Zone中激活Zone set不受此限制。
图8-2 Active Zone set与Zone数据库关系图
Active Zone set中通过包含Zone,将Zone中的N_Port纳入了Active Zone set的范围。对于不在Active Zone set范围内,且已经注册的N_Port则自动属于默认Zone。
如果配置了允许默认Zone内的成员互相访问,可以将默认Zone也当做Active Zone set内的一个Zone,参与N_Port成员之间的访问控制;否则,默认Zone不在Active Zone set内,不参加N_Port成员之间的访问控制。
基本Zone不负责默认Zone策略在Fabric中的同步,需要用户通过手工配置保证Fabric中的默认Zone策略一致;而增强Zone会在扩散过程中携带默认Zone策略,使得Fabric中默认Zone策略的一致性得到更好的保障。
Zone类型分为普通Zone类型和Peer Zone类型。本文中未明确为Peer Zone时,均表示普通Zone。
Peer Zone是增强Zone中一种Zone控制类型,用户可以在Target设备(访问目的端,一般为存储设备)上定义Peer Zone,包括Peer Zone名称、主成员(Principal member)和副成员(Peer members)。Target设备通过向交换机发送相关报文,使交换机创建用户定制的Peer Zone。每一个Peer Zone内可以定义一个主成员和多个副成员,成员之间互通规则如下:
· 主成员可以和其他所有副成员通信。
· 副成员之间不可以互相通信,除非在其他Zone内被允许通信。
Zone的Pairwise特性仅支持在增强Zone模式下配置,基本Zone模式不支持此特性。
在实际应用中,通常将访问发起端(一般是服务器)以及需要访问的目的端(一般是存储设备)划分到同一个Zone中,然后加入一个Zone set中并激活该Zone set。只要是属于Active Zone set中同一个Zone的成员,它们就可以互相访问。Zone功能在实现时,为所有划分到同一个Zone中的成员都生成了两两间的硬件访问规则。但在实际的操作中,一般是由服务器访问存储设备,而服务器与服务器之间、存储设备与存储设备之间并不需要互相访问。当同一个Zone中包含多个服务器或存储设备时,这种生成规则的方式就会产生硬件资源的浪费。Pairwise特性可以很好地解决这个问题。
Pairwise特性的原理是:为Zone中的成员指明角色,以限定成员的访问行为。成员角色分为两类:
· Initiator:访问发起端,一般为服务器。
· Target:访问目的端,一般为存储设备。
当某成员是Initiator角色时,它只能与具有Target角色的成员互相访问;当某成员是Target角色时,它只能与具有Initiator角色的成员互相访问。成员可以兼具两种角色,即同时具有Initiator和Target角色,兼具两种角色的成员既可以访问角色为Initiator的发起端,也可以访问角色为Target的目的端,如果未指明成员的角色,则默认同时兼具两种角色。
Pairwise特性是以Zone为单位进行配置的。当Pairwise特性关闭时,成员角色信息不生效;当开启某个Zone的Pairwise特性时,该Zone的成员携带的角色信息仅在当前Zone生效,对于其它Zone而言,成员可能拥有不同的角色信息。
扩散是由一台交换机将自己的Zone数据向全网同步的过程。发起扩散的交换机称作管理交换机,网络内的其它所有交换机称作被管理交换机。
对于基本Zone而言,会涉及到扩散的数据只有Active Zone set和Zone数据库两部分,具体扩散哪些部分,取决于扩散类型。
基本Zone的扩散类型分为两种:
· 完全扩散:会将Active Zone set以及Zone数据库都进行扩散。
· 非完全扩散:仅将Active Zone set进行扩散。
基本Zone中有两种途径可以激发扩散过程:
· 一种是通过激活命令zoneset activate将一个Zone set激活成Active Zone set,此Active Zone set在本地生效的同时还将被同步到其它交换机;但若该Zone set在激活时,因超规格导致激活失败,则不会发生激活扩散。
· 另一种是通过扩散命令zoneset distribute,直接将本交换机上的Active Zone set以及Zone数据库向全网同步。
通过激活命令激发的扩散将根据扩散类型决定是否携带Zone数据库,通过扩散命令激发的扩散不受扩散类型的约束,为完全扩散。
被管理交换机使用收到的数据替换本地的Active Zone set或Zone数据库。替换的内容以接收到的数据为准,不受本交换机上扩散类型的影响。例如,接收到的数据为Active Zone set和Zone数据库,则替换本地的Active Zone set和Zone数据库,不管本地配置的扩散类型是否为完全同步。如果接收到的数据只有Zone数据库,则替换之后,本地交换机将只有Zone数据库,不管之前本地是否存在Active Zone set。
管理交换机和每台被管理交换机之间都经过下列四类报文的交互,来完成报文传输与数据同步:
· ACA(Acquire Change Authorization,获取修改授权)
· SFC(Stage Fabric Configuration Update,进行Fabric配置更新)
· UFC(Update Fabric Configuration,更新Fabric配置)
· RCA(Release Change Authorization,释放修改授权)
这四类报文的作用分别相当于加锁、数据同步、提交和解锁的过程,可以保证不同的用户在不同交换机上同时输入命令触发数据扩散时,只有一台交换机作为管理交换机进行数据扩散。数据扩散过程如图8-3所示。
(1) 首先,管理交换机要通过ACA请求报文,获取各被管理交换机的状态,该报文带有管理交换机所知道的全网的Domain ID列表,即Fabric中所有交换机的地址。管理交换机向各被管理交换机发送ACA请求报文后进入锁定状态。各被管理交换机收到ACA请求报文后,将报文中的Domain ID列表与本地所知道的Domain ID列表进行比较。如果列表一致,表示Fabric处于稳定状态[1]。这时可以进行同步并回应ACC(确认)报文,同时进入修改授权状态,即进行锁定。否则,如果交换机已经处于修改授权状态,或由于其它原因导致不能处理该报文,则回应RJT(拒绝)报文。
(2) 管理交换机只有等到所有被管理交换机都回应ACC报文后,才开始通过发送SFC请求报文进行数据同步。否则发送RCA请求报文,使各交换机解除修改授权状态[2]。
(3) 管理交换机向所有被管理交换机发送SFC请求报文,报文携带了要同步的数据,包括Active Zone set、Zone数据库内容。各个被管理交换机收到SFC请求报文后,如果发现携带有Zone数据库内容,则计算本地Zone数据库被替换后整机Zone set、Zone、Zone别名的总数是否超过各自的规格限制,如果没有超过规格限制则回应ACC报文,否则回应RJT报文。
(4) 管理交换机只有等到所有被管理交换机都回应ACC报文后,才向所有被管理交换机发送UFC请求报文,通知其根据收到的数据更新各自的本地数据。否则发送RCA请求报文,使各交换机解除修改授权状态。
(5) 各个被管理交换机收到UFC请求报文后,开始更新本地的Zone set数据库,如果更新成功回应ACC报文,否则回应RJT报文。
(6) 管理交换机在收到所有交换机的响应后,发送RCA请求报文,使各交换机解除修改授权状态。
(7) 各个被管理交换机收到RCA请求报文后,解除本机的修改授权状态,并回应ACC报文。
(8) 管理交换机收到所有被管理交换机的ACC报文后解除本机的锁定状态。
· [1]:这实际上要求全网的路由信息一定要正确且保持一致,并且不能有多余的不可达路由。尤其是使用静态路由配置时要特别注意这一点,否则,不能正确进行数据扩散。
· [2]:为防止由于被管理交换机状态异常而不回应ACC报文也不回应RJT报文,从而造成管理交换机锁定状态无法解除的情况,管理交换机上启用报文重传机制,在发送扩散请求报文时,最多发送3次。如果一直收不到回应,将解除本机的锁定状态。而管理交换机如果在发送ACA请求后出现异常,导致被管理交换机已经处于锁定状态但接收不到后续的报文,被管理交换机在等待一段时间后解除锁定状态。
增强Zone的扩散与基本Zone的扩散机制基本相同,但有如下几点不同:
· 参与扩散的数据不同:增强Zone扩散的数据除了Active Zone set和Zone数据库,还包括Zone策略和硬件Zone开启情况。Zone策略包括合并控制模式和默认Zone策略。关于合并控制模式的介绍请参见“8.1.8 增强Zone的合并”。
· 扩散类型不同:增强Zone不再受扩散类型的影响,始终会进行完全扩散,也不支持zoneset distribute full命令的配置。
增强Zone中激发扩散过程的途径和基本Zone激发扩散过程的途径相同,只是激活命令zoneset activate激发的扩散始终为完全扩散。具体激发扩散的途径介绍请参见“8.1.5 2. 基本Zone激发扩散的途径”。
除了基本Zone和增强Zone模式下激发扩散的途径外,Zone模式的切换也会引发Zone数据的扩散,无论是基本Zone切换到增强Zone,还是增强Zone切换到基本Zone。Zone模式切换引发的扩散所携带的数据和增强Zone模式下的扩散类似,除了Active Zone set和Zone数据库,还包括Zone策略和硬件Zone开启情况。
无论是增强Zone模式下的扩散还是Zone模式切换引发的扩散,扩散报文始终都会携带Zone策略,无论是否有Active Zone set或Zone数据库。硬件Zone开启情况有些特殊,在增强Zone模式下的扩散中,扩散报文始终都会携带硬件Zone开启情况,Zone模式切换时则要区别切换方式对待,如果是由基本Zone模式切换到增强Zone模式,则携带硬件Zone开启情况,如果是由增强Zone模式切换到基本Zone模式,则不携带硬件Zone开启情况。
当两个Fabric合并到一起时,可能每个Fabric内部都存在Zone数据,这时要将Zone相关配置数据进行合并。基本Zone合并的Zone数据包括Active Zone set和Zone数据库。
基本Zone合并时受合并类型的影响,合并类型分为两种:
· 完全合并:会将Active Zone set以及Zone数据库都进行合并。
· 非完全合并:仅将Active Zone set进行合并。
由发起合并的交换机,检查本地配置的数据合并类型,如果为非完全合并,发送的报文就只携带Active Zone set,如果为完全合并,则同时携带Active Zone set和整个Zone数据库。
· Zone合并发起方根据当前本地配置的数据合并类型决定合并的数据内容,合并接收方对接收到的所有数据进行合并处理而不受本地数据合并类型限制。
· Zone成员可以通过FC地址进行区分,但是当Fabric合并时,FC地址有可能发生变化,最终合并出的结果可能并不是用户期望的,所以应该尽量使用端口PWWN作为成员标识。
当交换机发现新增的邻居(由链路模块负责发现邻居并通知给Zone模块)时,就开始与该邻居进行合并过程,如果合并后的数据发生了变化,就将变化后的数据发送给所有邻居交换机进行再次Zone合并,直到全网所有交换机的数据都得到更新。
合并过程中,先使用MRRA(Merge Request Resource Allocation,合并请求资源分配)报文协商传输数据的规模,之后再使用MR(Merge Request,合并请求)报文携带需要合并的数据发送到邻居节点。
图8-4 两台交换机Zone合并过程图
(1) A和B互为新邻居,且假设首先由A向B发起合并:
a. A向B发送MRRA请求报文,该报文中携带着本地需要合并的数据的规模;
b. B接收到A发送的MRRA请求报文后,根据报文中的数据规模并结合本地数据规模判断是否能够接受此次合并,如果能接受,则回应ACC报文,否则回应RJT报文;
c. A收到B回复的ACC报文后,向B发送MR请求报文,该报文中携带了A的Zone数据;
d. B收到A发送的MR请求报文后,获取报文中的Zone数据并与本地的Zone数据进行合并。合并成功向A回应ACC报文,否则回应RJT报文并携带合并失败的原因。
(2) A向B发起的合并过程完成之后,如果B发现本地数据与从A同步过来的数据完全一致,或者本地数据是从A同步过来的数据的子集,则结束A和B之间的合并过程,否则,B将继续发起向A的合并。由B向A发起的合并过程与由A向B发起的合并过程类似,如图中5、6、7、8所示。
(3) A向B发起的合并过程完成之后,如果B发现本地数据库因为合并发生了变化,将会试图将这种变化同步到整个网络,这种同步是通过B向自己的所有邻居发起合并过程完成的。
(4) A和B之间,至多经过两个单向的合并过程即可保证两台交换机之间数据的一致性。
合并过程可以保证相互合并的交换机间Active Zone set的一致性,但是数据库是否一致则决定于各台交换机上配置的同步类型是否均为完全同步。当各台交换机上均配置了完全同步,经过合并,可以让多台交换机上的Zone数据库达到一致。
表8-1 基本Zone数据合并规则
Zone数据库包含同名的Zone set但其中的Zone名称不同 |
|||
Zone数据库包含不同名的Zone set |
|||
Zone数据库包含不同名的Zone或Zone别名 |
本地数据库与邻居数据库的并集,不同名Zone或Zone别名均存在 |
||
Active Zone set 或Zone数据库中同名Zone的Pairwise特性开启情况不一致 |
|||
Zone数据库包含同名的Zone或Zone别名,但其中的成员不同 |
|||
Active Zone set中同名的Zone的成员相同,但成员角色不同,或Zone数据库中同名的Zone或Zone别名的成员相同,但成员角色不同 |
|||
· 若发生合并的两台交换机上配置的Active Zone set名字不同,则通过字符串比较的方式得到Active Zone set名字较大的一个作为合并之后的Active Zone set名字。
· 按照表8-1中的规则合并后,如果Active Zone set合并失败,则会将发生合并的两台交换机之间的链路隔离(端口在该VSAN内处于down状态),合并双方的数据库不发生改变;如果Zone数据库合并失败,则不会隔离发生合并的两台交换机之间的链路,仅仅是合并双方的数据库不发生改变。
增强Zone的合并触发条件和合并过程与基本Zone一致,但有如下几点不同:
· 合并类型不同:增强Zone不再受合并类型的影响,始终会进行完全合并。
· 报文携带的数据不同:增强Zone的MR报文中除了携带Active Zone set和Zone数据库,还携带了硬件Zone开启情况和一个合并标志字段。合并标志字段中的合并控制模式和默认Zone策略参数是能否进行合并的重要条件。
· 合并规则不同:相比基本Zone的合并,增强Zone对数据合并的管理更加严格。
增强Zone的合并规则如下:
(1) 如果合并控制模式和默认Zone策略有一个与本地不一致,则合并失败。
(2) 如果合并控制模式和默认Zone策略与本地全部一致,且合并控制模式为Restrict,则检查报文中携带的数据和本地数据是否完全一致,如果完全一致,则合并成功,两端数据库不发生变化。如果有任何数据不一致,则合并失败。
(3) 如果合并控制模式和默认Zone策略与本地全部一致,且合并控制模式为Allow,则按如下原则处理:
· 如果Active Zone set中包含同名的Zone但Zone内成员不同,则合并失败;
· 如果Zone数据库中包含同名的Zone set、Zone或Zone alias,但其成员不同,则合并失败;
· 如果Zone数据中有同名的端口但是端口的成员角色不同,则合并失败;
· 如果Zone数据中有同名的Zone,但该Zone的Pairwise特性开启情况不同,则合并失败;
· 如果Zone数据中携带的硬件Zone开启情况不同,则合并失败;
· 如果Active Zone set包含不同名的Zone,同时不违反上述其它条件时,则合并成功,Active Zone set取两端数据的并集;
· 如果Zone数据库中包含不同名的Zone set、Zone或Zone alias,同时不违反上述其它条件时,则合并成功,Zone数据库取两端数据的并集。
不同于基本Zone,增强Zone在所有合并失败的情况都会隔离两台交换机之间的链路,且两端Zone数据不发生改变。
当用户所在服务器需要使用名称服务访问磁盘时,需要确认该服务器与要访问的磁盘是否同时属于Active Zone set内的某个Zone的N_Port成员。只有属于同一个Zone的成员才允许互相访问,否则不允许互相访问。
表8-2 FC Zone配置任务简介
配置Zone模式 |
||
配置Zone的Pairwise特性 |
只允许在增强Zone模式下配置 |
|
配置Zone别名 |
||
配置默认Zone策略 |
||
配置Zone扩散和合并类型 |
只允许在基本Zone模式下配置 |
|
配置Zone的合并控制模式 |
只允许在增强Zone模式下配置 |
|
激活Zone set并发起向全网的扩散过程 |
||
重命名Zone别名、Zone、Zone set |
||
复制Zone别名、Zone、Zone set |
||
清除Zone数据库 |
||
开启FC Zone告警功能 |
· 在交换机进行扩散或合并的过程中,用户无法修改Zone的配置。
· 一个Fabric网络中同时只能有一个管理交换机正在发起扩散,只有当一次扩散完成后才能发起下一次扩散。
Zone有两种工作模式:基本Zone模式和增强Zone模式。缺省工作在基本Zone模式。当进行Zone模式切换时,将进行Fabric内的扩散操作,以保证Fabric内的所有交换机的Zone模式的一致性。因此从基本Zone模式切换为增强Zone模式时,需要满足以下限制:
· Fabric中的所有交换机都支持增强Zone模式。
· Fabric中不能存在无效的静态路由。因为交换机配置增强Zone模式后,会检查ESS协商结果。ESS协商是根据交换机上的路由表进行的,存在无效静态路由的交换机依然会与目的交换机进行ESS协商,协商结果默认目的交换机不支持增强Zone模式。
进行Zone模式切换时,系统将打印提示信息,提醒用户Zone模式切换将引发Zone数据扩散,是否要切换模式。如果用户输入No,则直接返回,不做任何操作;如果用户输入Yes,则将本地交换机切换模式,并生成相应配置。完成本地模式切换和配置之后,将向Fabric内所有交换机发起扩散。如果扩散失败,系统将打印日志信息,告知用户扩散失败,但Zone模式切换后生成的本地配置不再回退。此时需要用户主动激发一次完全扩散,以保证Fabric内所有交换机的Zone模式的一致性。
当从增强Zone模式切换为基本Zone模式时,若存在激活Zone set,且激活Zone set大小超过了基本Zone模式下激活Zone set的最大规格,则切换失败,本交换机的Zone模式不变。
进入VSAN视图 |
||
配置当前VSAN工作在增强Zone模式 |
缺省情况下,当前VSAN工作在基本Zone模式 |
|
配置当前VSAN工作在基本Zone模式 |
在Zone中开启Pairwise特性后,该Zone内节点间的访问会受到成员角色的影响,即同一Zone内具有不同角色的成员可以互相访问,角色相同的成员间不允许互相访问,兼具两种角色的成员可以和任意角色的成员互相访问。
在Zone中关闭Pairwise特性后,该Zone内节点间的访问不会受到成员角色的影响,即同一Zone内的所有成员之间都可以互相访问。
只允许在增强Zone模式下配置
表8-4 配置Zone的Pairwise特性
进入VSAN视图 |
||
进入Zone视图 |
||
开启Zone的Pairwise特性 |
缺省情况下,Zone的Pairwise特性处于关闭状态 |
|
关闭Zone的Pairwise特性 |
Zone别名中的成员可以通过FC地址、PWWN或FWWN的方式配置,其中:FWWN为交换机上F端口的WWN,代表通过该F端口Login网络的所有N_Port;而通过FC地址和PWWN方式所配置的N_Port成员可以不是本机直连的N_Port,允许任意配置。
用户在配置成员时,可以指定成员的角色(Initiator/Target),成员角色仅支持在增强Zone模式下配置,并且在开启Pairwise特性时才生效。
进入VSAN视图 |
||
创建Zone别名,并进入其视图 |
缺省情况下,不存在Zone别名 |
|
在Zone别名内添加成员 |
member { fcid fcid | fwwn fwwn | pwwn pwwn } [ initiator | target ] |
缺省情况下,新建的Zone别名内不存在成员 |
Zone中的成员可以通过FC地址、PWWN、FWWN或Zone别名的方式配置,其中:FWWN为交换机上F端口的WWN,代表通过该F端口Login网络的所有N_Port;Zone别名则代表其下配置的一组N_Port成员。而无论以何种方式配置的N_Port成员,都可以不是本机直连的N_Port,允许任意配置。一个成员可以同时属于多个Zone。
用户在配置成员时,可以指定成员的角色(Initiator/Target),成员角色仅支持在增强Zone模式下配置,并且在开启Pairwise特性时才生效。
进入VSAN视图 |
||
创建Zone,并进入其视图 |
缺省情况下,不存在Zone |
|
在Zone内添加成员 |
member { { fcid fcid | fwwn fwwn | pwwn pwwn } [ initiator | target ] | zone-alias zone-alias-name } |
缺省情况下,新建的Zone内不存在成员 |
Peer Zone可以通过Smart SAN协议报文自动创建或通过命令行配置将普通Zone转换为Peer Zone。
当需要将一个普通Zone转换为Peer Zone,可以通过表8-7所示方式进行配置。
将普通Zone转换为Peer Zone之前,需要先开启Smart SAN功能并指定其应用类型为FC/FCoE类型,否则将配置失败。
已开启Pairwise特性的Zone不能通过本功能切换为Peer Zone。
表8-7 将普通Zone转换为Peer Zone
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VSAN视图 |
vsan vsan-id |
- |
进入Zone视图 |
zone name zone-name |
缺省情况下,用户创建的Zone为普通Zone |
将普通Zone转换为Peer Zone,并为其指定主成员 |
zone-type peer-zone principal-member wwn |
被指定的主成员必须为节点设备上端口 执行本命令后会自动将主成员的成员角色指定为目的端 使用本命令行修改Zone类型时,会同时删除该Zone下已有的配置 |
进入VSAN视图 |
||
创建Zone set,并进入其视图 |
||
在Zone set内添加Zone |
缺省情况下,新建的Zone set内不存在Zone |
在增强Zone模式下,需要通过激活Zone set或扩散命令显式地触发扩散,使默认Zone策略随同其它数据一同向全网扩散。但是在基本Zone模式下,必须手动配置全网默认Zone策略一致。
在Zone模式切换时,无论是基本Zone向增强Zone切换,还是增强Zone向基本Zone扩散,默认Zone策略也会随同其它数据一同向全网扩散。
进入VSAN视图 |
||
配置允许默认Zone内的成员互相访问 |
缺省情况下,默认Zone内的成员禁止互相访问 |
|
配置禁止默认Zone内的成员互相访问 |
完全扩散和完全合并会将Active Zone Set以及数据库都进行扩散和合并;非完全扩散和非完全合并仅将Active Zone Set进行扩散和合并。
· 本功能只允许在基本Zone模式下配置。在增强Zone模式下,扩散和合并类型固定为完全扩散和完全合并,因此不支持本配置。
· 基本Zone模式下,扩散类型仅会对使用zoneset activate命令激发的扩散过程产生影响,对使用zoneset distrbute命令激发的扩散不会产生影响。
· 基本Zone模式下,合并类型会对所有合并过程产生影响。
表8-10 配置Zone扩散和合并类型
进入VSAN视图 |
||
合并控制模式分为两种:Restrict和Allow。在增强Zone模式下,当VSAN内的两台交换机发生合并时,合并操作的结果受其所配置的合并控制模式的影响。并且,只有当发生合并的交换机具有相同的合并控制模式时才允许进行合并,否则合并失败,链路将被隔离。
需要注意的是,本功能仅支持在增强Zone模式下配置,该配置需要通过激活Zone set或扩散命令显式地触发扩散,保证全网一致性。
表8-11 配置Zone的合并控制模式
进入VSAN视图 |
||
配置合并控制模式为Restrict |
缺省情况下,合并控制模式为Allow |
|
配置合并控制模式为Allow |
交换机通过两种方式实现Zone访问控制:软件Zone和硬件Zone。
· 软件Zone是指当注册后的节点通过通用服务报文查询当前Fabric中存在哪些节点时,交换机将根据Zone规则进行过滤,只返回符合Zone规则的查询结果。由于软件Zone只是一种针对节点接入时的控制手段,仅能限制节点向交换机进行查询的结果,不能直接控制底层流量。当节点直接针对应该被Zone规则过滤掉的节点进行流量攻击时,软件Zone无法对其进行访问控制。
· 硬件Zone是将Zone配置转化为底层驱动规则并下发到硬件,形成硬件Zone规则,通过硬件Zone规则可以直接控制交换机上的报文流量按照Zone规则转发,是一种严密的控制手段。
两种方式各自独立存在,相辅相成,共同完成按照Zone配置进行节点访问控制的功能。
当底层资源足够下发Zone规则时,硬件Zone才能生效,而软件Zone一直处于生效状态。当底层资源足够下发当前VSAN的硬件Zone规则时,该VSAN的软件Zone和硬件Zone一起生效;当底层资源不够下发当前VSAN的硬件Zone规则时,为了保证规则的完整性,系统会清空该VSAN已经下发的硬件Zone规则,自动切换为硬件Zone未生效状态,此时该VSAN下只有软件Zone继续生效。
当用户希望增强某VSAN的安全性时,可以开启该VSAN的硬件Zone。当用户认为软件Zone能够满足某VSAN的节点访问控制要求时,可以关闭该VSAN的硬件Zone,节约硬件表项资源供其它重要VSAN使用。
开启某VSAN的硬件Zone后,系统将触发一次下发该VSAN的所有Zone规则的操作;关闭某VSAN的硬件Zone后,系统会清空该VSAN当前已经下发的硬件Zone规则,并且后续不会下发任何新的硬件Zone规则。
在增强Zone模式下,需要通过激活Zone set或扩散命令显式地触发扩散,使硬件Zone配置随同其它数据一同向全网扩散。但是在基本Zone模式下,必须手动配置保证全网硬件Zone配置的一致性。
用户可以通过display zone status命令查询当前硬件Zone的生效状态。
需要注意的是,当交换机处于合并或扩散状态时,不能配置本命令。
进入VSAN视图 |
||
缺省情况下,硬件Zone处于开启状态 |
激活指定Zone set,使其成为Active Zone set,同时向全网进行扩散,并以此Zone set配置进行访问控制。用户执行的后续配置不会影响当前Active Zone set数据,直到去激活当前Active Zone set、重新配置激活命令、进行数据扩散或进行合并。
激活Zone set时,用户需保证所激活的Zone set必须已经存在,且被激活的Zone set中至少要包含一个N_Port成员。如果当前Zone模式为基本Zone,则激活成功与否还会受到基本Zone下Active Zone set最大规格的限制,若超过了最大规格,则激活失败。
同一VSAN内只能够存在一个Active Zone set。
在基本Zone模式下,将Active Zone set进行全网扩散时,交换机会根据zoneset distribute full命令配置的扩散类型来决定扩散时要携带的数据。但在增强Zone模式下,不支持zoneset distribute full命令,激活扩散为完全扩散。
无论是在增强Zone模式下还是在基本Zone模式下,如果扩散失败,系统将打印日志信息,告知用户扩散失败。用户解决了网络故障后,用户需要重新激活该Zone set,以保证Fabric内所有交换机的Active Zone set数据的一致性。
表8-13 激活Zone set并发起向全网的扩散过程
进入VSAN视图 |
||
激活指定Zone set生成Active Zone Set,并发起向全网的扩散过程 |
不支持在Active Zone set信息中以Zone别名显示成员。配置激活Zone set后,如果该Zone set中的Zone存在Zone别名类型成员,会直接将Zone别名中的非重复N_Port成员添加到Zone。用户能够通过显示命令display zoneset active观察这一变化。
配置该命令会触发一次Zone数据扩散流程,且为完全扩散,即将Active Zone set和Zone数据库(增强Zone模式下还会携带Zone策略和硬件Zone开启情况)均携带在报文中进行扩散。
使用激活命令zoneset activate激活一个Zone set成为Active Zone set后,用户可以继续修改数据库的配置,本命令可以在不改变Active Zone set的同时将Active Zone set以及修改后的数据库向全网扩散。
如果扩散失败,系统将打印日志信息,告知用户扩散失败。用户解决了网络故障后,用户需要重新激发一次完全扩散,以保证Fabric内所有交换机的Zone数据的一致性。
进入VSAN视图 |
||
用户可以通过下面的配置修改Zone别名、Zone、Zone set的名称。
表8-15 重命名Zone别名、Zone、Zone set
进入VSAN视图 |
||
修改Zone别名的名称 |
待重命名的Zone别名必须已创建,新的Zone别名必须未被创建 |
|
修改Zone的名称 |
待重命名的Zone必须已创建,新的Zone必须未被创建 |
|
修改Zone set的名称 |
待重命名的Zone set必须已创建,新的Zone set必须未被创建 |
用户可以通过复制一个已经存在的Zone别名、Zone、Zone set,产生新的Zone别名、Zone、Zone set。二者名称不同,但包含的内容相同。
表8-16 复制Zone别名、Zone、Zone set
进入VSAN视图 |
||
复制Zone别名 |
被复制的Zone别名必须已创建,复制后的目的Zone别名必须未被创建 |
|
被复制的Zone必须已创建,复制后的目的Zone必须未被创建 |
||
被复制的Zone set必须已创建,复制后的目的Zone set必须未被创建 |
通过本命令可以删除指定VSAN内的Zone数据库信息,包括所有Zone set、Zone以及Zone别名,但是Active Zone set不会被删除。
表8-17 清除Zone数据库信息
进入VSAN视图 |
||
清除Zone数据库信息 |
开启了Zone的告警功能后,Zone会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表8-18 开启Zone告警功能
开启Zone模块的告警功能 |
缺省情况下,Zone的告警功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC Zone的运行情况,通过查看显示信息验证配置的效果。
表8-19 FC Zone显示和维护
显示Zone别名的相关信息 |
display zone-alias [ [ name zone-alias-name ] vsan vsan-id ] |
显示Zone的相关信息 |
|
显示Zone set的相关信息 |
|
显示Active Zone set的相关信息 |
|
显示指定Zone成员所属的父亲信息(父亲信息包括:成员所属的Zone和Zone别名,以及Zone别名所属的Zone) |
display zone member { fcid fcid | pwwn pwwn | zone-alias zone-alias-name } [ vsan vsan-id ] |
显示FC Zone的配置信息以及运行状态 |
|
显示Zone报文统计信息 |
|
清除Zone报文统计信息 |
VSAN 1内3台服务器和3个磁盘设备共同接入一个Fabric中,节点设备分别以FC地址或PWWN进行标识,如图8-5所示。所有节点设备均已向交换机完成注册。
VSAN 1中需要对访问权限进行控制,具体需求如下:
· 服务器Server A不访问磁盘,但以后有可能添加访问磁盘需求。
· 服务器Server B能访问磁盘Disk A、Disk B、Disk C的数据。
· 服务器Server C能访问磁盘Disk B、Disk C的数据。
为实现上述需求,考虑将VSAN 1划分为3个Zone,其中:
· Zone1包括Server A
· Zone2包括Server B、Disk A、Disk B、Disk C
· Zone3包括Server C、Disk B 、Disk C
· Zone2开启Pairwise特性,配置Server B角色为Initiator,Disk A、Disk B、Disk C角色为Target
· Zone3开启Pairwise特性,配置Server C角色为Initiator,Disk B、Disk C角色为Target
同时创建Zone别名Alias1包含Disk B、Disk C,以简化配置。
创建Zone set Zoneset1包括Zone1、Zone2、Zone3并激活生效。
在Switch A上进行配置并激活,将当前完整数据库配置同步到Switch B。
· 只需在Switch A上进行如下配置,Switch B上不需要进行Zone相关配置。
· 本例中只列出Zone相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
[SwitchA] fcoe-mode fcf
# 配置VSAN 1工作在增强Zone模式。
[SwitchA] vsan 1
[SwitchA-vsan1] zone mode enhanced
The zoning database in this switch would be distributed throughout the fabric. Continue? [Y/N]:y
[SwitchA-vsan1]
# 创建Zone别名Alias1,添加PWWN为22:33:44:55:66:77:88:99、FC地址为020004的两个成员,即Disk B和Disk C,角色均为Target。
[SwitchA-vsan1] zone-alias name Alias1
[SwitchA-vsan1-zone-alias-Alias1] member pwwn 22:33:44:55:66:77:88:99 target
[SwitchA-vsan1-zone-alias-Alias1] member fcid 020004 target
[SwitchA-vsan1-zone-alias-Alias1] quit
# 创建Zone1,添加FC地址为010001的成员。创建Zone2,开启其Pairwise特性,添加FC地址为010002的成员,角色为Initiator;添加PWWN为11:22:33:44:55:66:77:88的成员,角色为Target;添加Zone别名为Alias1的成员。创建Zone3,开启其Pairwise特性,添加FC地址为010003的成员,角色为Initiator;添加Zone别名为Alias1的成员。
[SwitchA-vsan1] zone name Zone1
[SwitchA-vsan1-zone-Zone1] member fcid 010001
[SwitchA-vsan1-zone-Zone1] quit
[SwitchA-vsan1] zone name Zone2
[SwitchA-vsan1-zone-Zone2] pairwise-zoning enable
[SwitchA-vsan1-zone-Zone2] member fcid 010002 initiator
[SwitchA-vsan1-zone-Zone2] member pwwn 11:22:33:44:55:66:77:88 target
[SwitchA-vsan1-zone-Zone2] member zone-alias Alias1
[SwitchA-vsan1-zone-Zone2] quit
[SwitchA-vsan1] zone name Zone3
[SwitchA-vsan1-zone-Zone3] pairwise-zoning enable
[SwitchA-vsan1-zone-Zone3] member fcid 010003 initiator
[SwitchA-vsan1-zone-Zone3] member zone-alias Alias1
[SwitchA-vsan1-zone-Zone3] quit
# 创建Zone set Zoneset1,添加Zone1、Zone2、Zone3为其成员。
[SwitchA-vsan1] zoneset name Zoneset1
[SwitchA-vsan1-zoneset-Zoneset1] member Zone1
[SwitchA-vsan1-zoneset-Zoneset1] member Zone2
[SwitchA-vsan1-zoneset-Zoneset1] member Zone3
[SwitchA-vsan1-zoneset-Zoneset1] quit
# 配置扩散和合并类型为完全扩散和完全合并,即携带完整数据库信息进行数据同步。
[SwitchA-vsan1] zoneset distribute full
# 激活Zone set并发起向全网的扩散过程。
[SwitchA-vsan1] zoneset activate name Zoneset1
在Switch A和Switch B上通过显示命令都能够观察到Zone配置结果和数据同步结果。下面以Switch B上的显示为例:
# 查看VSAN 1内的Zone set相关信息。
<SwitchB> display zoneset vsan 1
VSAN 1:
zoneset name Zoneset1
zone name Zone1
fcid 0x010001
zone name Zone2
fcid 0x010002 initiator
pwwn 11:22:33:44:55:66:77:88 target
zone-alias Alias1
fcid 0x020004 target
pwwn 22:33:44:55:66:77:88:99 target
zone name Zone3
fcid 0x010003 initiator
zone-alias Alias1
fcid 0x020004 target
pwwn 22:33:44:55:66:77:88:99 target
# 查看VSAN 1内Zone2的相关信息。
<SwitchB> display zone name Zone2 vsan 1
VSAN 1:
zone name Zone2
fcid 0x010002 initiator
pwwn 11:22:33:44:55:66:77:88 target
zone-alias Alias1
fcid 0x020004 target
pwwn 22:33:44:55:66:77:88:99 target
# 查看所有Zone别名的相关信息。
<SwitchB> display zone-alias
VSAN 1:
zone-alias name Alias1
fcid 0x020004 target
pwwn 22:33:44:55:66:77:88:99 target
# 查看FC地址类型成员020004所属于的Zone或Zone别名。
<SwitchB> display zone member fcid 020004
fcid 0x020004
VSAN 1:
zone-alias Alias1
zone Zone2
zone Zone3
# 查看VSAN 1内的Active Zone set相关信息。
<SwitchB> display zoneset active vsan 1
VSAN 1:
zoneset name Zoneset1
zone name Zone1
*fcid 0x010001
zone name Zone2
*fcid 0x010002
*fcid 0x020004
*fcid 0x020005 [pwwn 22:33:44:55:66:77:88:99]
*fcid 0x020006 [pwwn 11:22:33:44:55:66:77:88]
zone name Zone3
*fcid 0x010003
*fcid 0x020004
*fcid 0x020005 [pwwn 22:33:44:55:66:77:88:99]
NPV功能可以使FC SAN中的交换机突破239台最大数目的限制,扩充网络的规模。
NPV交换机位于Fabric网络边缘,处于节点设备与核心交换机之间,将节点设备的流量转发到核心交换机。NPV的典型组网如图9-1所示。
图9-1 NPV典型组网图
NPV交换机和核心交换机之间必须直连。
NPV交换机上,和节点设备相连的接口称为下行口,也称之为server interface。
下行口是VFC接口,且接口必须配置为F模式。
下行链路是NPV交换机和节点设备之间的链路。
每个下行口会唯一映射到一个生效(链路up)的上行口,所有和该下行口相连的节点设备的数据都会通过映射的上行口转发到核心交换机。
NPV交换机上,和核心交换机相连的接口称为上行口,也称之为external interface。
上行口是VFC接口,且接口必须配置为NP模式。
上行链路是NPV交换机和核心交换机之间的链路。
在上行链路生效后,NPV交换机向核心交换机发送FLOGI报文进行注册,核心交换机将为上行口(NP端口)分配一个FC地址。随后,NPV交换机将向核心交换机的名称服务进行注册。后续,当NPV交换机从下行口上收到节点设备发送的报文(包括注册报文在内的所有报文)时,NPV交换机负责将报文从该下行口映射的上行口发送给核心交换机,并将回应报文从下行口转发给节点设备。
NPV交换机会自动的进行上下行口的映射,在下行口生效前,NPV交换机会从当前所有生效的上行口中选择一个负载最小的上行口,将下行口映射到选中的上行口。这里的负载是指上行口上映射的下行口的数目。
在自动映射不能满足组网需求(比如需要下行口通过指定的上行口连接到Fabric网络)时,可以通过配置上下行口映射关系来将下行口映射到指定的上行口或上行口的集合。一旦配置了映射关系,则下行口就只能映射到用户配置的上行口,如果配置的上行口都没有生效,则下行口也无法生效。
在有配置的映射关系时,进行上下行口映射是从用户配置的上行口集合中选择负载最小的上行口,然后将下行口映射到选中的上行口。
上下行口建立映射关系后,从下行口过来的流量均通过映射的上行口进行转发。
缺省情况下,当有新的上行口生效时,NPV交换机并不会自动对已有的上下行口映射进行重新映射,以达到负载均衡。因为重新映射时,NPV交换机将对下行口进行链路初始化,会破坏已经稳定的上下行口的映射关系,以及要求和下行口相连的节点设备重新进行注册,这样会导致流量中断。
当有新的上行口生效时,如果用户希望重新进行上下行口映射,以达到更好的负载均衡效果,可以通过命令行立即触发一次重新映射,此时会对部分下行口进行链路初始化。
部分进行链路初始化的下行口选择步骤如下:
(1) NPV交换机计算出上行口负载平均值,上行口负载平均值=所有下行口数/所有上行口数。
(2) NPV交换机遍历出超过该负载平均值的上行口。
(3) 这些上行口若存在自动映射的下行口,则NPV交换机会按先后自动映射顺序将先自动映射的下行口进行链路初始化。需要进行链路初始化的下行口数=该上行口的所有下行口数-上行口负载平均值,从而使得上行口的下行口数量不超过上行口负载平均值。
(4) 这些上行口若不存在自动映射的下行口,则NPV交换机不会对这些上行口的下行口进行链路初始化。
自动负载均衡与手动负载均衡对下行口重新映射的策略是相同的。开启自动负载均衡后,当系统检测到up的上行口时,会自动创建一个延迟定时器,待定时器超时后,系统将自动进行一次负载均衡。如果在定时器超时前又有新的上行口up,则重置该定时器。
可以通过配置自动负载均衡的延迟时间来缓冲上行口的up、down而引起震荡,以减少对自动负载均衡的影响。
表9-1 NPV配置任务简介
配置自动负载均衡功能 |
可选 |
交换机工作在NPV模式后,用户需要配置上行口和下行口。
上行口是VFC接口,且接口必须配置为NP模式。
进入VFC接口视图 |
||
配置接口为NP模式 |
缺省情况下,NPV模式交换机的VFC接口为F模式 |
下行口是VFC接口,且接口必须配置为F模式。
进入VFC接口视图 |
||
配置接口为F模式 |
缺省情况下,NPV模式交换机的VFC接口为F模式 |
NPV交换机会自动进行上下行口的映射,当上下行口自动映射不能满足组网需求(比如需要下行口通过指定的上行口连接到Fabric网络)时,可以通过配置上下行口映射关系来将下行口映射到指定的上行口或上行口的集合。
进入VSAN视图 |
||
进入VSAN视图 |
||
如果上行口的链路层状况良好,可适当将减小延迟时间;否则,需增大延迟时间。
开启了自动负载均衡功能后,上行口的up可能引起负载均衡的发生,从而可能导致流量中断。
关闭了自动负载均衡功能后,不会影响现有的上下行口映射关系。
表9-6 配置自动负载均衡功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VSAN视图 |
vsan vsan-id |
- |
开启自动负载均衡功能 |
npv auto-load-balance enable |
缺省情况下,自动负载均衡功能处于关闭状态 |
配置自动负载均衡的延迟时间 |
npv auto-load-balance-interval interval |
缺省情况下,自动负载均衡的延迟时间为30秒 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后NPV的运行情况,通过查看显示信息验证配置的效果。
表9-7 NPV显示和维护
显示NPV交换机向FCF交换机进行注册的信息以及获取到的管理地址 |
display fc nport [ interface interface-type interface-number ] |
显示NPV交换机的下行口上相连的节点设备的注册信息和映射的上行口 |
display npv login [ vsan vsan-id ] [ interface interface-type interface-number ] |
显示NPV交换机上的流量映射信息 |
display npv traffic-map [ vsan vsan-id ] [ interface interface-type interface-number ] |
显示NPV交换机的状态信息 |
如图9-2所示,网络由边缘交换机Switch A、核心交换机Switch B和两个服务器组成。
要求:将边缘交换机Switch A配置为NPV交换机,以便扩充网络规模。
图9-2 配置NPV组网图
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置Switch A的FCoE模式为NPV模式,进入VSAN 1的视图。
[SwitchA] fcoe-mode npv
[SwitchA] vsan 1
[SwitchA-vsan1] quit
# 创建VFC接口VFC1,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 创建VFC接口VFC2,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC2接口。
[SwitchA-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchA-Vfc2] port trunk vsan 1
[SwitchA-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/2
[SwitchA-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/2] quit
# 创建VFC接口VFC3,将VFC3接口绑定到以太网接口Ten-GigabitEthernet1/0/3上,并将VFC3接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC3接口。
[SwitchA-Vfc3] bind interface ten-gigabitethernet 1/0/3
[SwitchA-Vfc3] port trunk vsan 1
[SwitchA-Vfc3] quit
# 配置以太网接口Ten-GigabitEthernet1/0/3允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/3
[SwitchA-Ten-GigabitEthernet1/0/3] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/3] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 配置上行口。
[SwitchA-Vfc3] fc mode np
[SwitchA-Vfc3] quit
# 配置下行口。
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] quit
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置Switch B的FCoE模式为FCF模式,进入VSAN 1的视图。
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 1
[SwitchB-vsan1] quit
# 创建VFC接口VFC3,配置VFC3接口工作在F模式,将VFC3接口绑定到以太网接口Ten-GigabitEthernet1/0/3上,并将VFC3接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC3接口。
[SwitchB-Vfc3] fc mode f
[SwitchB-Vfc3] bind interface ten-gigabitethernet 1/0/3
[SwitchB-Vfc3] port trunk vsan 1
[SwitchB-Vfc3] quit
# 配置以太网接口Ten-GigabitEthernet1/0/3允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/3
[SwitchB-Ten-GigabitEthernet1/0/3] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/3] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 显示NPV交换机Switch A的下行口上连接的节点设备的Login信息和映射的上行口。
Server External
Interface VSAN FCID Node WWN Port WWN Interface
Vfc1 1 0x010001 21:00:00:00:c8:00:e4:30 20:00:00:00:c8:60:e4:9a Vfc3
Vfc2 1 0x010002 21:00:00:00:c9:00:e4:30 20:00:00:00:c9:60:e4:9a Vfc3
# 显示NPV交换机Switch A的状态信息。
External Interfaces:
Interface: Vfc3 VSAN tagging mode: Tagging
VSAN State FCID
1 Up 0x010000
Number of External Interfaces: 1
Server Interfaces:
Interface : Vfc1 VSAN tagging mode: Tagging
VSAN State
1 Up
Interface : Vfc2 VSAN tagging mode: Tagging
VSAN State
1 Up
Number of Server Interfaces: 2
# 显示NPV交换机Switch A上的流量映射信息。
[SwitchA] display npv traffic-map
NPV traffic map information of VSAN 1:
Server Interface External Interface
Vfc1 Vfc3
Vfc2 Vfc3
在FC Fabric网络中,节点设备必须向Fabric注册后才能和FC SAN中设备进行通信。节点设备和FCF交换机之间的物理连接是点对点的,只有节点设备成功注册后,FCF交换机上连接这个节点设备的接口才能up,所以FCF交换机可以控制只有成功注册的节点设备才可以和FC SAN中的设备进行通信。
FCoE增加了组网的灵活性,在ENode和FCF交换机之间可以存在Transit交换机,这就使得FCF交换机和ENode之间的物理连接不再是点对点连接,这样则会出现即使没有注册的ENode设备也可能通过FCF交换机和FC SAN中的设备进行通信。比如,两个ENode通过一台Transit交换机接入到同一台FCF交换机,其中一个ENode在FCF交换机上成功注册后,FCF交换机上的接口变为up,此时,另外一个没有注册的ENode就可以通过该FCF交换机和FC SAN中的设备进行通信了。
FIP Snooping(FCoE Initialization Protocol Snooping,FCoE初始化探测协议)可以解决上述问题,它是应用在FCoE网络边缘设备上的一种安全特性,该特性只能运行在Transit交换机上。FIP Snooping通过对报文MAC地址的检查来限定ENode发送的报文仅能转发给FCF交换机,不能转发给ENode,且只有成功注册的ENode发送的FCoE报文才能被Transit交换机转发给FCF交换机,以及限定FCF交换机发送的FCoE报文仅能被Transit交换机转发给已经注册的ENode。
FIP Snooping典型组网如图10-1所示。ENode通过Transit交换机接入FCF交换机。
Transit交换机上的以太网接口有两种模式:FCF模式和ENode模式。与ENode相连的以太网接口需要配置为ENode模式;与FCF交换机相连的以太网接口需要配置为FCF模式。
在Transit交换机上开启FIP Snooping功能,并将以太网接口配置为正确的模式后,就可以控制ENode和FCF交换机之间报文的交互,以达到安全接入和通信的目的。
开启VLAN的FIP Snooping功能后,Transit交换机上的以太网接口开始根据FIP协议报文(以太网报文类型为0x8914)来建立FIP Snooping规则,然后根据FIP Snooping规则来控制FCoE报文(以太网报文类型为0x8906)的转发。
· FCF模式以太网接口生成的FIP Snooping规则称为FCF FIP Snooping规则。
· ENode模式以太网接口生成的FIP Snooping规则称为ENode FIP Snooping规则。
FIP Snooping规则是在ENode和FCF交换机之间通过FIP协议建立虚链路的过程中建立的,其建立过程简单描述如下:
(1) Transit交换机FCF模式以太网接口收到FCF交换机的非请求发现通告报文后,据其生成FCF FIP Snooping规则并将该报文转发给ENode。生成的FCF FIP Snooping规则为:允许源MAC地址为该非请求发现通告报文中的源MAC地址(即FCF交换机的FCoE MAC地址)、目的MAC地址高三个字节为FC-MAP的FCoE报文通过。
(2) Transit交换机ENode模式以太网接口收到ENode向FCF交换机发送的发现请求报文后,转发该报文给FCF交换机。
(3) Transit交换机ENode模式以太网接口接收到FIP FLOGI请求报文后,将该报文转发给FCF交换机。
(4) Transit交换机ENode模式以太网接口在转发来自FCF交换机的FLOGI LS_ACC报文时,据其获取FCF交换机分配给ENode的FC地址以及FCF交换机的FCoE MAC地址,并生成ENode FIP Snooping规则。该规则允许源MAC地址为FC地址对应的MAC地址(即高三个字节为FC-MAP,低三个字节为FC地址)、目的MAC地址为FCF交换机的FCoE MAC地址的FCoE报文通过。
FIP Snooping规则建立后,如果虚链路存在,则规则会一直存在;如果虚链路被删除,则规则会被同步删除。
建立FIP Snooping规则后,Transit交换机就可以根据FIP Snooping规则来控制ENode和FCF交换机之间FCoE报文的转发:对于接收的FCoE报文,如果能够匹配学习到的FIP Snooping规则则转发,否则,丢弃该FCoE报文。从而,可以保证只有成功注册的ENode可以和FCF交换机进行FCoE报文的交互。
只有Transit交换机支持FIP Snooping功能。
表10-1 FIP Snooping配置任务简介
配置FC-MAP值 |
开启VLAN的FIP Snooping功能后,Transit交换机开始根据FIP协议报文建立FIP Snooping规则,然后根据FIP Snooping规则来控制FCoE报文的转发。
进入VLAN视图 |
||
缺省情况下,FIP Snooping功能处于关闭状态 |
Transit交换机上的以太网接口有两种模式:FCF模式和ENode模式。与ENode相连的以太网接口需要配置为ENode模式;与FCF交换机相连的以太网接口需要配置为FCF模式。
进入二层以太网接口视图/二层聚合接口视图 |
||
FC-MAP值用来标识一个FCoE网络,同一个FCoE网络中的所有交换机(包括FCF交换机和Transit交换机)必须具有相同的FC-MAP值。
Transit交换机上某VLAN中的以太网接口从FCF交换机接收到报文后,会检查接收报文的FC-MAP值(此FC-MAP值可以在FCF交换机上通过fcoe fcmap命令配置)和Transit交换机上该VLAN下配置的FC-MAP值是否一致:如果一致,则转发报文;如果不一致,则丢弃报文。
表10-4 配置FC-MAP值
操作 |
说明 |
|
进入VLAN视图 |
||
配置FC-MAP值 |
缺省情况下,FC-MAP值为0x0efc00 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后FIP Snooping的运行情况,通过查看显示信息验证配置的效果。
表10-5 FIP Snooping显示和维护
显示Transit交换机获取到的ENode信息 |
|
显示Transit交换机获取到的FCF交换机信息 |
|
显示已经下刷的FIP Snooping规则(独立运行模式) |
display fip-snooping rules [ enode | fcf ] [ vlan vlan-id ] [ slot slot-number ] |
显示已经下刷的FIP Snooping规则(IRF模式) |
|
display fip-snooping flushing-rules [ enode | fcf ] [ vlan vlan-id ] |
|
显示FIP Snooping的会话信息,即ENode和FCF交换机的连接信息 |
网络由两台分别工作在Transit模式和FCF模式的交换机以及ENode节点组成。
要求配置FIP Snooping功能,使ENode和FCF交换机之间可以进行可靠的通信。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[Transit] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[Transit] save
[Transit] quit
<Transit> reboot
# 配置FCoE模式为Transit模式。
[Transit] fcoe-mode transit
# 开启VLAN 10的FIP Snooping功能。
[Transit-vlan10] fip-snooping enable
# 配置VLAN 10的FC-MAP值为0x0EFC01。
[Transit-vlan10] fip-snooping fc-map 0efc01
Changing the FC-MAP will flap all interfaces. Continue? [Y/N]:y
[Transit-vlan10] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过,并将该接口配置为ENode模式。
[Transit] interface ten-gigabitethernet 1/0/1
[Transit-Ten-GigabitEthernet1/0/1] port link-type trunk
[Transit-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[Transit-Ten-GigabitEthernet1/0/1] fip-snooping port-mode enode
[Transit-Ten-GigabitEthernet1/0/1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过,并将该接口配置为FCF模式。
[Transit] interface ten-gigabitethernet 1/0/2
[Transit-Ten-GigabitEthernet1/0/2] port link-type trunk
[Transit-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[Transit-Ten-GigabitEthernet1/0/2] fip-snooping port-mode fcf
[Transit-Ten-GigabitEthernet1/0/2] quit
(2) 配置FCF交换机
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[FCF] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[FCF] save
[FCF] quit
<FCF> reboot
# 配置FCoE模式为FCF模式。
[FCF] fcoe-mode fcf
# 配置FC-MAP值为0x0EFC01。
Changing the FC-MAP will flap all VFC interfaces. Continue? [Y/N]:y
# 创建VSAN 10。
[FCF-vsan10] quit
# 创建VFC接口VFC2,配置VFC2接口工作在F模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过VFC2接口。
[FCF-vfc2] fc mode f
[FCF-vfc2] bind interface ten-gigabitethernet 1/0/2
[FCF-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[FCF] interface ten-gigabitethernet 1/0/2
[FCF-Ten-GigabitEthernet1/0/2] port link-type trunk
[FCF-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[FCF-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 10进行映射。
[FCF-vlan10] fcoe enable vsan 10
# 显示Transit交换机获取到的ENode信息。
[Transit] display fip-snooping enode
VLAN 10:
Interface ENode WWN ENode MAC
XGE1/0/1 10:00:00:11:22:00:0d:01 0000-1234-0d01
# 显示Transit交换机获取到的FCF交换机信息。
[Transit] display fip-snooping fcf
VLAN 10:
Interface FCF MAC FCF WWN Fabric Name ENode
XGE1/0/2 0000-1234-0e01 10:00:00:11:22:00:0e:01 10:00:00:11:22:00:0e:01 1
# 显示FIP Snooping的会话信息。
[Transit] display fip-snooping sessions
VLAN 10:
FCF MAC ENode MAC VN_Port MAC VN_Port WWN
0000-1234-0e01 0000-1234-0d01 0efc-0001-0000 af:10:01:11:22:00:0d:01
# 显示已经下刷的FIP Snooping规则。
[Transit] display fip-snooping rules
Slot 1:
VLAN 10:
FCF rules information:
Interface Source MAC/Mask Destination MAC/Mask Context
XGE1/0/2 0000-1234-0e01/48 0efc-0000-0000/24 ffffffff
ENode rules information:
Interface Source MAC/Mask Destination MAC/Mask Context
XGE1/0/1 0efc-0001-0000/48 0000-1234-0e01/48 ffffffff
仅FCF模式的交换机支持FCS。本章中的交换机均指FCF交换机。
FCS(Fabric Configuration Server,Fabric配置服务)使得用户可以通过命令行或者MIB,在指定VSAN下发起拓扑发现过程来获取Fabric网络的拓扑信息,即Fabric网络中包含的交换机信息以及交换机上的端口信息。运行在服务器上的管理应用程序(例如SNMP网管软件)使用管理协议(例如SNMP)根据FCS获取到的拓扑信息来确定Fabric网络的物理和逻辑拓扑,对Fabric网络中的交换机实施管理(例如可以根据FCS获取到的拓扑信息中的其它交换机的管理地址信息,通过SNMP网管软件连接到对应的交换机上,并对该交换机实施进一步的管理和配置)。
FCS通过下列对象描述Fabric网络的拓扑:
· IE(Interconnect Element,互联设备)对象:Fabric网络中的每台交换机对应一个IE对象。一个或多个IE对象互联构成了一个Fabric网络。IE对象具备一系列属性,如表11-1所示。
· 端口对象:IE对象上的每个VFC接口对应一个端口对象。每个IE对象包含一个或多个端口对象。端口对象具备一系列属性,如表11-2所示。
表11-1 IE对象的属性
IE名称 |
IE的WWN |
IE类型 |
IE的类型,目前仅支持交换机一种类型 |
IE域ID |
IE的域ID |
IE的Fabric名称 |
IE所在Fabric网络的名称 |
IE的逻辑名称 |
IE的设备名称,可以通过sysname命令配置设备的名称 |
IE管理地址 |
IE支持的管理协议和管理IP地址,目前仅支持SNMP(Simple Network Management Protocol,简单网络管理协议)一种管理协议 管理地址以URL(Uniform Resource Locator,统一资源定位符)的格式表示,例如:snmp://192.168.6.100,表示管理协议为SNMP,对应的管理IP地址为192.168.6.100 一个IE可能存在一个或多个管理地址 |
IE信息列表 |
包含:厂商名称、产品名称/编号、发布编码和其他厂商指定信息 |
Port名称 |
|
Port类型 |
端口的模式,包括:E端口、F端口 |
Port TX类型 |
端口的传输类型,包括:Long wave laser-LL(1550nm)、Short wave laser-SN(850nm)、Long wave laser cost reduced-LC(1310nm)、Electrical-EL、10GBASE-SR 850nm laser、10GBASE-LR 1310nm laser、10GBASE-ER 1550nm laser、10GBASE-LX4 WWDM 1300nm laser、10GBASE-SW 850nm laser、10GBASE-LW 1310nm laser、10GBASE-EW 1550nm laser和10GBASE-CX4 |
Port模块类型 |
端口采用的光模块类型,比如:GLM、GBIC with serial ID、GBIC without serial ID、SFP with serial ID、SFP without serial ID、XFP、X2 short、X2 Medium、X2 Tall、XPAX short、XPAX Medium、XPAX Tall、XENPAK、SFP-DWDM、QSFP和X2-DWDM |
Port接口索引 |
|
与端口相连的对端端口列表(如果节点通过NPV交换机注册,就可能有多个对端端口) |
|
Port状态 |
|
Port速率能力 |
端口支持的所有速率,包括:1Gbps、2Gbps、4Gbps、8Gbps、10Gbps、16Gbps和20Gbps(可包含其中一项或多项) |
Port协商速率 |
端口当前的运行速率,包括:1Gbps、2Gbps、4Gbps、8Gbps、10Gbps、16Gbps和20Gbps(只可包含其中一项) |
Port的Zone支持状态 |
端口支持的Zone类型,包括:软件Zone、硬件Zone |
用户可以在Fabric网络中的任意一台交换机上发起拓扑发现。拓扑发现的工作机制如下:
· Fabric网络中的每台交换机上都会维护Fabric网络中所有IE的列表。当没有发起拓扑发现时,对应VSAN下拓扑发现状态为localOnly,表示未进行拓扑发现。交换机只保存有本IE的所有属性信息及其端口信息,非本地IE的属性只包含IE的WWN、类型和域ID信息,无非本地IE的端口信息。
· 当发起拓扑发现后,对应VSAN下的拓扑发现状态更新为InProgress,表示正在进行拓扑发现。交换机会从Fabric网络内所有非本地交换机获取最新的IE属性和IE的端口信息,并更新本地FCS数据库中对应的IE和IE下端口信息。
· 获取完所有的拓扑信息,交换机更新指定VSAN下的拓扑发现状态为completed,表示已完成拓扑发现,同时启动拓扑发现数据老化定时器,用于限制本次拓扑发现信息的有效时间。
· 当拓扑发现数据老化定时器超时,交换机会删除非本地交换机的拓扑发现数据,恢复VSAN下的拓扑发现状态为localOnly。
Fabric网络的拓扑信息有可能发生变化,因此拓扑发现获取到的只能是某一个时刻整个Fabric网络的拓扑信息。在拓扑发现过程中,处理非本地交换机的拓扑信息变化的原则如下:
· 如果在新的IE加入Fabric网络之前,交换机已经开始获取其它IE的详细属性和端口列表,则对于新加入IE的详细属性和端口数据在本次拓扑发现中不会去获取。
· 获取完某IE的详细属性和端口数据之后,该IE的某些属性和状态又发生了变化,对于这些数据在本次拓扑发现中也不会重新获取。
对于本地交换机的拓扑相关信息变化则会实时处理,不管是否进行拓扑发现,获取的本地交换机拓扑相关信息总是最新的。
对某VSAN来说,只有等本次拓扑发现过程结束后,才能发起下一次的拓扑发现,否则,系统会提示正在进行拓扑发现 |
用户可以通过下面的配置取消拓扑发现。配置本命令后,系统将终止本次拓扑发现,并删除已获取的非本地交换机拓扑发现数据,恢复对应VSAN下的拓扑发现状态为localOnly。
在完成上述配置后,在任意视图下执行display命令可以显示拓扑发现的状态以及获取的拓扑信息。
表1-3 FCS显示和维护
显示FCS数据库信息 |
|
显示FCS的IE信息 |
|
显示FCS的端口信息 |
display fcs port [ vsan vsan-id [ pwwn wwn ] ] [ verbose ] |
通过FCS获取Fabric网络的拓扑信息,以供管理应用程序使用。
图11-1 配置FCS组网图
本例中只列出FCS相关配置,其它配置步骤略。
# 配置Switch A工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置Switch A的FCoE模式为FCF模式。
# 在Switch A上发起拓扑发现。
[SwitchA] fcs discovery start vsan 1
# 显示Switch A上VSAN 1下的FCS数据库信息。
[SwitchA] display fcs database vsan 1
FCS Local Database in VSAN 1:
IE WWN : 10:00:00:11:22:00:01:01
Domain ID : 0x01
Management address list : snmp://192.168.0.1
Fabric name : 10:00:00:11:22:00:01:01
Logical name : SwitchA
Information list : H3C#H3C S10506#Version 7.1.045, Beta 7143
IE ports:
Interface Port WWN Port type Attached port WWNs
Vfc1 e1:01:00:11:22:00:01:01 E_Port e2:01:00:11:22:00:01:01
Vfc2 e1:01:00:11:22:00:01:02 E_Port e3:01:00:11:22:00:01:01
IE WWN : 10:00:00:11:22:00:01:02
Domain ID : 0x02
Management address list : snmp://192.168.0.2
Fabric name : 10:00:00:11:22:00:01:01
Logical name : SwitchB
Information list : H3C#H3C S10506#Version 7.1.045, Beta 7143
IE ports:
Interface Port WWN Port type Attached port WWNs
- e2:01:00:11:22:00:01:01 E_Port e1:01:00:11:22:00:01:01
- e2:01:00:11:22:00:01:02 E_Port e3:01:00:11:22:00:01:02
- e2:01:00:11:22:00:01:03 E_Port e4:01:00:11:22:00:01:01
IE WWN : 10:00:00:11:22:00:01:03
Domain ID : 0x03
Management address list : snmp://192.168.0.3
Fabric name : 10:00:00:11:22:00:01:01
Logical name : SwitchC
Information list : H3C#H3C S10506#Version 7.1.045, Beta 7143
IE ports:
Interface Port WWN Port type Attached port WWNs
- e3:01:00:11:22:00:01:01 E_Port e1:01:00:11:22:00:01:02
- e3:01:00:11:22:00:01:02 E_Port e2:01:00:11:22:00:01:02
- e3:01:00:11:22:00:01:03 F_Port 48:33:43:2d:46:43:1A:1A
IE WWN : 10:00:00:11:22:00:01:04
Domain ID : 0x04
Management address list : snmp://192.168.0.4
Fabric name : 10:00:00:11:22:00:01:01
Logical name : SwitchD
Information list : H3C#H3C S10506#Version 7.1.045, Beta 7143
IE ports:
Interface Port WWN Port type Attached port WWNs
- e4:01:00:11:22:00:01:01 E_Port e2:01:00:11:22:00:01:03
- e4:01:00:11:22:00:01:02 F_Port 48:33:43:2d:46:43:1B:1B
# 显示Switch A上VSAN 1下FCS的IE简要信息。
[SwitchA] display fcs ie vsan 1
IE List for VSAN 1:
IE WWN Domain ID Mgmt addr list Logical name
10:00:00:11:22:00:01:01 0x01 snmp://192.168.0.1 SwitchA
10:00:00:11:22:00:01:02 0x02 snmp://192.168.0.2 SwitchB
10:00:00:11:22:00:01:03 0x03 snmp://192.168.0.3 SwitchC
10:00:00:11:22:00:01:04 0x04 snmp://192.168.0.4 SwitchD
Total 4 IEs in Fabric.
# 显示Switch A上VSAN 1下FCS的端口简要信息。
[SwitchA] display fcs port vsan 1
Port List for VSAN 1:
IE WWN: 10:00:00:11:22:00:01:01
Port WWN Port type Tx type Module type
e1:01:00:11:22:00:01:01 E_Port 10GBASE-CX4 SFP with serial ID
e1:01:00:11:22:00:01:02 E_Port 10GBASE-CX4 SFP with serial ID
Total 2 switch-ports in IE.
IE WWN: 10:00:00:11:22:00:01:02
Port WWN Port type Tx type Module type
e2:01:00:11:22:00:01:01 E_Port 10GBASE-CX4 SFP with serial ID
e2:01:00:11:22:00:01:02 E_Port 10GBASE-CX4 SFP with serial ID
e2:01:00:11:22:00:01:03 E_Port 10GBASE-CX4 SFP with serial ID
Total 3 switch-ports in IE.
IE WWN: 10:00:00:11:22:00:01:03
Port WWN Port type Tx type Module type
e3:01:00:11:22:00:01:01 E_Port 10GBASE-CX4 SFP with serial ID
e3:01:00:11:22:00:01:02 E_Port 10GBASE-CX4 SFP with serial ID
e3:01:00:11:22:00:01:03 F_Port 10GBASE-CX4 SFP with serial ID
Total 3 switch-ports in IE.
IE WWN: 10:00:00:11:22:00:01:04
Port WWN Port type Tx type Module type
e4:01:00:11:22:00:01:01 E_Port 10GBASE-CX4 SFP with serial ID
e4:01:00:11:22:00:01:02 F_Port 10GBASE-CX4 SFP with serial ID
Total 2 switch-ports in IE.
仅FCF模式的交换机支持FDMI。本章中的交换机均指FCF交换机。
通过FDMI(Fabric Device Management Interface,Fabric设备管理接口),用户可以查看Fabric网络中所有已经注册节点设备上的HBA(Host Bus Adapter,主机总线适配器)信息,包括HBA和HBA上的端口信息。
HBA是一种FC存储网卡。对交换机来说,每个HBA是一个对象。HBA对象具备一系列属性,如表12-1所示。HBA对象上的每个物理端口对应一个端口对象。每个HBA对象包含一个或多个端口对象,最多可以包含256个端口对象。端口对象具备一系列属性,如表12-2所示。
当HBA上的端口对象进行注册的RPRT/RPA报文携带Smart SAN属性时,如果交换机开启了Smart SAN功能,则通过FDMI显示节点设备的HBA信息时,端口对象会带有Smart SAN属性;如果交换机没有开启Smart SAN功能,则不会显示节点设备的HBA信息和端口对象信息。
当节点设备在HBA下的端口对象进行注册的RPRT/RPA报文未携带Smart SAN属性时,不论交换机是否开启Smart SAN功能,通过FDMI显示节点设备的HBA信息时,端口对象都不会带有Smart SAN属性。
表12-1 HBA对象的属性
HBA的编号(HBA ID用来标识一个HBA。如果HBA上有一个物理端口,则采用该物理端口的WWN作为HBA ID;如果HBA上有多个物理端口,则选择其中一个物理端口的WWN作为HBA ID) |
|
HBA制造商信息 |
|
HBA序列号 |
|
HBA型号 |
|
HBA型号描述 |
|
Node Name |
HBA所属节点的WWN |
Node Symbolic Name |
节点的符号名称,用于描述此节点 |
HBA的硬件版本号 |
|
HBA的驱动程序版本号 |
|
HBA的ROM版本号 |
|
HBA的固件版本号 |
|
HBA所在操作系统名称和版本号 |
|
HBA允许的CT负载的最大长度,包括CT类型报文的基本头和扩展头,但不包括FC头 |
|
Vendor Identifier |
HBA制造厂商的T10编码,或HBA的OEM(Original Equipment Manufacturer,原始设备制造商) |
Vendor Specific Information |
厂商自定义信息,为十六进制数值形式 |
Number of Ports |
HBA上端口的数量 |
Fabric Name |
HBA所在的网络名称 |
Boot BIOS Version |
HBA的Boot BIOS版本号 |
Boot BIOS State |
HBA的Boot BIOS状态,包括: · Enabled:开启 · Disabled:关闭 |
属性 |
说明 |
Port Name |
端口的WWN |
Port Symbolic Name |
N端口的符号名称,用于描述此端口 |
Port Identifier |
端口的FC_ID |
Port Type |
端口类型 |
Supported Class of Service |
端口支持的服务等级,包括:Class 2,Class 3 |
Supported FC-4 Types |
端口支持的FC4类型,包括以下几种类型: · FCP:光纤通道协议 · IP:因特网协议 · LLC/SNAP:链路控制/子网访问协议 · SW_ILS:交换机Fabric网内部链接服务 · SNMP:简单网络管理协议 · GS3:通用服务版本3 · VI:接口虚拟化 · NPV:N端口虚拟化 |
Port Active FC-4 Types |
端口生效的FC4类型,包括以下几种类型: · FCP:光纤通道协议 · IP:因特网协议 · LLC/SNAP:链路控制/子网访问协议 · SW_ILS:交换机Fabric网内部链接服务 · SNMP:简单网络管理协议 · GS3:通用服务3 · VI:接口虚拟化 · NPV:N端口虚拟化 |
Supported Speed |
· 1 Gbps · 2 Gbps · 4 Gbps · 8 Gbps · 10 Gbps · 16 Gbps · 20 Gbps · 32 Gbps · 40 Gbps 非以上速率则显示Unknown 如果不能确定端口支持的速率,则显示Speed not obtained |
Current Speed |
· 1 Gbps · 2 Gbps · 4 Gbps · 8 Gbps · 10 Gbps · 16 Gbps · 20 Gbps · 32 Gbps · 40 Gbps 非以上速率则显示Unknown 如果不能确定端口当前的速率,则显示Speed not obtained |
Maximum Frame Size |
端口支持的最大帧大小 |
OS Device Name |
端口所在操作系统的名称 |
Host Name |
端口所在节点设备的名称 |
Node Name |
端口所在的节点的WWN |
Port Fabric Name |
端口所在的网络名称 |
Port State |
端口当前状态 |
Number of Discovered Ports |
已发现的端口数量 |
Smart SAN Service Category |
端口上的Smart SAN服务类别,包括: · Smart SAN Initiator:服务器 · Smart SAN Target:存储设备 |
Smart SAN GUID |
端口上的Smart SAN服务的GUID |
Smart SAN Version |
端口上的Smart SAN服务的版本号 |
Smart SAN Product Name (Model) |
端口上的Smart SAN服务的型号 |
Smart SAN Port Info |
端口信息,包括: · 0x01 (Physical):端口为物理接口 · 0x02 (NPIV):端口支持NPIV功能 · 0x03 (SRIOV):端口支持SRIOV功能 |
Smart SAN QoS Support |
端口支持QoS状态,包括: · 0x00 (Not supported):不支持 · 0x01 (Supported):支持 |
Smart SAN Security Support |
端口支持的安全类别,包括: · 0x00 (Not Supported) · 0x01 (Tier-1) · 0x02 (Tier-2) · 0x03 (Tier-3) |
Smart SAN Connected Ports |
该端口发现的远端节点上的端口 |
端口对象的Smart SAN属性包括Smart SAN Service Category、Smart SAN GUI、Smart SAN Version、Smart SAN Product Name (Model)、Smart SAN Port Info、Smart SAN QoS Support、Smart SAN Security Support、Smart SAN Connected Ports。
每台交换机都会获取到与它直连的、已注册节点设备上的HBA信息,并向Fabric网络中的其它交换机进行同步。最终Fabric网络中的每台交换机上都会保存所有已经注册到Fabric网络的节点设备上的HBA信息。
在任意视图下执行display命令可以显示FDMI数据库信息,包括整个Fabric网络中所有已经注册节点设备上的HBA信息。
表1-4 FDMI显示和维护
显示FDMI数据库信息 |
display fdmi database [ vsan vsan-id [ hba-id hba-id ] ] [ verbose ] |
在FC SAN中,用户可以使用FC Ping检查目的地址是否可达,测试网络连接是否出现故障。
FC Ping的工作原理是:源端向目的端发送ECHO请求报文后,根据是否收到目的端的ECHO回应报文来判断目的端是否可达。对于可达的目的端,用户可以根据发送报文个数、接收到回应报文个数来判断链路的质量;根据FC Ping报文的往返时间来判断源端与目的端之间的“距离”。
· FC Ping N_Port:在交换机上执行命令,FC Ping远端的N_Port。FC Ping的目的地址为N_Port的FC地址。
· FC Ping交换机:在交换机上执行命令,FC Ping远端交换机。FC Ping的目的地址为目的交换机的域控制器地址FFFCxx,其中,xx为目的交换机的域ID。
在执行命令过程中,键入<Ctrl+C>可终止FC Ping操作 |
检查Switch A和Switch B之间是否可达。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA-vsan1] domain configure enable
# 配置Switch A的域ID为1。
[SwitchA-vsan1] domain-id 1 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchA-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置静态路由。
[SwitchA-vsan1] fc route-static 020000 8 vfc 1
[SwitchA-vsan1] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB-vsan1] domain configure enable
# 配置Switch B的域ID为2。
[SwitchB-vsan1] domain-id 2 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
[SwitchB-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置静态路由。
[SwitchB-vsan1] fc route-static 010000 8 vfc 1
[SwitchB-vsan1] quit
检查Switch A和Switch B之间是否可达。
# 在Switch A上使用fcping命令验证Switch B是否可达。
[SwitchA] fcping fcid fffc02 vsan 1
FCPING fcid 0xfffc02: 128 data bytes, press CTRL_C to break.
Reply from 0xfffc02: bytes = 128 time = 23 ms
Reply from 0xfffc02: bytes = 128 time = 9 ms
Reply from 0xfffc02: bytes = 128 time = 19 ms
Reply from 0xfffc02: bytes = 128 time = 14 ms
Reply from 0xfffc02: bytes = 128 time = 25 ms
--- 0xfffc02 fcping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 9/18/25 ms
用户可以通过FC Tracert功能获取本端到目的端之间的双向路由信息,从而检查网络连接是否可用。当网络出现故障时,用户可以使用该功能分析出现故障的网络节点。
FC Tracert的目的端可以是N节点,也可以是FCF交换机。
FC Tracert过程分为上行、下行两个子过程:
l 在上行过程中,从本端开始,逐跳向到达目的端经过的所有交换机发送STR(Switch Trace Route,FCF交换机路由探测)报文,直至目的交换机(如果FC Tracert的目的端是N节点,目的交换机指的是与N节点直连的FCF交换机)。在这个过程中,每台交换机都会向STR报文中添加本机的上行路径信息,包括交换机的WWN、域ID等信息。STR报文到达目的交换机后,将开始下行过程。
l 在下行过程中,从目的端开始,逐跳向到达源端经过的所有交换机发送STR报文,直至源交换机。同样,在这个过程中,每台交换机都会向STR报文中添加本机的下行路径信息,包含的信息内容与上行路径信息相同。当源交换机收到下行的STR报文后,表示整个FC Tracert过程结束。源交换机将输出STR报文中携带的所有经过的上行和下行交换机信息。如果在FC Tracert过程中的任一中间交换机上处理失败,会在STR报文中设置相应的错误原因,并将该STR报文(报文中包含已经通过的交换机的信息)直接发给源交换机。
下面以图14-1为例,介绍一下FC Tracert的基本过程。
图14-1 FC Tracert过程示意图
Switch A FC Tracert Switch C的基本过程如下:
(1) 源交换机Switch A将自己的上行路径信息(包括交换机的WWN和域ID)填入STR请求报文,并将该STR请求报文发给下一跳交换机Switch B。Switch B收到STR请求报文后,向Switch A回STR ACC报文,表明自己收到了STR请求报文;
(2) Switch B将自己的上行路径信息添加到收到的STR请求报文中以后,将该STR请求报文发给目的交换机Switch C。Switch C收到STR请求报文后,向Switch B回STR ACC报文;
(3) 目的交换机Switch C将自己的上行路径信息也添加到收到的STR请求报文中,完成上行路径信息收集。
(1) 目的交换机Switch C以相同方式逐跳发送STR请求报文到源交换机Switch A,完成下行路径信息收集;
(2) 源交换机Switch A收到携带下行标志的STR请求报文后,将输出STR请求报文中携带的所有上行和下行交换机信息。
在执行命令过程中,键入<Ctrl+C>可终止FC Tracert操作 |
通过FC Tracert功能获取Switch A到Switch C的双向路由信息。如果路由不可达,需要确定故障的网络节点。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA-vsan1] domain configure enable
# 配置域ID为1。
[SwitchA-vsan1] domain-id 1 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 关闭FSPF功能。
[SwitchA-vsan1] undo fspf enable
# 配置静态路由。
[SwitchA-vsan1] fc route-static 020000 8 vfc 1
[SwitchA-vsan1] fc route-static 030000 8 vfc 1
[SwitchA-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchB] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB-vsan1] domain configure enable
# 配置域ID为2。
[SwitchB-vsan1] domain-id 2 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 关闭FSPF功能。
[SwitchB-vsan1] undo fspf enable
# 配置静态路由。
[SwitchB-vsan1] fc route-static 010000 8 vfc 1
[SwitchB-vsan1] quit
# 创建VFC接口VFC1,配置VFC1接口工作在E模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC1接口。
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/1] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/1] quit
# 创建VFC接口VFC2,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC2接口。
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[SwitchB] interface ten-gigabitethernet 1/0/2
[SwitchB-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[SwitchB-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchC] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the
system to make it effective.
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC-vsan1] domain configure enable
# 配置域ID为3。
[SwitchC-vsan1] domain-id 3 static
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 关闭FSPF功能。
[SwitchC-vsan1] undo fspf enable
[SwitchC-vsan1] quit
#创建VFC接口VFC2,配置VFC2接口工作在E模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet1/0/2上,并将VFC2接口以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过VFC2接口。
[SwitchC-Vfc2] fc mode e
[SwitchC-Vfc2] bind interface ten-gigabitethernet 1/0/2
[SwitchC-Vfc2] port trunk vsan 1
[SwitchC-Vfc2] quit
# 配置以太网接口Ten-GigabitEthernet1/0/2允许VLAN 10的报文通过。
[SwitchC] interface ten-gigabitethernet 1/0/2
[SwitchC-Ten-GigabitEthernet1/0/2] port link-type trunk
[SwitchC-Ten-GigabitEthernet1/0/2] port trunk permit vlan 10
[SwitchC-Ten-GigabitEthernet1/0/2] quit
# 开启VLAN 10的FCoE功能,并将其与VSAN 1进行映射。
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
(4) 使用fcping命令查看SwitchA和Switch C之间的路由是否可达
[SwitchA] fcping fcid fffc03 vsan 1
FCPING fcid 0xfffc03: 128 data bytes, press CTRL_C to break.
Request time out
Request time out
Request time out
Request time out
Request time out
--- 0xfffc03 fcping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
(5) Switch A和Switch C之间的路由不可达,使用fctracert命令确定故障的网络节点
[SwitchA] fctracert fcid fffc03 vsan 1
Route present for: 0xfffc03, press CTRL_C to break
20:00:00:0b:46:00:02:82(0xfffc01)
20:00:00:05:30:00:18:db(0xfffc02)
Fctracert uncompleted: no route to destination port.
从上面的结果可以看出,Switch A和Switch C之间路由不可达,Switch A和Switch B之间路由可达,Switch B和Switch C之间的连接出了问题。此时可以在Switch B上使用display fc routing-table命令查看有没有到Switch C的路由。
如图15-1所示,Switch A和Switch B与以太网交换机连接,作为LAN网络的接入层;Switch A和Switch B分别与Switch C和Switch D连接,作为SAN网络的FCF交换机。
· Switch A和Switch B与以太网交换机所组成的传输网络能够使服务器为LAN网络提供业务服务;Switch A~Switch D所组成的传输网络能够使服务器访问磁盘设备内的存储资源。
· 满足用户对服务器、磁盘设备等设备收发报文的高可靠性要求,需要实现链路备份功能。
· 提高Switch A和Switch C之间、Switch B和Switch D之间链路的带宽,并实现链路备份和负载分担。
图15-1 配置非IRF模式的FCoE组网图
· 为了实现SAN网络中的存储数据流量能够在无损以太网链路上传输,H3C建议用户在交换机上与服务器连接的以太网接口上配置DCBX、自动协商模式的PFC、ETS功能;在交换机上与磁盘设备连接的以太网接口上配置DCBX、自动协商模式的PFC功能;在交换机之间连接的以太网接口上要强制开启PFC功能。
· 为了实现服务器到磁盘设备间的链路备份,使用互相隔离的两个SAN网络(服务器、Switch A、Switch C和磁盘设备所组成的SAN网络与服务器、Switch B、Switch D和磁盘设备所组成的SAN网络是两个不同的物理SAN网络)为服务器提供到存储设备的连接,两个SAN网络可以使用相同的VSAN。
· LAN网络的以太网数量流量在VLAN 1001中传输,Switch A和Switch B与LAN网络/服务器所连接的以太网接口上需要允许VLAN 1001中的报文通过。
· SAN网络的存储数据流量在VSAN 100中传输,4台FCF交换机上接入SAN网络的接口上需要允许VSAN 100中的报文通过。配置VLAN 4001与VSAN 100进行映射,使得VSAN 100内的存储数据流量在VLAN 4001中传输。
· 为了防止LAN网络存在物理环路,需要在Switch A和Switch B与LAN网络/服务器所连接的以太网接口开启STP功能。为了避免STP功能阻塞Switch A和Switch B负责转发存储流量的接口,需要保证4台FCF交换机之间的接口上没有开启STP功能。
· 由于SAN网络结构比较复杂,建议用户采用动态方式建立Fabric网络,使用FSPF协议建立FC路由。
· 为了实现服务器能够访问磁盘设备内的存储资源,需要配置允许默认Zone内的成员互相访问。
· 为了提高Switch A和Switch C之间、Switch B和Switch D之间链路的带宽,并实现链路备份和负载分担,分别配置以太网聚合链路1和以太网聚合链路2。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the system to make it effective.
[SwitchA] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
Slot 1:
Save next configuration file successfully.
[SwitchA] quit
<SwitchA> reboot
Start to check configuration with next startup configuration file, please wait.........DONE!
Current configuration will be lost after the reboot, save current configuration? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Configuration is saved to flash successfully.
This command will reboot the device. Continue? [Y/N]:y
Now rebooting, please wait...
(2) VLAN和接口部署
# 创建VLAN 1001、4001,分别用来传输以太网数据流量和存储数据流量。
[SwitchA] vlan 1001
[SwitchA-vlan1001] description ToLAN
[SwitchA-vlan1001] quit
[SwitchA] vlan 4001
[SwitchA-vlan4001] description ToSAN
[SwitchA-vlan4001] quit
# 开启全局STP功能。
# 配置以太网接口Ten-GigabitEthernet1/0/1为Hybrid接口,允许VLAN 1001的以太网数据报文不带Tag标签通过,允许VLAN 4001的存储数据报文带Tag标签通过,设置接口的PVID为VLAN 1001,并开启STP功能。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid vlan 1001 untagged
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid vlan 4001 tagged
[SwitchA-Ten-GigabitEthernet1/0/1] port hybrid pvid vlan 1001
[SwitchA-Ten-GigabitEthernet1/0/1] stp enable
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 配置以太网接口Ten-GigabitEthernet1/0/10为Trunk接口,允许VLAN 1001的以太网数据报文通过,并开启STP功能。
[SwitchA] interface ten-gigabitethernet 1/0/10
[SwitchA-Ten-GigabitEthernet1/0/10] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/0/10] port trunk permit vlan 1001
[SwitchA-Ten-GigabitEthernet1/0/10] stp enable
[SwitchA-Ten-GigabitEthernet1/0/10] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭STP功能。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] undo stp enable
[SwitchA-Bridge-Aggregation1] quit
# 将以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8共4个接口加入二层聚合组1。
[SwitchA] interface ten-gigabitethernet 1/0/5
[SwitchA-Ten-GigabitEthernet1/0/5] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/0/5] quit
[SwitchA] interface ten-gigabitethernet 1/0/6
[SwitchA-Ten-GigabitEthernet1/0/6] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/0/6] quit
[SwitchA] interface ten-gigabitethernet 1/0/7
[SwitchA-Ten-GigabitEthernet1/0/7] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/0/7] quit
[SwitchA] interface ten-gigabitethernet 1/0/8
[SwitchA-Ten-GigabitEthernet1/0/8] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/0/8] quit
# 配置二层聚合接口1为Trunk接口,允许VLAN 4001的存储数据报文通过。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] port link-type trunk
[SwitchA-Bridge-Aggregation1] port trunk permit vlan 4001
[SwitchA-Bridge-Aggregation1] quit
(3) DCBX部署
# 全局开启LLDP功能。
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchA-acl-mac-4000] rule 0 permit type 8906 ffff
[SwitchA-acl-mac-4000] rule 5 permit type 8914 ffff
[SwitchA-acl-mac-4000] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配ACL 4000。
[SwitchA] traffic classifier DCBX operator or
[SwitchA-classifier-DCBX] if-match acl 4000
[SwitchA-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[SwitchA] traffic behavior DCBX
[SwitchA-behavior-DCBX] remark dot1p 3
[SwitchA-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[SwitchA-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchA-qospolicy-DCBX] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet1/0/1的出方向上应用QoS策略。
[SwitchA-Ten-GigabitEthernet1/0/1] qos apply policy DCBX outbound
(4) PFC部署
# 在以太网接口Ten-GigabitEthernet1/0/1上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA-Ten-GigabitEthernet1/0/1] priority-flow-control auto
[SwitchA-Ten-GigabitEthernet1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/1] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/1] quit
# 在以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface ten-gigabitethernet 1/0/5
[SwitchA-Ten-GigabitEthernet1/0/5] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/0/5] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/5] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/5] quit
[SwitchA] interface ten-gigabitethernet 1/0/6
[SwitchA-Ten-GigabitEthernet1/0/6] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/0/6] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/6] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/6] quit
[SwitchA] interface ten-gigabitethernet 1/0/7
[SwitchA-Ten-GigabitEthernet1/0/7] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/0/7] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/7] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/7] quit
[SwitchA] interface ten-gigabitethernet 1/0/8
[SwitchA-Ten-GigabitEthernet1/0/8] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/0/8] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/0/8] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/0/8] quit
(5) ETS部署
# 配置802.1p优先级到本地优先级的映射,将802.1p优先级3映射到本地优先级1,配置其它的802.1p优先级映射到本地优先级0。
[SwitchA] qos map-table dot1p-lp
[SwitchA-maptbl-dot1p-lp] import 3 export 1
[SwitchA-maptbl-dot1p-lp] import 0 export 0
[SwitchA-maptbl-dot1p-lp] import 1 export 0
[SwitchA-maptbl-dot1p-lp] import 2 export 0
[SwitchA-maptbl-dot1p-lp] import 4 export 0
[SwitchA-maptbl-dot1p-lp] import 5 export 0
[SwitchA-maptbl-dot1p-lp] import 6 export 0
[SwitchA-maptbl-dot1p-lp] import 7 export 0
[SwitchA-maptbl-dot1p-lp] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr byte-count
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 1 group 1 byte-count 1
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 0 group 1 byte-count 1
# 在以太网接口Ten-GigabitEthernet1/0/1上配置其它的队列为SP调度方式。
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 2 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 3 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 4 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 5 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 6 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] qos wrr 7 group sp
[SwitchA-Ten-GigabitEthernet1/0/1] quit
(6) FCoE部署
# 配置FCoE模式为FCF模式,进入VSAN 100的视图,开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchA] vsan 100
[SwitchA-vsan100] domain configure enable
# 配置域ID为2。
[SwitchA-vsan100] domain-id 2 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启FSPF功能。
[SwitchA-vsan100] quit
# 创建VFC1接口,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchA-Vfc1] port trunk vsan 100
[SwitchA-Vfc1] quit
# 创建VFC10接口,配置VFC10接口工作在E模式,将VFC10接口绑定到二层聚合接口Bridge-Aggregation1上,并将VFC10接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC10接口。
[SwitchA-Vfc10] fc mode e
[SwitchA-Vfc10] bind interface bridge-aggregation 1
[SwitchA-Vfc10] port trunk vsan 100
# 开启VFC10接口的FSPF功能。
[SwitchA-Vfc10] undo fspf silent vsan 100
[SwitchA-Vfc10] quit
# 开启VLAN 4001的FCoE功能,并将其与VSAN 100进行映射。
[SwitchA-vlan4001] fcoe enable vsan 100
[SwitchA-vlan4001] quit
# 进入VSAN 100的视图,配置允许默认Zone内的成员互相访问。
[SwitchA-vsan100] zone default-zone permit
[SwitchA-vsan100] quit
Switch B上的配置与Switch A类似,差异处为Switch B上配置的二层聚合接口是Bridge-Aggregation2,Switch A上配置的二层聚合接口是Bridge-Aggregation1,配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchC] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the system to make it effective.
[SwitchC] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
Slot 1:
Save next configuration file successfully.
[SwitchC] quit
<SwitchC> reboot
Start to check configuration with next startup configuration file, please wait.........DONE!
Current configuration will be lost after the reboot, save current configuration? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Configuration is saved to flash successfully.
This command will reboot the device. Continue? [Y/N]:y
Now rebooting, please wait...
(2) VLAN和接口部署
# 创建VLAN 4001,用来传输存储数据流量。
[SwitchC] vlan 4001
[SwitchC-vlan4001] description ToSAN
[SwitchC-vlan4001] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1为Hybrid接口,允许VLAN 4001的存储数据报文通过,设置接口的PVID为VLAN 4001。
[SwitchC] interface ten-gigabitethernet 1/0/1
[SwitchC-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchC-Ten-GigabitEthernet1/0/1] port hybrid vlan 4001 tagged
[SwitchC-Ten-GigabitEthernet1/0/1] port hybrid pvid vlan 4001
[SwitchC-Ten-GigabitEthernet1/0/1] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchC-Bridge-Aggregation1] quit
# 将以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8共4个接口加入二层聚合组1。
[SwitchC] interface ten-gigabitethernet 1/0/5
[SwitchC-Ten-GigabitEthernet1/0/5] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/5] quit
[SwitchC] interface ten-gigabitethernet 1/0/6
[SwitchC-Ten-GigabitEthernet1/0/6] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/6] quit
[SwitchC] interface ten-gigabitethernet 1/0/7
[SwitchC-Ten-GigabitEthernet1/0/7] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/7] quit
[SwitchC] interface ten-gigabitethernet 1/0/8
[SwitchC-Ten-GigabitEthernet1/0/8] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/8] quit
# 配置二层聚合接口1为Trunk接口,允许VLAN 4001的存储数据报文通过。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] port link-type trunk
[SwitchC-Bridge-Aggregation1] port trunk permit vlan 4001
[SwitchC-Bridge-Aggregation1] quit
(3) DCBX部署
# 全局开启LLDP功能。
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchC-acl-mac-4000] rule 0 permit type 8906 ffff
[SwitchC-acl-mac-4000] rule 5 permit type 8914 ffff
[SwitchC-acl-mac-4000] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配ACL 4000。
[SwitchC] traffic classifier DCBX operator or
[SwitchC-classifier-DCBX] if-match acl 4000
[SwitchC-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[SwitchC] traffic behavior DCBX
[SwitchC-behavior-DCBX] remark dot1p 3
[SwitchC-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[SwitchC-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchC-qospolicy-DCBX] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchC] interface ten-gigabitethernet 1/0/1
[SwitchC-Ten-GigabitEthernet1/0/1] lldp enable
[SwitchC-Ten-GigabitEthernet1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet1/0/1的出方向上应用QoS策略。
[SwitchC-Ten-GigabitEthernet1/0/1] qos apply policy DCBX outbound
(4) PFC部署
# 在以太网接口Ten-GigabitEthernet1/0/1上配置与磁盘设备自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC-Ten-GigabitEthernet1/0/1] priority-flow-control auto
[SwitchC-Ten-GigabitEthernet1/0/1] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/1] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/1] quit
# 在以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC] interface ten-gigabitethernet 1/0/5
[SwitchC-Ten-GigabitEthernet1/0/5] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/5] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/5] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/5] quit
[SwitchC] interface ten-gigabitethernet 1/0/6
[SwitchC-Ten-GigabitEthernet1/0/6] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/6] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/6] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/6] quit
[SwitchC] interface ten-gigabitethernet 1/0/7
[SwitchC-Ten-GigabitEthernet1/0/7] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/7] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/7] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/7] quit
[SwitchC] interface ten-gigabitethernet 1/0/8
[SwitchC-Ten-GigabitEthernet1/0/8] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/8] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/8] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/8] quit
(5) FCoE部署
# 配置FCoE模式为FCF模式,进入VSAN 100的视图,开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchC] vsan 100
[SwitchC-vsan100] domain configure enable
# 配置交换机的优先级为1,使Switch C成为主交换机。
# 配置域ID为1。
[SwitchC-vsan100] domain-id 1 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启FSPF功能。
[SwitchC-vsan100] quit
# 创建VFC1接口,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC1接口。
[SwitchC-Vfc1] fc mode f
[SwitchC-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchC-Vfc1] port trunk vsan 100
[SwitchC-Vfc1] quit
# 创建VFC10接口,配置VFC10接口工作在E模式,将VFC10接口绑定到二层聚合接口Bridge-Aggregation1上,并将VFC10接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC10接口。
[SwitchC-Vfc10] fc mode e
[SwitchC-Vfc10] bind interface bridge-aggregation 1
[SwitchC-Vfc10] port trunk vsan 100
# 开启VFC10接口的FSPF功能。
[SwitchC-Vfc10] undo fspf silent vsan 100
[SwitchC-Vfc10] quit
# 开启VLAN 4001的FCoE功能,并将其与VSAN 100进行映射。
[SwitchC-vlan4001] fcoe enable vsan 100
[SwitchC-vlan4001] quit
# 进入VSAN 100的视图,配置允许默认Zone内的成员互相访问。
[SwitchC-vsan100] zone default-zone permit
[SwitchC-vsan100] quit
Switch D上的配置与Switch C类似,差异处为Switch D上配置的二层聚合接口是Bridge-Aggregation2,Switch C上配置的二层聚合接口是Bridge-Aggregation1,配置步骤略。
# 显示VSAN 100内的域信息。
[SwitchA] display fc domain vsan 100
Domain Information of VSAN 100:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1A:1A
Fabric name: 48:33:43:2d:46:43:1C:1C
Priority: 128
Domain ID: 2
Configuration information:
Domain configure: Enabled
Domain auto-reconfigure: Disabled
Fabric name: 48:33:43:2d:46:43:1A:1A
Priority: 128
Domain ID: 2 (preferred)
Principal switch running time information:
Priority: 1
Path Interface
Upstream Vfc10
从上述信息可以看出,Switch A的配置已经结束,主交换机为Switch A分配的域ID为2。
# 显示VSAN 100内的域列表。
[SwitchA] display fc domain-list vsan 100
Domain list of VSAN 100:
Number of domains: 2
Domain ID WWN
0x01(1) 48:33:43:2d:46:43:1C:1C [Principal]
0x02(2) 48:33:43:2d:46:43:1A:1A [Local]
从上述信息可以看出,Switch C成为主交换机,主交换机给自己分配了配置的想要获取的域ID 1。
# 显示Switch A路由表相关信息。
[SwitchA] display fc routing-table vsan 100
Routing Table: VSAN 100
Destinations : 5 Routes : 5
Destination/mask Protocol Preference Cost Interface
0x010000/8 FSPF 20 100 Vfc10
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
从上述信息可以看出,Switch A上存在了一条到Switch C的FSPF路由,出接口为VFC10接口。
# 显示Switch A上的节点注册的相关信息。
[SwitchA] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc1 100 0x020000 21:01:00:1b:32:a0:fa:12 21:01:00:1b:32:a0:fa:11
# 显示VSAN 100内的名称服务数据库的简要信息。
[SwitchA] display fc name-service database vsan 100
VSAN 100:
FCID Type PWWN(vendor) FC4-type:feature
0x010000 0x01(N) 10:00:00:05:30:00:25:a3 SCSI-FCP:Target
0x020000 0x01(N) 21:01:00:1b:32:a0:fa:11 SCSI-FCP:Initiator
Switch B上的验证方法与Switch A的完全相同,验证信息略。
# 显示Switch C上的节点注册的相关信息。
[SwitchC] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc1 100 0x010000 10:00:00:05:30:00:25:a4 10:00:00:05:30:00:25:a3
Switch D上的验证方法与Switch C的完全相同,验证信息略。
如图15-2所示,Switch A和Switch B与以太网交换机连接,作为LAN网络的接入层;Switch A和Switch B分别与Switch C和Switch D连接,作为SAN网络的FCF交换机。
· Switch A和Switch B与以太网交换机所组成的传输网络能够使服务器为LAN网络提供业务服务;Switch A~Switch D所组成的传输网络能够使服务器访问磁盘设备内的存储资源。
· 满足用户对服务器、磁盘设备等设备收发报文的高可靠性要求,需要实现链路备份功能。
· 提高Switch A和Switch C之间、Switch B和Switch D之间链路的带宽,并实现链路备份和负载分担。
· 实现对Switch A和Switch B的统一管理,集合多台设备的硬件资源和软件处理能力,一旦其中一台设备发生故障,另一台设备能够迅速起到备份作用,以保证业务不中断。
图15-2 配置IRF模式的FCoE组网图
· 为了实现对Switch A和Switch B的统一管理和设备间的备份作用,将Switch A和Switch B通过部署IRF功能虚拟化成一台IRF设备(Switch A为主用设备),作为LAN网络的接入层和SAN网络的FCF交换机。
· 将Switch A和Switch B相连接的4条物理链路配置为一条IRF链路,链路两端的端口分别为IRF端口1/1和IRF端口2/2。Switch A和Switch B与以太网交换机之间的以太网链路形成跨设备聚合,即以太网聚合链路3。
· 为了实现SAN网络中的存储数据流量能够在无损以太网链路上传输,H3C建议用户在交换机上与服务器连接的以太网接口上配置DCBX、自动协商模式的PFC、ETS功能;在交换机上与磁盘设备连接的以太网接口上配置DCBX、自动协商模式的PFC功能;在交换机之间连接的以太网接口上要强制开启PFC功能。
· 为了实现服务器到磁盘设备间的链路备份,使用互相隔离的两个SAN网络(服务器、IRF设备、Switch C和磁盘设备所组成的SAN网络与服务器、IRF设备、Switch D和磁盘设备所组成的SAN网络是两个不同的物理SAN网络)为服务器提供到存储设备的连接,但由于服务器连接的不再是两台独立的设备,而是连接了一台IRF设备,所以两个SAN网络需要使用不同的VSAN(例如VSAN 100和VSAN 200),IRF设备连接这两个VSAN。
· LAN网络的以太网数量流量在VLAN 1001中传输,IRF设备与LAN网络/服务器所连接的以太网接口上需要允许VLAN 1001中的报文通过。
· SAN网络的存储数据流量在VSAN 100、VSAN 200中传输,Switch A和Switch C上接入SAN网络的接口上需要允许VSAN 100中的报文通过,Switch B和Switch D上接入SAN网络的接口上需要允许VSAN 200中的报文通过。配置VLAN 4001与VSAN 100进行映射,使得VSAN 100内的存储数据流量在VLAN 4001中传输;配置VLAN 4002与VSAN 200进行映射,使得VSAN 200内的存储数据流量在VLAN 4002中传输。
· 为了防止LAN网络存在物理环路,需要在IRF设备与LAN网络/服务器所连接的以太网接口开启STP功能。为了避免STP功能阻塞IRF设备负责转发存储数据流量的接口,需要保证IRF设备与Switch C和Switch D连接的接口上没有开启STP功能。
· 由于SAN网络结构比较复杂,建议用户采用动态方式建立Fabric网络,使用FSPF协议建立FC路由。
· 为了实现服务器能够访问磁盘设备内的存储资源,需要配置允许默认Zone内的成员互相访问。
· 为了提高IRF设备和Switch C之间、IRF设备和Switch D之间链路的带宽,并实现链路备份和负载分担,分别配置以太网聚合链路1和以太网聚合链路2。
· 本例中只列出FCoE的相关配置。
· 本例中IRF的相关配置略,具体配置请参考“IRF配置指导”中的“IRF配置”。
· IRF端口是一种专用于IRF成员设备之间进行连接的逻辑接口,它需要和物理端口绑定之后才能生效。IRF端口所在的链路即为IRF链路。
· Switch A和Switch B通过部署IRF功能虚拟化成一台IRF设备后,IRF设备的所有配置均可在其中一台设备上完成配置过程。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchA] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the system to make it effective.
[SwitchA] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
Slot 1:
Save next configuration file successfully.
[SwitchA] quit
<SwitchA> reboot
Start to check configuration with next startup configuration file, please wait.........DONE!
Current configuration will be lost after the reboot, save current configuration? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Configuration is saved to flash successfully.
This command will reboot the device. Continue? [Y/N]:y
Now rebooting, please wait...
(2) VLAN和接口部署
# 创建VLAN 1001、4001、4002,分别用来传输以太网数据流量和存储数据流量。
[SwitchA] vlan 1001
[SwitchA-vlan1001] description ToLAN
[SwitchA-vlan1001] quit
[SwitchA] vlan 4001
[SwitchA-vlan4001] description ToSAN_A
[SwitchA-vlan4001] quit
[SwitchA] vlan 4002
[SwitchA-vlan4002] description ToSAN_B
[SwitchA-vlan4002] quit
# 开启全局STP功能。
# 配置以太网接口Ten-GigabitEthernet1/1/0/1为Hybrid接口,允许VLAN 1001的以太网数据报文不带Tag标签通过,允许VLAN 4001的存储数据报文带Tag标签通过,设置接口的PVID为VLAN 1001,并开启STP功能。
[SwitchA] interface ten-gigabitethernet 1/1/0/1
[SwitchA-Ten-GigabitEthernet1/1/0/1] port link-type hybrid
[SwitchA-Ten-GigabitEthernet1/1/0/1] port hybrid vlan 1001 untagged
[SwitchA-Ten-GigabitEthernet1/1/0/1] port hybrid vlan 4001 tagged
[SwitchA-Ten-GigabitEthernet1/1/0/1] port hybrid pvid vlan 1001
[SwitchA-Ten-GigabitEthernet1/1/0/1] stp enable
[SwitchA-Ten-GigabitEthernet1/1/0/1] quit
# 配置以太网接口Ten-GigabitEthernet2/1/0/1为Hybrid接口,允许VLAN 1001的以太网数据报文不带Tag标签通过,允许VLAN 4002的存储数据报文带Tag标签通过,设置接口的PVID为VLAN 1001,并开启STP功能。
[SwitchA] interface ten-gigabitethernet 2/1/0/1
[SwitchA-Ten-GigabitEthernet2/1/0/1] port link-type hybrid
[SwitchA-Ten-GigabitEthernet2/1/0/1] port hybrid vlan 1001 untagged
[SwitchA-Ten-GigabitEthernet2/1/0/1] port hybrid vlan 4002 tagged
[SwitchA-Ten-GigabitEthernet2/1/0/1] port hybrid pvid vlan 1001
[SwitchA-Ten-GigabitEthernet2/1/0/1] stp enable
[SwitchA-Ten-GigabitEthernet2/1/0/1] quit
# 配置以太网接口Ten-GigabitEthernet1/1/0/10和Ten-GigabitEthernet2/1/0/10为Trunk接口,允许VLAN 1001的以太网数据报文通过,并开启STP功能。
[SwitchA] interface ten-gigabitethernet 1/1/0/10
[SwitchA-Ten-GigabitEthernet1/1/0/10] port link-type trunk
[SwitchA-Ten-GigabitEthernet1/1/0/10] port trunk permit vlan 1001
[SwitchA-Ten-GigabitEthernet1/1/0/10] stp enable
[SwitchA-Ten-GigabitEthernet1/1/0/10] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/10
[SwitchA-Ten-GigabitEthernet2/1/0/10] port link-type trunk
[SwitchA-Ten-GigabitEthernet2/1/0/10] port trunk permit vlan 1001
[SwitchA-Ten-GigabitEthernet2/1/0/10] stp enable
[SwitchA-Ten-GigabitEthernet2/1/0/10] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭STP功能。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] undo stp enable
[SwitchA-Bridge-Aggregation1] quit
# 将以太网接口Ten-GigabitEthernet1/1/0/5~Ten-GigabitEthernet1/1/0/8共4个接口加入二层聚合组1。
[SwitchA] interface ten-gigabitethernet 1/1/0/5
[SwitchA-Ten-GigabitEthernet1/1/0/5] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/1/0/5] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/6
[SwitchA-Ten-GigabitEthernet1/1/0/6] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/1/0/6] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/7
[SwitchA-Ten-GigabitEthernet1/1/0/7] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/1/0/7] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/8
[SwitchA-Ten-GigabitEthernet1/1/0/8] port link-aggregation group 1
[SwitchA-Ten-GigabitEthernet1/1/0/8] quit
# 配置二层聚合接口1为Trunk接口,允许VLAN 4001的存储数据报文通过。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] port link-type trunk
[SwitchA-Bridge-Aggregation1] port trunk permit vlan 4001
[SwitchA-Bridge-Aggregation1] quit
# 创建二层聚合接口2,配置其对应的聚合组工作在动态聚合模式下,并关闭STP功能。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation2] undo stp enable
[SwitchA-Bridge-Aggregation2] quit
# 将以太网接口Ten-GigabitEthernet2/1/0/5~Ten-GigabitEthernet2/1/0/8共4个接口加入二层聚合组2。
[SwitchA] interface ten-gigabitethernet 2/1/0/5
[SwitchA-Ten-GigabitEthernet2/1/0/5] port link-aggregation group 2
[SwitchA-Ten-GigabitEthernet2/1/0/5] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/6
[SwitchA-Ten-GigabitEthernet2/1/0/6] port link-aggregation group 2
[SwitchA-Ten-GigabitEthernet2/1/0/6] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/7
[SwitchA-Ten-GigabitEthernet2/1/0/7] port link-aggregation group 2
[SwitchA-Ten-GigabitEthernet2/1/0/7] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/8
[SwitchA-Ten-GigabitEthernet2/1/0/8] port link-aggregation group 2
[SwitchA-Ten-GigabitEthernet2/1/0/8] quit
# 配置二层聚合接口2为Trunk接口,允许VLAN 4002的存储数据报文通过。
[SwitchA] interface bridge-aggregation 2
[SwitchA-Bridge-Aggregation2] port link-type trunk
[SwitchA-Bridge-Aggregation2] port trunk permit vlan 4002
[SwitchA-Bridge-Aggregation2] quit
# 创建二层聚合接口3,配置其对应的聚合组工作在动态聚合模式下,并开启STP功能。
[SwitchA] interface bridge-aggregation 3
[SwitchA-Bridge-Aggregation3] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation3] stp enable
# 开启二层聚合接口3的LACP MAD检测功能。
[SwitchA-Bridge-Aggregation3] mad enable
You need to assign a domain ID (range: 0-4294967295)
[Current domain is: 1]:
The assigned domain ID is: 1
Info: MAD LACP only enable on dynamic aggregation interface.
[SwitchA-Bridge-Aggregation3] quit
# 将以太网接口Ten-GigabitEthernet1/1/0/10、Ten-GigabitEthernet2/1/0/10加入二层聚合组3。
[SwitchA] interface ten-gigabitethernet 1/1/0/10
[SwitchA-Ten-GigabitEthernet1/1/0/10] port link-aggregation group 3
[SwitchA-Ten-GigabitEthernet1/1/0/10] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/10
[SwitchA-Ten-GigabitEthernet2/1/0/10] port link-aggregation group 3
[SwitchA-Ten-GigabitEthernet2/1/0/10] quit
# 配置二层聚合接口3为Trunk接口,允许VLAN 1001的存储数据报文通过。
[SwitchA] interface bridge-aggregation 3
[SwitchA-Bridge-Aggregation3] port link-type trunk
[SwitchA-Bridge-Aggregation3] port trunk permit vlan 1001
[SwitchA-Bridge-Aggregation3] quit
(3) DCBX部署
# 全局开启LLDP功能。
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchA-acl-mac-4000] rule 0 permit type 8906 ffff
[SwitchA-acl-mac-4000] rule 5 permit type 8914 ffff
[SwitchA-acl-mac-4000] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配ACL 4000。
[SwitchA] traffic classifier DCBX operator or
[SwitchA-classifier-DCBX] if-match acl 4000
[SwitchA-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[SwitchA] traffic behavior DCBX
[SwitchA-behavior-DCBX] remark dot1p 3
[SwitchA-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[SwitchA-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchA-qospolicy-DCBX] quit
# 在以太网接口Ten-GigabitEthernet1/1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface ten-gigabitethernet 1/1/0/1
[SwitchA-Ten-GigabitEthernet1/1/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet1/1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet1/1/0/1的出方向上应用QoS策略。
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos apply policy DCBX outbound
[SwitchA-Ten-GigabitEthernet1/1/0/1] quit
# 在以太网接口Ten-GigabitEthernet2/1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface ten-gigabitethernet 2/1/0/1
[SwitchA-Ten-GigabitEthernet2/1/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet2/1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet2/1/0/1的出方向上应用QoS策略。
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos apply policy DCBX outbound
[SwitchA-Ten-GigabitEthernet2/1/0/1] quit
(4) PFC部署
# 在以太网接口Ten-GigabitEthernet1/1/0/1和Ten-GigabitEthernet2/1/0/1上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface ten-gigabitethernet 1/1/0/1
[SwitchA-Ten-GigabitEthernet1/1/0/1] priority-flow-control auto
[SwitchA-Ten-GigabitEthernet1/1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/1/0/1] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/1
[SwitchA-Ten-GigabitEthernet2/1/0/1] priority-flow-control auto
[SwitchA-Ten-GigabitEthernet2/1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos trust dot1p
[SwitchA-Ten-GigabitEthernet2/1/0/1] quit
# 在以太网接口Ten-GigabitEthernet1/1/0/5~Ten-GigabitEthernet1/1/0/8和以太网接口Ten-GigabitEthernet2/1/0/5~Ten-GigabitEthernet2/1/0/8上配置PFC功能的开启模式为强制模式,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface ten-gigabitethernet 1/1/0/5
[SwitchA-Ten-GigabitEthernet1/1/0/5] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/1/0/5] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/1/0/5] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/1/0/5] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/6
[SwitchA-Ten-GigabitEthernet1/1/0/6] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/1/0/6] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/1/0/6] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/1/0/6] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/7
[SwitchA-Ten-GigabitEthernet1/1/0/7] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/1/0/7] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/1/0/7] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/1/0/7] quit
[SwitchA] interface ten-gigabitethernet 1/1/0/8
[SwitchA-Ten-GigabitEthernet1/1/0/8] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet1/1/0/8] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet1/1/0/8] qos trust dot1p
[SwitchA-Ten-GigabitEthernet1/1/0/8] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/5
[SwitchA-Ten-GigabitEthernet2/1/0/5] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet2/1/0/5] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet2/1/0/5] qos trust dot1p
[SwitchA-Ten-GigabitEthernet2/1/0/5] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/6
[SwitchA-Ten-GigabitEthernet2/1/0/6] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet2/1/0/6] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet2/1/0/6] qos trust dot1p
[SwitchA-Ten-GigabitEthernet2/1/0/6] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/7
[SwitchA-Ten-GigabitEthernet2/1/0/7] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet2/1/0/7] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet2/1/0/7] qos trust dot1p
[SwitchA-Ten-GigabitEthernet2/1/0/7] quit
[SwitchA] interface ten-gigabitethernet 2/1/0/8
[SwitchA-Ten-GigabitEthernet2/1/0/8] priority-flow-control enable
[SwitchA-Ten-GigabitEthernet2/1/0/8] priority-flow-control no-drop dot1p 3
[SwitchA-Ten-GigabitEthernet2/1/0/8] qos trust dot1p
[SwitchA-Ten-GigabitEthernet2/1/0/8] quit
(5) ETS部署
# 配置802.1p优先级到本地优先级的映射,将802.1p优先级3映射到本地优先级1,配置其它的802.1p优先级映射到本地优先级0。
[SwitchA] qos map-table dot1p-lp
[SwitchA-maptbl-dot1p-lp] import 3 export 1
[SwitchA-maptbl-dot1p-lp] import 0 export 0
[SwitchA-maptbl-dot1p-lp] import 1 export 0
[SwitchA-maptbl-dot1p-lp] import 2 export 0
[SwitchA-maptbl-dot1p-lp] import 4 export 0
[SwitchA-maptbl-dot1p-lp] import 5 export 0
[SwitchA-maptbl-dot1p-lp] import 6 export 0
[SwitchA-maptbl-dot1p-lp] import 7 export 0
[SwitchA-maptbl-dot1p-lp] quit
# 在以太网接口Ten-GigabitEthernet1/1/0/1上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface ten-gigabitethernet 1/1/0/1
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr byte-count
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr af1 group 1 byte-count 1
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr be group 1 byte-count 1
# 在以太网接口Ten-GigabitEthernet1/1/0/1上配置其它的队列为SP调度方式。
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr af2 group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr af3 group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr af4 group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr ef group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr cs6 group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] qos wrr cs7 group sp
[SwitchA-Ten-GigabitEthernet1/1/0/1] quit
# 在以太网接口Ten-GigabitEthernet2/1/0/1上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface ten-gigabitethernet 2/1/0/1
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr af1 group 1 byte-count 1
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr be group 1 byte-count 1
# 在以太网接口Ten-GigabitEthernet2/1/0/1上配置其它的队列为SP调度方式。
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr af2 group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr af3 group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr af4 group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr ef group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr cs6 group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] qos wrr cs7 group sp
[SwitchA-Ten-GigabitEthernet2/1/0/1] quit
(6) FCoE部署
# 配置FCoE模式为FCF模式。
# 创建VSAN 100,开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchA-vsan100] domain configure enable
# 配置域ID为2。
[SwitchA-vsan100] domain-id 2 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启VSAN 100的FSPF功能。
[SwitchA-vsan100] quit
# 创建VSAN 200,开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchA-vsan200] domain configure enable
# 配置域ID为3。
[SwitchA-vsan200] domain-id 3 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启VSAN 200的FSPF功能。
[SwitchA-vsan200] quit
# 创建VFC1接口,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/1/0/1上,并将VFC1接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC1接口。
[SwitchA-Vfc1] fc mode f
[SwitchA-Vfc1] bind interface ten-gigabitethernet 1/1/0/1
[SwitchA-Vfc1] port trunk vsan 100
[SwitchA-Vfc1] quit
# 创建VFC2接口,配置VFC2接口工作在F模式,将VFC2接口绑定到以太网接口Ten-GigabitEthernet2/1/0/1上,并将VFC2接口以Trunk方式加入VSAN 200,即允许VSAN 200的报文通过VFC2接口。
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] bind interface ten-gigabitethernet 2/1/0/1
[SwitchA-Vfc2] port trunk vsan 200
[SwitchA-Vfc2] quit
# 创建VFC10接口,配置VFC10接口工作在E模式,将VFC10接口绑定到二层聚合接口Bridge-Aggregation1上,并将VFC10接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC10接口。
[SwitchA-Vfc10] fc mode e
[SwitchA-Vfc10] bind interface bridge-aggregation 1
[SwitchA-Vfc10] port trunk vsan 100
# 开启VFC10接口的FSPF功能。
[SwitchA-Vfc10] undo fspf silent vsan 100
[SwitchA-Vfc10] quit
# 创建VFC11接口,配置VFC11接口工作在E模式,将VFC11接口绑定到二层聚合接口Bridge-Aggregation2上,并将VFC11接口以Trunk方式加入VSAN 200,即允许VSAN 200的报文通过VFC11接口。
[SwitchA-Vfc11] fc mode e
[SwitchA-Vfc11] bind interface bridge-aggregation 2
[SwitchA-Vfc11] port trunk vsan 200
# 开启VFC11接口的FSPF功能。
[SwitchA-Vfc11] undo fspf silent vsan 200
[SwitchA-Vfc11] quit
# 开启VLAN 4001的FCoE功能,并将其与VSAN 100进行映射。
[SwitchA-vlan4001] fcoe enable vsan 100
[SwitchA-vlan4001] quit
# 开启VLAN 4002的FCoE功能,并将其与VSAN 200进行映射。
[SwitchA-vlan4002] fcoe enable vsan 200
[SwitchA-vlan4002] quit
# 进入VSAN 100的视图,配置允许默认Zone内的成员互相访问。
[SwitchA-vsan100] zone default-zone permit
[SwitchA-vsan100] quit
# 进入VSAN 200的视图,配置允许默认Zone内的成员互相访问。
[SwitchA-vsan200] zone default-zone permit
[SwitchA-vsan200] quit
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
[SwitchC] system-working-mode advance
Do you want to change the system working mode? [Y/N]:y
The system working mode is changed, please save the configuration and reboot the system to make it effective.
[SwitchC] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
Slot 1:
Save next configuration file successfully.
[SwitchC] quit
<SwitchC> reboot
Start to check configuration with next startup configuration file, please wait.........DONE!
Current configuration will be lost after the reboot, save current configuration? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Configuration is saved to flash successfully.
This command will reboot the device. Continue? [Y/N]:y
Now rebooting, please wait...
(2) VLAN和接口部署
# 创建VLAN 4001,用来传输存储数据流量。
[SwitchC] vlan 4001
[SwitchC-vlan4001] description ToSAN_A
[SwitchC-vlan4001] quit
# 配置以太网接口Ten-GigabitEthernet1/0/1为Hybrid接口,允许VLAN 4001的存储数据报文通过,设置接口的PVID为VLAN 4001。
[SwitchC] interface ten-gigabitethernet 1/0/1
[SwitchC-Ten-GigabitEthernet1/0/1] port link-type hybrid
[SwitchC-Ten-GigabitEthernet1/0/1] port hybrid vlan 4001 tagged
[SwitchC-Ten-GigabitEthernet1/0/1] port hybrid pvid vlan 4001
[SwitchC-Ten-GigabitEthernet1/0/1] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchC-Bridge-Aggregation1] quit
# 将以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8共4个接口加入二层聚合组1。
[SwitchC] interface ten-gigabitethernet 1/0/5
[SwitchC-Ten-GigabitEthernet1/0/5] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/5] quit
[SwitchC] interface ten-gigabitethernet 1/0/6
[SwitchC-Ten-GigabitEthernet1/0/6] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/6] quit
[SwitchC] interface ten-gigabitethernet 1/0/7
[SwitchC-Ten-GigabitEthernet1/0/7] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/7] quit
[SwitchC] interface ten-gigabitethernet 1/0/8
[SwitchC-Ten-GigabitEthernet1/0/8] port link-aggregation group 1
[SwitchC-Ten-GigabitEthernet1/0/8] quit
# 配置二层聚合接口1为Trunk接口,允许VLAN 4001的存储数据报文通过。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] port link-type trunk
[SwitchC-Bridge-Aggregation1] port trunk permit vlan 4001
[SwitchC-Bridge-Aggregation1] quit
(3) DCBX部署
# 全局开启LLDP功能。
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchC-acl-mac-4000] rule 0 permit type 8906 ffff
[SwitchC-acl-mac-4000] rule 5 permit type 8914 ffff
[SwitchC-acl-mac-4000] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配ACL 4000。
[SwitchC] traffic classifier DCBX operator or
[SwitchC-classifier-DCBX] if-match acl 4000
[SwitchC-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[SwitchC] traffic behavior DCBX
[SwitchC-behavior-DCBX] remark dot1p 3
[SwitchC-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[SwitchC-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchC-qospolicy-DCBX] quit
# 在以太网接口Ten-GigabitEthernet1/0/1上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchC] interface ten-gigabitethernet 1/0/1
[SwitchC-Ten-GigabitEthernet1/0/1] lldp enable
[SwitchC-Ten-GigabitEthernet1/0/1] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口Ten-GigabitEthernet1/0/1的出方向上应用QoS策略。
[SwitchC-Ten-GigabitEthernet1/0/1] qos apply policy DCBX outbound
(4) PFC部署
# 在以太网接口Ten-GigabitEthernet1/0/1上配置与磁盘设备自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC-Ten-GigabitEthernet1/0/1] priority-flow-control auto
[SwitchC-Ten-GigabitEthernet1/0/1] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/1] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/1] quit
# 在以太网接口Ten-GigabitEthernet1/0/5~Ten-GigabitEthernet1/0/8上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC] interface ten-gigabitethernet 1/0/5
[SwitchC-Ten-GigabitEthernet1/0/5] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/5] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/5] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/5] quit
[SwitchC] interface ten-gigabitethernet 1/0/6
[SwitchC-Ten-GigabitEthernet1/0/6] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/6] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/6] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/6] quit
[SwitchC] interface ten-gigabitethernet 1/0/7
[SwitchC-Ten-GigabitEthernet1/0/7] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/7] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/7] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/7] quit
[SwitchC] interface ten-gigabitethernet 1/0/8
[SwitchC-Ten-GigabitEthernet1/0/8] priority-flow-control enable
[SwitchC-Ten-GigabitEthernet1/0/8] priority-flow-control no-drop dot1p 3
[SwitchC-Ten-GigabitEthernet1/0/8] qos trust dot1p
[SwitchC-Ten-GigabitEthernet1/0/8] quit
(5) FCoE部署
# 配置FCoE模式为FCF模式,进入VSAN 100的视图,开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchC] vsan 100
[SwitchC-vsan100] domain configure enable
# 配置交换机的优先级为1,使Switch C成为主交换机。
# 配置域ID为1。
[SwitchC-vsan100] domain-id 1 preferred
Nondisruptive reconfiguration might be performed or the switch might be isolated. Continue? [Y/N]:y
# 全局开启FSPF功能。
[SwitchC-vsan100] quit
# 创建VFC1接口,配置VFC1接口工作在F模式,将VFC1接口绑定到以太网接口Ten-GigabitEthernet1/0/1上,并将VFC1接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC1接口。
[SwitchC-Vfc1] fc mode f
[SwitchC-Vfc1] bind interface ten-gigabitethernet 1/0/1
[SwitchC-Vfc1] port trunk vsan 100
[SwitchC-Vfc1] quit
# 创建VFC10接口,配置VFC10接口工作在E模式,将VFC10接口绑定到二层聚合接口Bridge-Aggregation1上,并将VFC10接口以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过VFC10接口。
[SwitchC-Vfc10] fc mode e
[SwitchC-Vfc10] bind interface bridge-aggregation 1
[SwitchC-Vfc10] port trunk vsan 100
# 开启VFC10接口的FSPF功能。
[SwitchC-Vfc10] undo fspf silent vsan 100
[SwitchC-Vfc10] quit
# 开启VLAN 4001的FCoE功能,并将其与VSAN 100进行映射。
[SwitchC-vlan4001] fcoe enable vsan 100
[SwitchC-vlan4001] quit
# 进入VSAN 100的视图,配置允许默认Zone内的成员互相访问。
[SwitchC-vsan100] zone default-zone permit
[SwitchC-vsan100] quit
Switch D上的配置与Switch C类似,差异处为Switch D上配置的VLAN、VSAN和二层聚合接口为VLAN 4002、VSAN 200和Bridge-Aggregation2,Switch C上配置的VLAN、VSAN和二层聚合接口为VLAN 4001、VSAN 100和Bridge-Aggregation1,配置步骤略。
# 显示Switch A在VSAN 100内的域信息。
[SwitchA] display fc domain vsan 100
Domain Information of VSAN 100:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1A:1A
Fabric name: 48:33:43:2d:46:43:1C:1C
Priority: 128
Domain ID: 2
Configuration information:
Domain configure: Enabled
Domain auto-reconfigure: Disabled
Fabric name: 48:33:43:2d:46:43:1A:1A
Priority: 128
Domain ID: 2 (preferred)
Principal switch running time information:
Priority: 1
Path Interface
Upstream Vfc10
从上述信息可以看出,Switch A的配置已经结束,主交换机为Switch A分配的域ID为2。
# 显示Switch A在VSAN 100内的域列表。
[SwitchA] display fc domain-list vsan 100
Domain list of VSAN 100:
Number of domains: 2
Domain ID WWN
0x01(1) 48:33:43:2d:46:43:1C:1C [Principal]
0x02(2) 48:33:43:2d:46:43:1A:1A [Local]
从上述信息可以看出,Switch C成为主交换机,主交换机给自己分配了配置的想要获取的域ID 1。
# 显示Switch A在VSAN 100内的路由表相关信息。
[SwitchA] display fc routing-table vsan 100
Routing Table: VSAN 100
Destinations : 5 Routes : 5
Destination/mask Protocol Preference Cost Interface
0x010000/8 FSPF 20 100 Vfc10
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
从上述信息可以看出,Switch A上存在了一条到Switch C的FSPF路由,出接口为VFC10接口。
# 显示Switch A在VSAN 100内的节点注册的相关信息。
[SwitchA] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc1 100 0x020000 21:01:00:1b:32:a0:fa:12 21:01:00:1b:32:a0:fa:11
# 显示Switch A在VSAN 100内的名称服务数据库的简要信息。
[SwitchA] display fc name-service database vsan 100
VSAN 100:
FCID Type PWWN(vendor) FC4-type:feature
0x010000 0x01(N) 10:00:00:05:30:00:25:a3 SCSI-FCP:Target
0x020000 0x01(N) 21:01:00:1b:32:a0:fa:11 SCSI-FCP:Initiator
# 显示Switch A在VSAN 200内的域信息。
[SwitchA] display fc domain vsan 200
Domain Information of VSAN 200:
Running time information:
State: Stable
Switch WWN: 48:33:43:2d:46:43:1B:1B
Fabric name: 48:33:43:2d:46:43:1D:1D
Priority: 128
Domain ID: 2
Configuration information:
Domain configure: Enabled
Domain auto-reconfigure: Disabled
Fabric name: 48:33:43:2d:46:43:1B:1B
Priority: 128
Domain ID: 2 (preferred)
Principal switch running time information:
Priority: 1
Path Interface
Upstream Vfc11
从上述信息可以看出,Switch A的配置已经结束,主交换机为Switch A分配的域ID为2。
# 显示Switch A在VSAN 200内的域列表。
[SwitchA] display fc domain-list vsan 200
Domain list of VSAN 200:
Number of domains: 2
Domain ID WWN
0x01(1) 48:33:43:2d:46:43:1D:1D [Principal]
0x02(2) 48:33:43:2d:46:43:1B:1B [Local]
从上述信息可以看出,Switch D成为主交换机,主交换机给自己分配了配置的想要获取的域ID 1。
# 显示Switch A在VSAN 200内的路由表相关信息。
[SwitchA] display fc routing-table vsan 200
Routing Table: VSAN 200
Destinations : 5 Routes : 5
Destination/mask Protocol Preference Cost Interface
0x010000/8 FSPF 20 100 Vfc10
0xfffc01/24 DIRECT 0 0 InLoop0
0xfffffa/24 DIRECT 0 0 InLoop0
0xfffffc/24 DIRECT 0 0 InLoop0
0xfffffd/24 DIRECT 0 0 InLoop0
从上述信息可以看出,Switch A上存在了一条到Switch C的FSPF路由,出接口为VFC10接口。
# 显示VSAN 200的节点注册的相关信息。
[SwitchA] display fc login vsan 200
Interface VSAN FCID Node WWN Port WWN
Vfc1 200 0x020000 21:01:00:1b:32:a0:fa:12 21:01:00:1b:32:a0:fa:13
# 显示VSAN 200内的名称服务数据库的简要信息。
[SwitchA] display fc name-service database vsan 200
VSAN 200:
FCID Type PWWN(vendor) FC4-type:feature
0x010000 0x01(N) 10:00:00:05:30:00:25:a5 SCSI-FCP:Target
0x020000 0x01(N) 21:01:00:1b:32:a0:fa:13 SCSI-FCP:Initiator
# 显示VSAN 100的节点注册的相关信息。
[SwitchC] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc1 100 0x010000 10:00:00:05:30:00:25:a4 10:00:00:05:30:00:25:a3
Switch D上的验证方法与Switch C的完全相同,验证信息略。
表16-1 FC地址分配
FC_ID |
描述 |
0x000000 |
未定义(N_Port通过FLOGI请求地址时使用全0) |
0x000001 – 0x00ffff |
保留 |
0x010000 – 0xefffff |
N_Port地址 |
0xf00000 – 0xfff9ff |
保留 |
0xfffa00 – 0xfffa0f |
保留给内部Loopback地址使用 |
0xfffa10 – 0xfffa1f |
保留给外部Loopback地址使用 |
0xfffa20 – 0xfffaff |
保留 |
0xfffb00 – 0xfffbff |
保留给组播地址使用 |
0xfffc00 |
保留 |
0xfffc01 – 0xfffcef |
域控制器地址 |
0xfffcf0 – 0xfffef |
保留 |
0xfffff0 – 0xfffffc |
知名地址 |
0xfffffd |
Fabric控制器地址,代表所有的E_Port |
0xfffffe |
F_Port控制器地址,代表所有的F_Port |
0xffffff |
广播地址 |
表16-2 Fabric知名地址用途描述
FC_ID |
描述 |
0xfffff0 |
N_Port控制器,代表所有的N_Port |
0xfffff1 – 0xfffff3 |
保留 |
0xfffff4 |
事件服务 |
0xfffff5 |
组播服务器 |
0xfffff6 |
时钟同步服务 |
0xfffff7 |
安全密钥分发服务 |
0xfffff8 |
别名服务 |
0xfffff9 |
保留 |
0xfffffa |
管理服务 |
0xfffffb |
时间服务 |
0xfffffc |
路径服务(名称服务) |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!