01-FC和FCoE配置
本章节下载: 01-FC和FCoE配置 (2.25 MB)
目 录
6.8.1 FC和FCoE基础配置举例(同时使用FC接口和VFC接口)
8.16.2 配置Fabric自动发现SCSI-FCP信息功能
16.3.1 FC Tracert基础配置举例(使用FC接口)
16.3.2 FC Tracert基础配置举例(使用VFC接口)
17.1.2 FC和FCoE综合配置举例(同时使用FC接口和VFC接口)
FC(Fibre Channel,光纤通道)协议是SAN(Storage Area Networks,存储区域网络)中使用的一种数据传输协议。FCoE(Fibre Channel over Ethernet,基于以太网的光纤通道)是将FC协议承载在以太网上的一种协议。下面将对这两个协议进行详细的介绍。
FC SAN通过FC协议族为服务器提供专用的外部存储环境,满足对大容量、高可靠数据的存储、访问和备份等需求。
在FC SAN中,通信的双方,通常一端为网络服务器,另一端为磁盘设备。服务器与磁盘设备之间可以通过光纤或者铜缆直接连接在一起,也可以通过交换机间接连接在一起。
如图1-1所示。前两种组网方式比较简单,能够连接的设备数量也相对较少,点到点连接只能支持两台设备的互联;仲裁环最多支持126台设备。真正能称之为FC SAN的连接方式是交换式架构,即通过FC交换机将大量的服务器和磁盘设备组织在一个FC SAN网络中。在交换式架构中,服务器和磁盘设备都被称之为节点设备(Node),是数据发送和接收的实体;FC交换机作为中间传输设备提供数据转发和网络控制功能。交换式架构提供了很好的扩展能力,能够支持上万台甚至更多的节点设备互联。
由FC交换机和节点设备组成的网络称为FC SAN,由FC交换机组成的中间传输网络称为Fabric网络。
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的介绍请参见“1.2.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地址的使用做了规范限定,请参见“18.1 附录A FC地址分配”。
在交换式架构中,节点设备和交换机之间通过不同模式的接口进行互联,如图1-3所示。
节点设备上的接口称为N_Port,N_Port又分为两种类型:
· N端口:N端口通过直连方式连接到Fabric。
· NL端口:NL端口通过仲裁环连接到Fabric。
交换机上的接口具有下面几种类型:
· E_Port:用来连接其它交换机的E_Port。
· F_Port:用来连接节点设备的N_Port或者其它交换机的NP_Port。
· NP_Port:用来连接其它交换机的F_Port。
· G_Port:可以与对端协商自动成为E_Port或者F_Port。如果对端为E_Port,则协商结果为E_Port;如果对端为N_Port或NP_Port,则协商结果为F_Port;如果两端都为G_Port,则协商结果为E_Port;如果对端为F_Port,则协商失败。
多台交换机通过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信息的详细介绍请参见“8.16 配置和探测发现节点设备的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交换机上(服务器和FCF交换机之间的链路可以同时收发以太网报文和FC报文),然后FCF交换机通过以太网接口接入到LAN网络,通过FC接口接入到SAN网络中。
FCoE的典型应用如图1-6所示。FCF交换机和ENode(ENode是支持在以太网上传输FC协议的节点设备,包括服务器和磁盘设备)之间的以太网链路可以同时收发以太网报文和FC报文。在以太网链路上收发FC报文就是通过FCoE协议实现的。
图1-6 FCoE典型组网图
VFC接口是FCF交换机上手工创建的虚拟逻辑口,它虚拟实现物理FC接口的功能。
必须将VFC接口和具体的物理以太网接口进行绑定,VFC接口才能正常工作。
VFC接口可以和ENode相连,也可以和FCF交换机相连。
VFC接口支持两种模式:E模式和F模式。默认为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交换机的内部框图
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-9所示,虚链路的建立过程为:
(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间隔内没有接收到非请求发现通告报文,则删除该虚链路。
一台具备FC和FCoE能力的交换机,既可工作在非FCoE模式下,也可工作在FCoE模式下。
FCoE模式又分为FCF模式和Transit模式。
工作在本模式的交换机称为FCF交换机,其接口支持E模式和F模式,分别称为E_Port和F_Port。FCF交换机可通过E_Port连接其它交换机的E_Port,或者通过F_Port连接节点设备的N_Port或其它交换机的NP_Port。
FCF交换机利用以太帧封装FC报文的方式,实现了用FCoE虚链路替代物理的FC链路,从而可在无损以太网中提供标准Fibre Channel交换机的能力和特性。
FCF交换机的应用组网如图1-10所示,不同于单纯的FC网络,在FCoE环境下,FCF交换机可以通过以太网接口连接以太网交换机,通过FC接口连接FC交换机,通过VFC接口连接ENode或FCF交换机。FCF交换机通过VFC接口连接对端设备时,首先在两台设备之间的以太网接口上建立了FCoE虚链路,通过FCoE虚链路在无损以太网上进行通信。FCoE虚链路可以连接VFC接口到VN接口,或者连接VFC接口到VFC接口。
与FC交换机相同,每台FCF交换机都会被分配一个域ID,而每个FC SAN最多支持239个域ID,因此也就限制了一个FC SAN中最多只能有239台交换机。
工作在本模式的交换机称为Transit交换机,其以太网接口可工作在ENode模式或FCF模式。与ENode相连的以太网接口需要配置为ENode模式;与FCF交换机相连的以太网接口需要配置为FCF模式。通过配置不同接口模式,以限制接口只能接收来自ENode或FCF交换机的流量。
FCoE协议支持在无损以太网中构建FC SAN,增加了FC SAN的组网灵活性,FCF交换机与节点设备之间可以增加Transit交换机。如图1-11所示,ENode通过Transit交换机接入FCF交换机。
图1-11 Transit应用组网
Transit交换机级联时需保证以太网接口模式的正确性。如图1-12上的模式配置,ENode 2仅能通过FCF交换机2进行注册,不能通过FCF交换机1进行注册。如果ENode 2有向FCF交换机1进行注册的需求,则需要修改Transit交换机间的模式配置。
图1-12 Transit交换机级联组网
图1-13所示为NPV交换机和Transit交换机的正确组网,NPV交换机的位置在FCF交换机和Transit交换机之间,Transit交换机下游接入ENode。
图1-13 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
FC和FCoE功能需要安装License才能使用。有关License的详细介绍,请参见“基础配置指导”中的“License管理”。
在不同的FCoE模式下,交换机对各种FC和FCoE功能的支持情况不同,具体请参见表2-1。
表2-1 各FCoE模式支持的FC和FCoE功能
功能 |
FCF交换机 |
NPV交换机/FCF-NPV交换机(NPV模式) |
Transit交换机 |
支持 |
支持 |
不支持 |
|
支持 |
支持 |
不支持 |
|
支持 |
支持 |
不支持 |
|
支持 |
支持 |
不支持 |
|
支持 |
支持 |
不支持 |
|
支持 |
只支持配置Fabric定时器 |
不支持 |
|
支持 |
只支持: · 显示FC路由表信息 · 显示FC FIB表项信息 · 显示FC Exchange表项信息 |
不支持 |
|
支持 |
不支持 |
不支持 |
|
不支持 |
不支持 |
支持 |
|
支持 |
不支持 |
不支持 |
|
支持 |
不支持 |
不支持 |
|
支持 |
不支持 |
不支持 |
|
支持 |
不支持 |
不支持 |
|
支持 |
不支持 |
不支持 |
FC和FCoE功能受交换机的工作模式限制,在使用FC和FCoE功能前,需要将交换机工作模式配置为高级模式。关于交换机工作模式切换的详细介绍,请参见“基础配置指导”中的“设备管理”。
(1) 进入系统视图。
system-view
(2) 配置交换机的工作模式为高级模式。
请参见“基础配置指导”中的“设备管理”。
(3) 保存当前配置。
请参见“基础配置指导”中的“配置文件管理”。
(4) 通过reboot命令行立即重启设备。
请参见“基础配置指导”中的“设备管理”。
交换机可以在非FCoE模式和FCoE模式之间直接切换,但不能在多种FCoE模式之间直接切换。当需要在多种FCoE模式之间切换时,必须先将交换机切换至非FCoE模式。当交换机从FCoE模式切换至非FCoE模式后,原FCoE模式下的所有FC和FCoE相关配置将被清空,仅保留已创建的FC接口、FC聚合接口和VFC接口。
(1) 进入系统视图。
system-view
(2) 配置交换机的FCoE模式。
fcoe-mode { fcf | transit }
缺省情况下,交换机工作在非FCoE模式下。
(3) 显示交换机的FCoE模式。
display fcoe-mode
display命令可以在任意视图执行。
FC接口是物理接口,可以接收和发送FC报文。FC接口既可以连接节点设备,又可以连接FC交换机。当对端设备使用FC接口时,本端设备也要使用FC接口与之相连。
FC接口配置任务如下:
(1) (可选)二层以太网接口和FC接口的类型切换
(2) 配置FC接口
(3) (可选)恢复当前FC接口的缺省配置
仅HB单板中的LSXM1TGS24QGMODHB1单板在安装LSWM124XG2QFC接口模块扩展卡后,该接口模块扩展卡上的万兆二层以太网接口支持独立切换到FC接口。即对单个接口执行port-type命令后,不会影响其它接口的类型。如果要将这些二层以太网接口切换为FC接口,则需要进入对应的二层以太网接口视图执行port-type fc命令;如果要将FC接口切换回二层以太网接口,则需要进入对应的FC接口视图执行port-type ethernet命令。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 将二层以太网接口切换为FC接口。
port-type fc
缺省情况下,对于H3C LSWM124XG2QFC接口模块扩展卡,接口类型为二层以太网接口。
接口类型切换后,该接口下的其它所有命令都将恢复到新接口下的缺省情况。
执行本命令后,将删除原来的二层以太网接口,创建新的FC接口并进入该FC接口的视图。
(1) 进入系统视图。
system-view
(2) 进入FC接口视图。
interface fc interface-number
(3) 将FC接口切换回二层以太网接口。
port-type ethernet
缺省情况下,对于H3C LSWM124XG2QFC接口模块扩展卡,接口类型为二层以太网接口。
接口类型切换后,该接口下的其它所有命令都将恢复到新接口下的缺省情况。
执行本命令后,将删除原来的FC接口、创建新的二层以太网接口并进入该二层以太网接口的视图。
(1) 进入系统视图。
system-view
(2) 进入FC接口视图。
interface fc interface-number
(3) 配置FC接口的模式。
fc mode { auto | e | f }
FCF交换机的FC接口只支持Auto模式、E模式和F模式,缺省为Auto模式。
(4) (可选)配置FC接口的速率。
speed { 2000 | 4000 | 8000 | auto }
缺省情况下,FC接口的速率为自协商速率。
(5) (可选)配置FC接口的描述信息。
description text
缺省情况下,接口的描述信息为“接口名 Interface”,例如:Fc1/0/1 Interface。
(6) (可选)配置FC接口的BB_Credit(Buffer-to-Buffer Credit,报文缓冲区大小)值。
fcb2bcredit credit-value
缺省情况下,FC接口的BB_Credit的缺省值为15。
(7) (可选)配置8Gbps速率的FC接口的Fill Word模式。
fill-word { idle-arbff | idle-idle }
缺省情况下,8Gbps速率的FC接口的Fill Word模式为idle-arbff模式。
本命令只用于8Gbps速率的FC接口。2Gbps或4Gbps速率的FC接口仅支持idle-idle模式,即使配置了本命令也不生效。
配置本命令后,需要执行shutdown/undo shutdown命令重启该FC接口后才能生效。
(8) (可选)配置FC接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbit/s)。
FC接口的期望带宽会影响FSPF的Cost值的计算,从而影响路由。
(9) 打开FC接口。
undo shutdown
缺省情况下,接口处于开启状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入FC接口视图。
interface fc interface-number
(3) 恢复FC接口的缺省配置。
default
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC接口的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除FC接口的统计信息。
表3-1 FC接口显示和维护
操作 |
命令 |
显示FC接口的相关信息 |
display interface [ fc [ interface-number ] ] [ brief [ description | down ] ] |
清除FC接口的统计信息 |
reset counters interface [ fc [ interface-number ] ] |
VFC接口可以和ENode相连,也可以和交换机相连。
VFC接口是手工创建的虚拟逻辑口,它虚拟实现物理FC接口的功能,必须将VFC接口和以太网接口进行绑定,VFC接口才能正常工作。VFC接口绑定以太网接口后,交换机将VFC接口上的FC报文封装成FCoE报文在以太网链路上传输。
如果VFC接口绑定的以太网接口的链路类型为Hybrid或Trunk,请务必保证该以太网接口允许缺省VLAN的报文通过,否则,将导致以太网接口参数协商失败,VFC接口无法达到UP状态。如果接口的缺省VLAN是VLAN 1,则接口下不能配置undo port hybrid vlan 1或undo port trunk permit vlan 1;如果接口的缺省VLAN是其他VLAN,则接口下需要配置port hybrid vlan pvid untagged或port trunk permit vlan pvid。
为了保证FCoE报文在以太网上可以实现无损传输,在VFC接口绑定的以太网接口上必须进行如下配置:
· 交换机和服务器连接的以太网接口上需要配置DCBX、自动协商模式的PFC和ETS功能。
· 交换机和磁盘设备连接的以太网接口上需要配置DCBX、自动协商模式的PFC功能。
· 交换机与交换机连接的以太网接口上要强制开启PFC功能。
关于DCBX(Data Center Bridging Exchange Protocol,数据中心桥能力交换协议)、PFC(Priority-based Flow Control,基于优先级的流量控制)和ETS(Enhanced Transmission Selection,增强传输选择)功能的详细介绍和相关配置请参考“二层技术-以太网交换配置指导”中的“LLDP”。
(1) 进入系统视图。
system-view
(2) 创建VFC接口,并进入VFC接口视图。
interface vfc interface-number
(3) 配置VFC接口的模式。
fc mode { e | f }
缺省情况下,VFC接口的模式为F模式。
FCF交换机的VFC接口只支持E模式和F模式。
(4) 将VFC接口绑定到以太网接口。
bind interface interface-type interface-number [ mac mac-address ]
缺省情况下,VFC接口没有与以太网接口绑定。
VFC接口通过所绑定的以太网接口发送和接收报文。
(5) (可选)配置VFC接口的描述信息。
description text
缺省情况下,接口的描述信息为“接口名 Interface”,例如:Vfc1 Interface。
(6) (可选)配置VFC接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbit/s)。
VFC接口的期望带宽会影响FSPF的Cost值的计算,从而影响路由。
(7) 打开VFC接口。
undo shutdown
缺省情况下,接口处于开启状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入VFC接口视图。
interface vfc interface-number
(3) 恢复VFC接口的缺省配置。
default
在完成上述配置后,在任意视图下执行display命令可以显示配置后VFC接口的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除VFC接口的统计信息。
表4-1 VFC接口显示和维护
操作 |
命令 |
显示VFC接口的相关信息 |
display interface [ vfc [ interface-number ] ] [ brief [ description | down ] ] |
清除VFC接口的统计信息 |
reset counters interface [ vfc [ interface-number ] ] |
FC链路聚合通过将多条物理FC链路聚合在一起形成一条逻辑的FC聚合链路,来实现带宽聚合、负载分担以及链路备份的目的。
FC链路聚合的作用如下:
· 增加带宽:FC聚合接口的带宽是各选中成员接口带宽的总和。
· 流量负载分担:出/入流量可以在多个成员接口之间进行分担。
· 提高连接可靠性:当某个成员接口出现故障时,流量会自动切换到其它可用的成员接口上,从而提高整个聚合链路的连接可靠性。
FC链路聚合是通过FC接口聚合实现的,多个FC接口聚合在一起后形成一个FC聚合组,而这些被聚合在一起的FC接口就称为该FC聚合组的成员接口。每个FC聚合组唯一对应着一个逻辑接口,称为FC聚合接口。FC聚合组与FC聚合接口的编号是相同的。
FC聚合组内的成员接口具有以下两种状态:
· 选中(Selected)状态:此状态下的成员接口可以参与数据的转发,处于此状态的成员接口称为“选中口”。
· 非选中(Unselected)状态:此状态下的成员接口不能参与数据的转发,处于此状态的成员接口称为“非选中口”。
· 当FC聚合接口的模式配置为E模式或F模式时,FC聚合接口的运行模式即为配置的模式。
· 当FC聚合接口的模式配置为Auto模式时,FC聚合接口的运行模式为第一个链路up的成员接口的运行模式,可能为E模式或F模式。
当FC聚合接口的配置模式发生变化时,所有成员接口将重新进行链路协商。
在下列情况下会触发成员接口的选中操作:
· 有新的成员接口加入FC聚合组
· 已有成员接口从FC聚合组中删除
· 成员接口的链路协商up/down状态发生变化
成员接口的选中原则如下:
· 当FC聚合接口的模式配置为E模式或F模式时,成员接口的模式与FC聚合接口相同,成员接口按此模式进行链路协商,协商通过且速率最大的成员接口都被选中。
· 当FC聚合接口的模式配置为Auto模式时,成员接口的模式也为Auto模式,成员接口按此模式进行协商,协商出的运行模式可能为E模式或F模式,FC聚合接口的运行模式为第一个链路up的成员接口的运行模式,与FC聚合接口运行模式相同且速率最大的成员接口都被选中。
FC聚合组中有选中的成员接口后,对应的FC聚合接口物理up并进行VSAN相关参数协商。
FC聚合接口的速率为所有选中成员接口的速率之和。
FC聚合链路是通过选中成员接口来转发流量的。当FC聚合组中存在多个选中成员接口时,设备会根据负载分担方式来选择某些选中成员接口发送流量。负载分担方式有两种:
· 一种是根据源FC地址和目的FC地址将报文分成不同的流,同一个流(相同的源FC地址和目的FC地址)的报文在同一个选中成员接口上发送。
· 另一种是以Exchange为单位,同一个Exchange(相同的源FC地址、目的FC地址和发起者Exchange_ID)中的报文在同一个选中成员接口上发送。
为了使FC链路聚合功能正常运行,用户在组网时需要注意:
· 交换机和节点设备之间的FC链路不能进行聚合。
· 两台交换机之间的FC链路可以进行聚合,这两台交换机的FCoE模式可以相同,也可以不同。
· 使用FC链路聚合功能的两台交换机上完成通信功能的实体应当均为FC聚合接口,且其中的成员接口也应是一一对应相连的,即本端FC聚合组中的成员接口所连接的对端接口也必须处于同一个FC聚合组中。
图5-1所示为FC链路聚合的正确组网。
图5-1 FC链路聚合正确组网
图5-2所示为FC链路聚合的错误组网,错误原因包括:
· 链路两端FC聚合组中的成员接口不是一一对应相连的。
· 链路的一端为FC聚合组,另一端为FC接口。
在将错误组网恢复为正确组网前,请先将FC聚合接口手工关闭;在完成FC聚合组和成员接口的正确配置后,再将该FC聚合接口手工开启。
图5-2 FC链路聚合错误组网
FC链路聚合配置任务如下:
(1) 配置FC聚合接口
(2) 配置FC接口加入FC聚合组
(3) (可选)配置本地转发优先功能
(4) (可选)恢复当前FC聚合接口的缺省配置
(1) 进入系统视图。
system-view
(2) 创建FC聚合接口,并进入FC聚合接口视图。
interface san-aggregation interface-number
创建一个FC聚合接口后,会自动生成一个相同编号的FC聚合组。
(3) 配置FC聚合接口的模式。
fc mode { auto | e | f }
FCF交换机的FC聚合接口只支持Auto模式、E模式和F模式,缺省为Auto模式。
(4) (可选)配置FC聚合接口的描述信息。
description text
缺省情况下,接口的描述信息为“接口名 interface”,例如:SAN-Aggregation3 Interface。
(5) (可选)配置FC聚合接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbit/s)。
FC聚合接口的波特率=FC聚合接口的速率。
FC聚合接口的期望带宽会影响FSPF的Cost值的计算,从而影响路由。
(6) 打开FC聚合接口。
undo shutdown
缺省情况下,接口处于开启状态。
· 一个FC接口只能加入一个FC聚合组。
· 将FC接口加入FC聚合组前,应先将该FC接口手工关闭;将FC接口加入FC聚合组后,待对端与之相连的FC接口也加入对应FC聚合组后,再将该FC接口手工开启。
· 将FC接口从FC聚合组中删除前,应先将该FC接口手工关闭;待链路两端相连的FC接口均离开FC聚合组后,再将该FC接口手工开启。
· FC接口加入FC聚合组后,会删除FC接口下原有的接口模式、Trunk模式、Trunk VSAN和 Access VSAN配置,也不允许对成员接口做以上配置。FC接口离开FC聚合组后,这些配置也不会恢复,均为缺省配置。
· FC接口加入FC聚合组后,使用对应FC聚合接口的配置进行链路协商。
· 一个FC聚合组中最多可以加入的成员接口数量为8个。
(1) 进入系统视图。
system-view
(2) 进入待加入FC聚合组的FC接口视图。
interface fc interface-number
(3) 关闭FC接口。
shutdown
缺省情况下,接口处于开启状态。
(4) 将FC接口加入FC聚合组。
san-aggregation group group-id
缺省情况下,FC接口未加入FC聚合组。
(5) 打开FC接口。
undo shutdown
缺省情况下,接口处于开启状态。
链路两端的FC接口均已加入FC聚合组后再执行此操作。
采用聚合负载分担的本地转发优先机制可以降低数据流量对IRF物理端口之间链路的冲击。在IRF中,如果某成员设备转发报文的出接口为FC聚合接口,且对应FC聚合组的选中口分布在多个成员设备上,则系统根据该成员设备上的配置进行如下处理:
· 当该成员设备开启了本地转发优先功能时,如果该成员设备上存在选中口,则只在该成员设备上的各选中口间进行负载分担;如果该成员设备上不存在选中口,则在所有成员设备上的所有选中口间进行负载分担。
· 当该成员设备关闭了本地转发优先功能时,将在所有成员设备上的所有选中口间进行负载分担。
有关IRF的详细介绍,请参见“虚拟化技术配置指导”中的“IRF”。
本地转发优选功能配置后会立即生效,可能造成转发流量丢失。
(1) 进入系统视图。
system-view
(2) 开启本地转发优先功能。
san-aggregation load-sharing mode local-first
缺省情况下,本地转发优先功能处于开启状态。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行本配置前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入FC聚合接口视图。
interface san-aggregation interface-number
(3) 恢复FC聚合接口的缺省配置。
default
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC链路聚合的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除FC聚合接口的统计信息。
表5-1 FC链路聚合显示和维护
操作 |
命令 |
显示FC聚合接口的相关信息 |
display interface [ san-aggregation [ interface-number ] ] [ brief [ description | down ] ] |
显示FC聚合组的信息 |
display san-aggregation [ verbose ] [ interface san-aggregation interface-number ] |
清除FC聚合接口的统计信息 |
reset counters interface [ san-aggregation [ interface-number ] ] |
为了增加FCF交换机Switch A与Switch B之间的链路带宽,并提高连接可靠性,在设备之间建立FC聚合链路。
图5-3 FC链路聚合典型配置组网图
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 创建VSAN 10。
[SwitchA] vsan 10
[SwitchA-vsan10] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 10进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 10
[SwitchA-vlan10] quit
# 创建FC聚合接口1,生成FC聚合组1。
[SwitchA] interface san-aggregation 1
# 配置FC聚合接口1工作在E模式。
[SwitchA-SAN-Aggregation1] fc mode e
# 将FC聚合接口1以Access方式加入VSAN 10,配置FC聚合接口1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 10,即允许VSAN 10通过。
[SwitchA-SAN-Aggregation1] port access vsan 10
[SwitchA-SAN-Aggregation1] port trunk mode on
[SwitchA-SAN-Aggregation1] port trunk vsan 10
[SwitchA-SAN-Aggregation1] quit
# 将接口FC1/0/1和接口FC1/0/2加入FC聚合组1。
[SwitchA] interface fc 1/0/1
[SwitchA-Fc1/0/1] shutdown
[SwitchA-Fc1/0/1] san-aggregation group 1
The FC mode, trunk mode, trunk VSAN, and access VSAN settings of the FC interface will be lost. Continue? [Y/N]:y
[SwitchA-Fc1/0/1] undo shutdown
[SwitchA-Fc1/0/1] quit
[SwitchA] interface fc 1/0/2
[SwitchA-Fc1/0/2] shutdown
[SwitchA-Fc1/0/2] san-aggregation group 1
The FC mode, trunk mode, trunk VSAN, and access VSAN settings of the FC interface will be lost. Continue? [Y/N]:y
[SwitchA-Fc1/0/2] undo shutdown
[SwitchA-Fc1/0/2] quit
(2) 配置Switch B
配置过程与Switch A完全相同,配置步骤略。
# 在Switch A上显示FC聚合组1的简要信息。
[SwitchA] display san-aggregation interface san-aggregation 1
* indicates the member port is selected.
Interface State Mode Speed Member port
SAGG1 UP E 8Gbps *Fc1/0/1
*Fc1/0/2
# 在Switch A上显示FC聚合组1的详细信息。
[SwitchA] display san-aggregation verbose interface san-aggregation 1
Interface SAN-Aggregation1:
State : UP
Mode : E
Speed : 8Gbps
Member port number : 2
Selected port number : 2
Member port State Mode Speed Selected
Fc1/0/1 UP E 4Gbps Y
Fc1/0/2 UP E 4Gbps Y
上述信息表明,接口FC1/0/1和接口FC1/0/2都处于选中状态,可以进行流量的负载分担;FC聚合接口的速率为8Gbps,是两个FC接口的速率之和;当其中一个FC接口出现故障时,流量可以通过另一个FC接口发送,提高了链路的连接可靠性。
开启FC和FCoE功能后,FC和FCoE相关特性才能正常运行。
FC和FCoE基础配置任务如下:
· (可选)配置FCoE网络的FC-MAP值
· (可选)配置FCoE网络的fka-adv-period值
· (可选)配置FCoE网络的FCF优先级
在某个VLAN内开启了FC和FCoE功能后:
· 该VLAN内仅转发FCoE流量,不转发其它业务流量(如IP流量)。
· 该VLAN内的成员端口之间被设置为二层隔离,不会形成广播环路,因此,FCoE VLAN内不需要运行生成树协议或其它环路检测协议,否则可能会导致FCoE转发链路被阻塞。
· 该VLAN内可以运行二层协议,但由于成员端口之间被设置为二层隔离,因此二层协议只在没有绑定VFC接口的以太网接口上运行。
通过FC接口发送报文时,用到的VSAN都要与VLAN映射,并在该VLAN内开启FC和FCoE功能,目的是让设备可以正常运行FC和FCoE相关特性。
通过VFC接口发送报文时,由于其绑定的以太网接口可能同时允许多个VLAN通过,因此需要在这些VLAN内开启FC和FCoE功能并分别与不同VSAN映射,被映射的VSAN内报文就会被打上与其相映射的VLAN Tag,并在相映射的VLAN内发送。
· 不允许在VLAN 1内开启FC和FCoE功能。
· 不能在VLAN接口资源预留的VLAN内开启FC和FCoE功能及映射指定VSAN,否则会使以Trunk方式加入该VSAN的VFC接口无法UP。关于VLAN接口资源预留的详细介绍,请参考“二层技术-以太网交换命令参考”中的“VLAN”。
· VLAN与VSAN是一一对应的,一个VLAN只能映射一个VSAN,反之亦然。
· 链路两端的设备必须通过相同的VSAN通信。使用FC接口时,两端的VSAN可以与不同的VLAN映射;使用VFC接口时,两端的VSAN必须与相同的VLAN映射。
· 用户需保证VFC接口绑定的以太网接口允许开启FC和FCoE功能的VLAN通过。
(1) 进入系统视图。
system-view
(2) 创建VLAN,并进入VLAN视图。
vlan vlan-id
(3) 开启FC和FCoE功能并指定映射VSAN。
fcoe enable [ vsan vsan-id ]
缺省情况下,VLAN内的FC和FCoE功能处于关闭状态。
FC-MAP值用来标识一个FCoE网络,同一个FCoE网络中的所有的交换机必须具有相同的FC-MAP值。
配置FC-MAP值后,VFC接口会重新进行协商。两端都配置相同的FC-MAP值才能够协商成功。
(1) 进入系统视图。
system-view
(2) 配置FC-MAP值。
fcoe fcmap fc-map
缺省情况下,FC-MAP值为0x0efc00。
· 虚链路建立以后,在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间隔内没有收到保活报文,则删除该虚链路。
表6-1 配置fka-adv-period的限制和指导
建议配置值 |
应用环境 |
注意事项 |
低于90秒 |
当H3C交换机与服务器、存储设备或其他厂商交换机互通 |
FC-BB-5标准中规定,fka-adv-period取值上限为90秒。 通常情况下,使用fka-adv-period的缺省值(8秒)即可。 当FCF交换机进行无备用主控板的ISSU软重启升级时,FCoE流量会中断。这是因为FCF交换机连接服务器、存储设备或者其他厂商NPV设备,由于互通限制,fka-adv-period值不能超过90秒。由于没有备用主控板存在,ISSU软重启升级需要的时间较长,超过了2.5×90秒的超时间隔,ISSU软重启升级期间虚链路会超时删除,所以,FCoE流量会中断。 |
60~90秒 |
交换机进行主备倒换或者有备用主控板的ISSU软重启升级,且FCoE配置较多 |
关于ISSU的详细介绍,请参见“基础配置指导”中的“ISSU” |
300~600秒 |
无备用主控板的ISSU软重启升级 |
当交换机进行无备用主控板的ISSU软重启升级时,由于没有备用主控板的存在,会有较长一段时间无法发送非请求发现通告报文或保活报文。 |
(1) 进入系统视图。
system-view
(2) 配置fka-adv-period值。
fcoe fka-adv-period fka-adv-period
缺省情况下,fka-adv-period值为8秒。
FCF优先级分为系统的FCF优先级和VFC接口的FCF优先级两种。应用场合如下:
· 发送非请求发现通告报文时,报文中的fcf priority字段将填写系统的FCF优先级的值。
· 发送请求发现通告报文时,报文中的fcf priority字段将填写VFC接口的FCF优先级的值。
ENode在收到多个FCF发送的发现通告报文的情况下,将从这些发现通告报文中选择fcf priority优先级最高的FCF,并向其发送FLOGI报文,进行注册。
FCF优先级仅在VFC接口为F模式时生效,在E模式下可以配置,但不生效。
(1) 进入系统视图。
system-view
(2) 配置系统的FCF优先级。
fcoe global fcf-priority priority
缺省情况下,系统的FCF优先级为128。
本配置对所有F模式的VFC接口生效。
(1) 进入系统视图。
system-view
(2) 进入VFC接口视图。
interface vfc interface-number
(3) 配置VFC接口的FCF优先级。
fcoe fcf-priority priority
缺省情况下,VFC接口的FCF优先级为128。
在完成上述配置后,在任意视图下执行display命令可以显示FCoE基础配置的运行情况,通过查看显示信息验证配置的效果。
表6-2 FCoE基础配置显示和维护
操作 |
命令 |
显示全局的FCoE配置信息 |
display fcoe |
在构建一个包含LAN网络和SAN网络的数据中心时,为了节省设备、网卡和线缆的数量,采用FCoE解决方案。
图6-1 FC和FCoE典型配置组网图
· 若实际LAN网络较为复杂,为了防止LAN网络存在物理环路,H3C建议在FCF switch与LAN网络所连接的以太网接口上使能生成树协议。
· 为了避免由于网络拓扑变化,FCF switch上连接服务器的端口产生临时环路,需要将该端口配置为边缘端口,不参与生产树拓扑计算,并开启BPDU保护功能。边缘端口可以快速迁移到转发状态,当服务器重新登录交换机时,服务器发送的数据流量能很快被转发,尽可能减少流量的丢失。
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
在FCF交换机上进行如下配置:
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<Sysname> system-view
[Sysname] system-working-mode advance
[Sysname] save
[Sysname] quit
<Sysname> reboot
(2) 部署VLAN和接口
# 创建VLAN 10和20,分别用来传输以太网数据流量和存储数据流量。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] quit
[Sysname] vlan 20
[Sysname-vlan20] quit
# 全局使能生成树协议。
[Sysname] stp global enable
# 开启全局的BPDU保护功能。
[Sysname] stp bpdu-protection
# 配置以太网接口Ten-FortyGigE1/0/2为Hybrid接口,允许VLAN 10的以太网数据报文不带Tag通过,允许VLAN 20的存储数据报文带Tag通过,设置接口的PVID为VLAN 10,关闭生成树协议,配置接口为边缘端口,并开启BPDU保护功能。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] port link-type hybrid
[Sysname-FortyGigE1/0/2] port hybrid vlan 10 untagged
[Sysname-FortyGigE1/0/2] port hybrid vlan 20 tagged
[Sysname-FortyGigE1/0/2] port hybrid pvid vlan 10
[Sysname-FortyGigE1/0/2] undo stp enable
[Sysname-FortyGigE1/0/2] stp edged-port
[Sysname-FortyGigE1/0/2] stp port bpdu-protection enable
[Sysname-FortyGigE1/0/2] quit
# 配置以太网接口FortyGigE1/0/3为Trunk接口,允许VLAN 10的以太网数据报文通过,并使能生成树协议。
[Sysname] interface fortygige 1/0/3
[Sysname-FortyGigE1/0/3] port link-type trunk
[Sysname-FortyGigE1/0/3] port trunk permit vlan 10
[Sysname-FortyGigE1/0/3] stp enable
[Sysname-FortyGigE1/0/3] quit
(3) 部署DCBX
# 全局开启LLDP功能。
[Sysname] lldp global enable
# 创建名为DCBX的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[Sysname] acl mac name DCBX
[Sysname-acl-mac-DCBX] rule 0 permit type 8906 ffff
[Sysname-acl-mac-DCBX] rule 5 permit type 8914 ffff
[Sysname-acl-mac-DCBX] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配名为DCBX的ACL。
[Sysname] traffic classifier DCBX operator or
[Sysname-classifier-DCBX] if-match acl mac name DCBX
[Sysname-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[Sysname] traffic behavior DCBX
[Sysname-behavior-DCBX] remark dot1p 3
[Sysname-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[Sysname] qos policy DCBX
[Sysname-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[Sysname-qospolicy-DCBX] quit
# 在以太网接口FortyGigE1/0/2上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] lldp enable
[Sysname-FortyGigE1/0/2] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口FortyGigE1/0/2的出方向上应用QoS策略DCBX。
[Sysname-FortyGigE1/0/2] qos apply policy DCBX outbound
(4) 部署PFC
# 在以太网接口FortyGigE1/0/2上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[Sysname-FortyGigE1/0/2] priority-flow-control auto
[Sysname-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[Sysname-FortyGigE1/0/2] qos trust dot1p
[Sysname-FortyGigE1/0/2] quit
(5) 部署ETS
# 配置802.1p优先级到本地优先级的映射,将802.1p优先级3映射到本地优先级1,配置其它的802.1p优先级映射到本地优先级0。
[Sysname] qos map-table dot1p-lp
[Sysname-maptbl-dot1p-lp] import 0 export 0
[Sysname-maptbl-dot1p-lp] import 1 export 0
[Sysname-maptbl-dot1p-lp] import 2 export 0
[Sysname-maptbl-dot1p-lp] import 3 export 1
[Sysname-maptbl-dot1p-lp] import 4 export 0
[Sysname-maptbl-dot1p-lp] import 5 export 0
[Sysname-maptbl-dot1p-lp] import 6 export 0
[Sysname-maptbl-dot1p-lp] import 7 export 0
[Sysname-maptbl-dot1p-lp] quit
# 在以太网接口FortyGigE1/0/2上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] qos wrr af1 group 1 byte-count 1
[Sysname-FortyGigE1/0/2] qos wrr be group 1 byte-count 1
# 在以太网接口FortyGigE1/0/2上配置其它的队列为SP调度方式。
[Sysname-FortyGigE1/0/2] qos wrr af2 group sp
[Sysname-FortyGigE1/0/2] qos wrr af3 group sp
[Sysname-FortyGigE1/0/2] qos wrr af4 group sp
[Sysname-FortyGigE1/0/2] qos wrr ef group sp
[Sysname-FortyGigE1/0/2] qos wrr cs6 group sp
[Sysname-FortyGigE1/0/2] qos wrr cs7 group sp
[Sysname-FortyGigE1/0/2] quit
(6) 部署FC和FCoE
# 配置FCoE模式为FCF模式并创建VSAN 10。
[Sysname] fcoe-mode fcf
[Sysname] vsan 10
[Sysname-vsan10] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/2上,并以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过接口VFC2。
[Sysname] interface vfc 2
[Sysname-Vfc2] fc mode f
[Sysname-Vfc2] bind interface fortygige 1/0/2
[Sysname-Vfc2] port trunk vsan 10
[Sysname-Vfc2] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[Sysname] interface fortygige 1/0/1
[Sysname-FortyGigE1/0/1] port-type fc
[Sysname-Fc1/0/1] fc mode e
[Sysname-Fc1/0/1] speed auto
# 配置接口FC1/0/1信任报文自带的802.1p优先级(当设备上同时使用了FC接口和VFC接口时需要配置本命令,使得VFC接口可以正常进行PFC)。
[Sysname-Fc1/0/1] qos trust dot1p
# 配置接口FC1/0/1以Access方式加入VSAN 10。
[Sysname-Fc1/0/1] port access vsan 10
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过本接口。
[Sysname-Fc1/0/1] port trunk mode on
[Sysname-Fc1/0/1] port trunk vsan 10
[Sysname-Fc1/0/1] quit
# 开启VLAN 20的FC和FCoE功能,并将其与VSAN 10进行映射。
[Sysname] vlan 20
[Sysname-vlan20] fcoe enable vsan 10
在构建一个包含LAN网络和SAN网络的数据中心时,为了节省设备、网卡和线缆的数量,采用FCoE解决方案。
图6-2 FCoE典型配置组网图
· 若实际LAN网络较为复杂,为了防止LAN网络存在物理环路,H3C建议在FCF switch与LAN网络所连接的以太网接口上使能生成树协议。
· 为了避免由于网络拓扑变化,FCF switch上连接服务器的端口产生临时环路,需要将该端口配置为边缘端口,不参与生产树拓扑计算,并开启BPDU保护功能。边缘端口可以快速迁移到转发状态,当服务器重新登录交换机时,服务器发送的数据流量能很快被转发,尽可能减少流量的丢失。
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
在FCF交换机上进行如下配置:
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<Sysname> system-view
[Sysname] system-working-mode advance
[Sysname] save
[Sysname] quit
<Sysname> reboot
(2) 部署VLAN和接口
# 创建VLAN 10和20,分别用来传输以太网数据流量和存储数据流量。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] quit
[Sysname] vlan 20
[Sysname-vlan20] quit
# 全局使能生成树协议。
[Sysname] stp global enable
# 开启全局的BPDU保护功能。
[Sysname] stp bpdu-protection
# 配置以太网接口FortyGigE1/0/1为Trunk接口,允许VLAN 20的存储数据报文通过。
[Sysname] interface fortygige 1/0/1
[Sysname-FortyGigE1/0/1] port link-type trunk
[Sysname-FortyGigE1/0/1] port trunk permit vlan 20
[Sysname-FortyGigE1/0/1] quit
# 配置以太网接口FortyGigE1/0/2为Hybrid接口,允许VLAN 10的以太网数据报文不带Tag通过,允许VLAN 20的存储数据报文带Tag通过,设置接口的PVID为VLAN 10,关闭生成树协议,配置接口为边缘端口,并开启BPDU保护功能。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] port link-type hybrid
[Sysname-FortyGigE1/0/2] port hybrid vlan 10 untagged
[Sysname-FortyGigE1/0/2] port hybrid vlan 20 tagged
[Sysname-FortyGigE1/0/2] port hybrid pvid vlan 10
[Sysname-FortyGigE1/0/2] undo stp enable
[Sysname-FortyGigE1/0/2] stp edged-port
[Sysname-FortyGigE1/0/2] stp port bpdu-protection enable
[Sysname-FortyGigE1/0/2] quit
# 配置以太网接口FortyGigE1/0/3为Trunk接口,允许VLAN 10的以太网数据报文通过,并使能生成树协议。
[Sysname] interface fortygige 1/0/3
[Sysname-FortyGigE1/0/3] port link-type trunk
[Sysname-FortyGigE1/0/3] port trunk permit vlan 10
[Sysname-FortyGigE1/0/3] stp enable
[Sysname-FortyGigE1/0/3] quit
(3) 部署DCBX
# 全局开启LLDP功能。
[Sysname] lldp global enable
# 创建名为DCBX的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[Sysname] acl mac name DCBX
[Sysname-acl-mac-DCBX] rule 0 permit type 8906 ffff
[Sysname-acl-mac-DCBX] rule 5 permit type 8914 ffff
[Sysname-acl-mac-DCBX] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配名为DCBX的ACL。
[Sysname] traffic classifier DCBX operator or
[Sysname-classifier-DCBX] if-match acl mac name DCBX
[Sysname-classifier-DCBX] quit
# 定义名为DCBX的流行为,并配置标记报文的802.1p优先级为3。
[Sysname] traffic behavior DCBX
[Sysname-behavior-DCBX] remark dot1p 3
[Sysname-behavior-DCBX] quit
# 定义名为DCBX的QoS策略,为类DCBX指定采用的流行为是DCBX,并指定该策略为DCBX模式。
[Sysname] qos policy DCBX
[Sysname-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[Sysname-qospolicy-DCBX] quit
# 在以太网接口FortyGigE1/0/2上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] lldp enable
[Sysname-FortyGigE1/0/2] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口FortyGigE1/0/2的出方向上应用QoS策略DCBX。
[Sysname-FortyGigE1/0/2] qos apply policy DCBX outbound
(4) 部署PFC
# 在以太网接口FortyGigE1/0/2上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[Sysname-FortyGigE1/0/2] priority-flow-control auto
[Sysname-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[Sysname-FortyGigE1/0/2] qos trust dot1p
[Sysname-FortyGigE1/0/2] quit
# 在以太网接口FortyGigE1/0/1上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[Sysname] interface fortygige 1/0/1
[Sysname-FortyGigE1/0/1] priority-flow-control enable
[Sysname-FortyGigE1/0/1] priority-flow-control no-drop dot1p 3
[Sysname-FortyGigE1/0/1] qos trust dot1p
[Sysname-FortyGigE1/0/1] quit
(5) 部署ETS
# 配置802.1p优先级到本地优先级的映射,将802.1p优先级3映射到本地优先级1,配置其它的802.1p优先级映射到本地优先级0。
[Sysname] qos map-table dot1p-lp
[Sysname-maptbl-dot1p-lp] import 0 export 0
[Sysname-maptbl-dot1p-lp] import 1 export 0
[Sysname-maptbl-dot1p-lp] import 2 export 0
[Sysname-maptbl-dot1p-lp] import 3 export 1
[Sysname-maptbl-dot1p-lp] import 4 export 0
[Sysname-maptbl-dot1p-lp] import 5 export 0
[Sysname-maptbl-dot1p-lp] import 6 export 0
[Sysname-maptbl-dot1p-lp] import 7 export 0
[Sysname-maptbl-dot1p-lp] quit
# 在以太网接口FortyGigE1/0/2上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[Sysname] interface fortygige 1/0/2
[Sysname-FortyGigE1/0/2] qos wrr af1 group 1 byte-count 1
[Sysname-FortyGigE1/0/2] qos wrr be group 1 byte-count 1
# 在以太网接口FortyGigE1/0/2上配置其它的队列为SP调度方式。
[Sysname-FortyGigE1/0/2] qos wrr af2 group sp
[Sysname-FortyGigE1/0/2] qos wrr af3 group sp
[Sysname-FortyGigE1/0/2] qos wrr af4 group sp
[Sysname-FortyGigE1/0/2] qos wrr ef group sp
[Sysname-FortyGigE1/0/2] qos wrr cs6 group sp
[Sysname-FortyGigE1/0/2] qos wrr cs7 group sp
[Sysname-FortyGigE1/0/2] quit
(6) 部署FCoE
# 配置FCoE模式为FCF模式并创建VSAN 10。
[Sysname] fcoe-mode fcf
[Sysname] vsan 10
[Sysname-vsan10] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过接口VFC1。
[Sysname] interface vfc 1
[Sysname-Vfc1] fc mode e
[Sysname-Vfc1] bind interface fortygige 1/0/1
[Sysname-Vfc1] port trunk vsan 10
[Sysname-Vfc1] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/2上,并以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过接口VFC2。
[Sysname] interface vfc 2
[Sysname-Vfc2] fc mode f
[Sysname-Vfc2] bind interface fortygige 1/0/2
[Sysname-Vfc2] port trunk vsan 10
[Sysname-Vfc2] quit
# 开启VLAN 20的FC和FCoE功能,并将其与VSAN 10进行映射。
[Sysname] vlan 20
[Sysname-vlan20] fcoe enable vsan 10
VSAN的目的是将一个物理上连通的SAN网络分割成多个逻辑上的虚拟SAN网络。通过配置可以方便地将接口加入到不同的VSAN,而不需要改变SAN网络的物理连接。每个VSAN相互隔离,并独立提供服务,增强了网络的适应性和安全性,使其能够为用户提供更有效的服务。对每一个VSAN来说,其本身就相当于一个SAN网络,VSAN内的设备无法获得该VSAN以外的其它VSAN和设备的信息。每个VSAN内都独立运行主交换机选举,基于每个VSAN配置域ID,独立运行路由协议,独立维护路由转发表,独立提供所需的服务等。
接口对VSAN的支持有以下两种方式:
· Access方式:接口只能属于唯一的一个VSAN。
· Trunk方式:接口可以同时属于多个VSAN。
各种接口对上述两种方式的支持情况如下:
· FC接口和FC聚合接口:同时支持这两种方式,通过链路协商后只有一种方式可以生效。
· VFC接口:只支持Trunk方式。
Access方式的典型组网如图7-1所示,交换机上蓝色链路上的接口(包括E模式和F模式接口)配置Access VSAN 1,紫色链路上的接口配置Access VSAN 2。当服务器读写磁盘时,不同服务器的N_Port发送FC报文到FCF交换机A的各自相连的F_Port上,分别在各自F_Port Access加入的VSAN内查找转发表,出接口为不同的E_Port。报文从E_Port转发出去,中间可能会经过多台支持VSAN的交换机,转发到FCF交换机B的E_Port上,并根据各E_Port的Access VSAN_ID,在相应VSAN中查找转发表,将报文转发到相应的F_Port上,F_Port将报文发送到不同磁盘设备的N_Port上。同样,从每个磁盘设备返回给服务器的数据报文也经过上述处理,最终到达不同的服务器。
图7-1 Access方式应用组网图
从上面描述可以看出,在传输过程中,报文结构不发生变化。同一台交换机上要支持多个VSAN,不同的VSAN必须使用不同的物理接口,并没有减少网络的物理连接。虽然,不同VSAN之间能做到隔离,但只是物理隔离,而不是真正意义上的逻辑隔离。因此,不能充分发挥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方式的典型组网如图7-2所示,两种不同颜色区域的F_Port的Access VSAN_ID分别配置为VSAN 1和2,E_Port配置Trunk VSAN 1~VSAN 2。当服务器读写磁盘时,不同服务器的N_Port发送不带VFT_Header的报文到FCF交换机A的各自相连的F_Port上,分别在各自F_Port Access加入的VSAN内查找转发表,出接口为相同的E_Port。报文从E_Port转发出去时,分别添加VSAN 1和VSAN 2的VFT_Header,中间可能会经过多台支持VSAN的交换机,转发到FCF交换机B的E_Port上,并根据VFT_Header中的VF_ID字段,在相应VSAN中查找转发表,将报文转发到相应的F_Port上,F_Port去掉报文的VFT_Header后,将报文发送到不同磁盘设备的N_Port上。同样,从每个磁盘设备返回给服务器的数据报文也经过上述处理,最终到达不同的服务器。
图7-2 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。
FC接口和FC聚合接口既支持Access方式,又支持Trunk方式,最终通过链路协商决定哪种方式生效;VFC接口只支持Trunk方式,不需要协商。
链路协商由一系列链路协议组成,其中的EVFP(Exchange Virtual Fabrics Parameter,虚拟Fabric参数交换)协议用来协商接口最终生效的VSAN方式。EVFP协商依赖于链路两端接口的配置,包括以下三种:
· Trunk模式:又分为Auto、On和Off三种模式,缺省为Auto模式。
· Access VSAN:是用户将接口以Access方式加入的VSAN,缺省为VSAN 1。
· Trunk VSAN List:是用户将接口以Trunk方式加入的VSAN列表,缺省情况下,该列表中不存在VSAN。
EVFP协商过程如下:
(1) 两端接口各自将本端的Trunk模式、Access VSAN和Trunk VSAN List信息发送给对端。
(2) 根据Trunk模式协商接口的VSAN Tag模式(Non Tagging或Tagging),协商规则如表7-1所示。
表7-1 VSAN Tag模式协商规则
对端Trunk模式(右) 本端Trunk模式(下) |
Off |
On |
Auto |
Off |
Non Tagging |
Non Tagging |
Non Tagging |
On |
Non Tagging |
Tagging |
Tagging |
Auto |
Non Tagging |
Tagging |
Non Tagging |
(3) 根据VSAN Tag模式的协商结果以及两端的Access VSAN和Trunk VSAN List,确定接口的VSAN方式。确定原则如下:
¡ 如果协商结果为Non Tagging,则检查两端的Access VSAN是否相同。如果不同,则认为是错误配置;如果相同,则接口以Access方式生效,而配置的Trunk VSAN List不起作用。接口只能收发不带VFT_Header的FC报文。
¡ 如果协商结果为Tagging,则检查两端的Trunk VSAN List是否有公共VSAN。如果没有公共VSAN,则认为是错误配置;如果有公共VSAN,则在公共VSAN中,接口以Trunk方式生效,而配置的Access VSAN不起作用。如图7-3所示,FCF交换机A上的接口配置Trunk VSAN 1~4,FCF交换机B上的接口配置Trunk VSAN 1~3,则这两台交换机之间的链路可以收发带VFT_Header扩展头并且其VF_ID字段为1、2或3的FC报文。不能收发不带VFT_Header扩展头或带VFT_Header扩展头但其VF_ID字段不在两端公共VSAN范围内的FC报文。
不管FC接口和FC聚合接口以Access方式还是Trunk方式加入VSAN,必须:
· 配置Access VSAN。这个Access VSAN可以为缺省的VSAN 1或者设备上已创建的其他VSAN。
· 使用fcoe enable命令配置该Access VSAN和VLAN映射。
否则,FC接口和FC聚合接口无法进行接口参数协商,无法达到UP状态,FC功能不能正常运行。
FC接口和FC聚合接口的VSAN配置任务如下:
(1) 创建VSAN
(2) (可选)配置Trunk模式
(3) 配置Access VSAN
(4) (可选)配置Trunk VSAN
当本端或对端任一FC接口的Trunk模式为on时,该步骤必选。
VFC接口的VSAN配置任务如下:
(1) 创建VSAN
(2) 配置Trunk VSAN
用户不能创建或删除缺省VSAN(VSAN 1),用户可以创建的VSAN范围是2~3839。
每台设备上最多可配置的VSAN数目(含VSAN 1)为256。
缺省情况下,系统会将同一VSAN内的服务器接口和存储设备接口加入默认Zone中,默认Zone内的接口禁止互相访问,您可以在该VSAN视图下配置zone default-zone permit命令允许这些接口相互访问。关于默认Zone的详细介绍,请参见“10 FC Zone”。
(1) 进入系统视图。
system-view
(2) 创建VSAN,并进入VSAN视图。
vsan vsan-id [ name vsan-name ]
缺省情况下,系统只有一个缺省VSAN(VSAN 1),且VSAN 1的名称为VSAN0001。
只有FC接口和FC聚合接口支持本配置。VFC接口由于只支持Trunk方式,因此不支持本配置。
当交换机通过FC接口或FC聚合接口与节点设备连接时,H3C建议将该接口以Access方式加入VSAN。请勿将该接口配置为Trunk模式,否则可能影响节点设备的登录。
(1) 进入系统视图。
system-view
(2) 进入FC接口或FC聚合接口视图。
interface { fc | san-aggregation } interface-number
(3) 配置接口的Trunk模式。
port trunk mode { auto | off | on }
缺省情况下,接口的Trunk模式为Auto模式。
用户既可在FC接口或FC聚合接口视图下将接口以Access方式加入VSAN,也可在VSAN视图下将FC接口或FC聚合接口以Access方式批量加入VSAN。二者的配置优先级相同。
接口以Access方式加入VSAN时,要加入的VSAN必须已存在。
(1) 进入系统视图。
system-view
(2) 进入FC接口或FC聚合接口视图。
interface { fc | san-aggregation } interface-number
(3) 将接口以Access方式加入指定VSAN。
port access vsan vsan-id
缺省情况下,接口以Access方式加入VSAN 1。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 将接口以Access方式批量加入VSAN。
port interface-list
缺省情况下,接口以Access方式加入VSAN 1。
FC接口、FC聚合接口和VFC接口可以以Trunk方式加入到一个或多个VSAN中。
一个接口以Trunk方式加入的所有VSAN的集合,就是该接口的Trunk VSAN List。
接口以Trunk方式加入VSAN时,要加入的VSAN必须已存在。
因为FC接口和FC聚合接口是在Access VSAN内发送报文进行VSAN方式协商,所以配置FC接口或FC聚合接口的Trunk VSAN时,也必须将FC接口或FC聚合接口所加入的Access VSAN与VLAN进行映射,FC接口和FC聚合接口的Access VSAN缺省为VSAN 1。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 将接口以Trunk方式加入VSAN。
port trunk vsan vsan-id-list
缺省情况下,接口不以Trunk方式加入VSAN。
在完成上述配置后,在任意视图下执行display命令可以显示配置后VSAN的运行情况,通过查看显示信息验证配置的效果。
表7-2 VSAN显示和维护
操作 |
命令 |
显示VSAN配置的接口成员 |
display vsan [ vsan-id ] port-member |
SAN网络如图7-4所示,要求:
· 服务器Server A能读写磁盘设备Disk A和Disk B中的数据;
· 服务器Server B只能读写磁盘设备Disk C中的数据。
图7-4 VSAN典型配置组网图
· 为了实现上述需求,可将SAN网络划分为2个VSAN,分别为VSAN 10和20。因为本网络没有划分Zone,所以还需要配置默认Zone策略,允许同一个VSAN内的服务器和磁盘设备可以进行数据交换。
· FCF交换机Switch A上与服务器连接的2个接口需要配置为F模式,并将Access VSAN分别配置为VSAN 10和20。
· FCF交换机Switch B上与磁盘设备连接的3个接口需要配置为F模式,并将Access VSAN配置为VSAN 10或20。
· 两台FCF交换机之间的链路需要同时收发2个VSAN的报文,因此,需将链路两端的接口配置为E模式,Trunk模式为On,Trunk VSAN list中包括VSAN 10和20。
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出VSAN相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 创建VSAN 10,并配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 10
[SwitchA-vsan10] zone default-zone permit
[SwitchA-vsan10] quit
# 创建VSAN 20,并配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 20
[SwitchA-vsan20] zone default-zone permit
[SwitchA-vsan20] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
# 将接口FC1/0/1以Access方式加入VSAN 10。
[SwitchA-Fc1/0/1] port access vsan 10
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 10和20,即允许VSAN 10和20通过。
[SwitchA-Fc1/0/1] port trunk mode on
[SwitchA-Fc1/0/1] port trunk vsan 10 20
[SwitchA-Fc1/0/1] quit
# 将以太网接口FortyGigE1/0/2切换为FC接口,配置其工作在F模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] port-type fc
[SwitchA-Fc1/0/2] fc mode f
[SwitchA-Fc1/0/2] speed auto
# 将接口FC1/0/2以Access方式加入VSAN 10。
[SwitchA-Fc1/0/2] port access vsan 10
[SwitchA-Fc1/0/2] quit
# 将以太网接口FortyGigE1/0/3切换为FC接口,配置其工作在F模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] port-type fc
[SwitchA-Fc1/0/3] fc mode f
[SwitchA-Fc1/0/3] speed auto
# 将接口FC1/0/3以Access方式加入VSAN 20。
[SwitchA-Fc1/0/3] port access vsan 20
[SwitchA-Fc1/0/3] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 10进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 10
[SwitchA-vlan10] quit
# 开启VLAN 20的FC和FCoE功能,并将其与VSAN 20进行映射。
[SwitchA] vlan 20
[SwitchA-vlan20] fcoe enable vsan 20
[SwitchA-vlan20] quit
(2) 配置Switch B
Switch B上的配置与Switch A类似,配置步骤略。
(1) 在Switch A上进行验证
# 显示所有VSAN配置的接口成员。
[SwitchA] display vsan port-member
VSAN 1:
Access Ports:
Trunk Ports:
VSAN 10:
Access Ports:
Fc1/0/2
Trunk Ports:
Fc1/0/1
VSAN 20:
Access Ports:
Fc1/0/3
Trunk Ports:
Fc1/0/1
(2) 在Switch B上进行验证
验证结果与Switch A类似,显示内容略。
SAN网络如图7-5所示,要求:
· 服务器Server A能读写磁盘设备Disk A和Disk B中的数据;
· 服务器Server B只能读写磁盘设备Disk C中的数据。
图7-5 配置VSAN组网图
· 为了实现上述需求,可将SAN网络划分为2个VSAN,分别为VSAN 10和20。因为本网络没有划分Zone,所以还需要配置默认Zone策略,允许同一个VSAN内的服务器和磁盘设备可以进行数据交换。
· FCF交换机Switch A上与服务器连接的2个接口需要配置为F模式,并将Trunk VSAN分别配置为VSAN 10和20。
· FCF交换机Switch B上与磁盘设备连接的3个接口需要配置为F模式,并将Trunk VSAN配置为VSAN 10或20。
· 两台FCF交换机之间的链路需要同时收发2个VSAN的报文,因此,需将链路两端的接口配置为E模式,Trunk VSAN list中包括VSAN 10和20。
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出VSAN相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 创建VSAN 10,并配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 10
[SwitchA-vsan10] zone default-zone permit
[SwitchA-vsan10] quit
# 创建VSAN 20,并配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 20
[SwitchA-vsan20] zone default-zone permit
[SwitchA-vsan20] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 10和20,即允许VSAN 10和20的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 10 20
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10和20的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 10 20
[SwitchA-FortyGigE1/0/1] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/2上,并以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过接口VFC2。
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] bind interface fortygige 1/0/2
[SwitchA-Vfc2] port trunk vsan 10
[SwitchA-Vfc2] quit
# 配置以太网接口FortyGigE1/0/2允许VLAN 10的报文通过。
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] port link-type trunk
[SwitchA-FortyGigE1/0/2] port trunk permit vlan 10
[SwitchA-FortyGigE1/0/2] quit
# 创建接口VFC3,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/3上,并以Trunk方式加入VSAN 20,即允许VSAN 20的报文通过接口VFC3。
[SwitchA] interface vfc 3
[SwitchA-Vfc3] fc mode f
[SwitchA-Vfc3] bind interface fortygige 1/0/3
[SwitchA-Vfc3] port trunk vsan 20
[SwitchA-Vfc3] quit
# 配置以太网接口FortyGigE1/0/3允许VLAN 20的报文通过。
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] port link-type trunk
[SwitchA-FortyGigE1/0/3] port trunk permit vlan 20
[SwitchA-FortyGigE1/0/3] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 10进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 10
[SwitchA-vlan10] quit
# 开启VLAN 20的FC和FCoE功能,并将其与VSAN 20进行映射。
[SwitchA] vlan 20
[SwitchA-vlan20] fcoe enable vsan 20
[SwitchA-vlan20] quit
(2) 配置Switch B
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
Vfc2
VSAN 20:
Access Ports:
Trunk Ports:
Vfc1
Vfc3
(2) 在Switch B上进行验证
验证结果与Switch A类似,显示内容略。
Fabric网络为服务器和磁盘设备提供数据传输服务。通过Fabric网络传输数据之前,必须为Fabric网络中的每台FCF交换机分配域ID、为Fabric网络连接的每个节点设备分配FC地址。
如图8-1所示,Fabric网络可以通过以下两种方式建立:
· 动态方式:网络中的交换机先自动选举出主交换机,然后由主交换机为网络中的所有交换机分配域ID,最后由各交换机为与之相连的N_Port分配FC地址。此方式适用于规模较大的网络,可以对整个网络进行集中管理。
· 静态方式:不需要选举主交换机来分配域ID,而是由用户在保证域ID互不冲突的前提下,手工为网络中的每台交换机分别指定域ID,然后由各交换机为与之相连的N_Port分配FC地址。此方式适用于组网结构简单、规模较小的网络,可以有效避免不必要的网络震荡。
图8-1 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。
(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模式的详细介绍请参见“8.8 配置域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字段的值由交换机统一分配。
FC地址分配原则如下:
· 如果为N_Port绑定了FC地址,则交换机为其分配绑定的FC地址。
· 如果N_Port有指定要分配的FC地址,则交换机应该尽量分配指定的FC地址。
· 如果N_Port没有指定要分配的FC地址,或交换机无法分配其指定要分配的地址,则交换机为其分配最小可以分配的Area_ID和Port_ID。
在规模较大的网络中,为了便于对网络进行集中管理,通常采用动态方式建立Fabric网络;而在组网结构简单、规模较小的网络中,为了有效避免不必要的网络震荡,通常采用静态方式建立Fabric网络。
静态建立Fabric网络配置任务如下:
(1) 关闭Fabric配置功能
(2) 配置Fabric基本功能
¡ 配置域ID
(3) (可选)配置FC地址持久化功能
(4) (可选)配置VSAN下的最大登录节点数
(5) (可选)配置Fabric定时器
(6) (可选)配置RSCN聚合功能
(7) (可选)配置和探测发现节点设备的FC4信息
(8) (可选)开启Smart SAN功能
动态建立Fabric网络配置任务如下:
(1) 开启Fabric配置功能
(2) (可选)配置Fabric基本功能
¡ 配置域ID
(3) (可选)配置FC地址持久化功能
(4) (可选)配置VSAN下的最大登录节点数
(5) (可选)配置Fabric定时器
(6) (可选)配置Fabric重配置
(7) (可选)配置接口拒绝接收RCF请求报文
(8) (可选)开启Fabric或名称服务的告警功能
(9) (可选)配置RSCN聚合功能
(10) (可选)配置和探测发现节点设备的FC4信息
(11) (可选)开启Smart SAN功能
动态建立Fabric网络时,需要在网络中所有FCF交换机上开启Fabric配置功能。这些交换机会自动选举出主交换机然后由主交换机为网络中的所有交换机分配域ID。
静态建立Fabric网络时,需要在网络中所有FCF交换机上关闭Fabric配置功能,并手动为每一台交换机配置一个唯一的域ID。这些交换机不会进行主交换机的选举。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启Fabric配置功能。
domain configure enable
缺省情况下,Fabric配置功能处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 关闭Fabric配置功能。
undo domain configure enable
缺省情况下,Fabric配置功能处于开启状态。
FCF交换机支持为每个VSAN分配一个Fabric网络名称,其格式与WWN格式相同,是一个64位的地址。当VSAN创建后,如果用户未配置Fabric网络的名称,则使用本交换机的WWN作为Fabric网络的名称。
仅在静态建立Fabric网络时才需要配置Fabric网络的名称,并且同一VSAN内所有交换机的Fabric网络名称必须一样。动态建立Fabric网络时并不需要配置Fabric网络的名称,系统将使用主交换机的WWN作为Fabric网络的名称。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置Fabric网络的名称。
fabric-name name
缺省情况下,使用WWN作为Fabric网络的名称。
在一个VSAN中,优先级高的交换机将优先被选为主交换机。同一台FCF交换机在不同VSAN中的优先级可以不同。
交换机优先级的配置不能立即生效,需通过命令domain restart disruptive进行一次中断重配置后才能生效。
交换机的运行优先级和配置的优先级可能不同:如果Fabric网络已处于稳定状态,此时去配置交换机的优先级并不会立即生效,使用本命令查看时就有可能出现运行优先级和配置优先级不一致的情况。如果配置了优先级之后立即通过命令domain restart disruptive进行一次中断重配置,新配置的优先级就会生效。待Fabric网络稳定后:
· 对于主交换机,如果配置的优先级<=2,则运行和配置优先级一致;如果配置的优先级数值大于2,则会将运行优先级修改为2,运行和配置优先级不一致。
· 对于非主交换机,如果配置的优先级<=2,会将运行优先级修改为3,运行和配置优先级不一致;如果配置的优先级数值大于2,则运行和配置优先级一致。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置交换机的优先级。
priority priority
缺省情况下,交换机的优先级为128。
主交换机上配置的允许域ID范围必须包含已分配的域ID和本地配置的域ID。主交换机只能从允许的域ID范围内分配域ID。
非主交换机上配置的允许域ID范围必须包含该非主交换机当前运行时域ID。非主交换机的允许域ID范围配置后,需要注意:
· 在非主交换机上手工配置的域ID必须在允许的域ID范围内,否则会配置失败。
· 主交换机为本交换机分配的域ID必须在本交换机允许的域ID范围内,否则不接受所分配的域ID,并隔离连接主交换机的接口。
建议为一个VSAN内的所有交换机都配置相同的允许域ID范围。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置交换机允许的域ID范围。
allowed-domain-id domain-id-list
缺省情况下,交换机允许的域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。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置交换机的域ID。
domain-id domain-id { preferred | static }
缺省情况下,交换机的域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地址持久化表项才能生效。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启FC地址持久化功能。
fcid persistent enable
缺省情况下,FC地址持久化功能处于开启状态。
(4) (可选)配置FC地址持久化表项。
wwn wwn-value fcid fcid-value [ dynamic ]
用户可以配置VSAN下的最大登录节点数,以防止某VSAN下的登录节点过多,占用大量的ACL资源。这里的登录节点数=交换机直连的NPV交换机的数+登录到本交换机上的服务器和磁盘数。
如果已登录节点数大于配置的最大登录节点数,不会将已登录节点强制下线,但后续任何新节点均无法登录。用户可以通过手工关闭接口等方式将不需要的节点下线。
登录节点数即受本配置、也受硬件ACL资源的限制,当硬件ACL资源耗尽时,新节点也无法登录。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置VSAN下的最大登录节点数。
fc login-limit max-number
缺省情况下,不限制VSAN下的最大登录节点数。
用户可以配置如下Fabric定时器的取值:分布式服务超时时间、错误检测超时时间和资源分配超时时间。关于这些Fabric定时器的详细介绍请参见FC相关的协议规范。
用户既可在系统视图下对所有VSAN进行全局配置,也可在VSAN视图下只对当前VSAN进行配置,后者的配置优先级较高。
(1) 进入系统视图。
system-view
(2) 全局配置分布式服务超时时间。
fc timer distributed-services value
缺省情况下,分布式服务超时时间为5000毫秒。
(3) 全局配置错误检测超时时间。
fc timer error-detect value
缺省情况下,错误检测超时时间为2000毫秒。
(4) 全局配置资源分配超时时间。
fc timer resource-allocation value
缺省情况下,资源分配超时时间为10000毫秒。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 在VSAN内配置分布式服务超时时间。
timer distributed-services value
缺省情况下,分布式服务超时时间为5000毫秒。
(4) 在VSAN内配置错误检测超时时间。
timer error-detect value
缺省情况下,错误检测超时时间为2000毫秒。
(5) 在VSAN内配置资源分配超时时间。
timer resource-allocation value
缺省情况下,资源分配超时时间为10000毫秒。
Fabric重配置一般在网络改造(比如合并两个Fabric网络等)或外部干预(比如管理员通过命令行发起重配置)时发生。Fabric重配置功能应用于动态建立的Fabric网络中,其将触发整个网络重新开始主交换机选举、域ID分配和FC地址分配。
根据重配置过程中对Fabric网络的影响程度不同,可将Fabric重配置分为以下两种:
· 中断重配置:在整个Fabric中洪泛RCF(Reconfigure Fabric,重配置Fabric)报文,通知所有交换机进行中断重配置。重配置过程中,会清除所有运行数据重新进行协商。
· 非中断重配置:在整个Fabric中洪泛BF(Build Fabric,建立Fabric)报文,通知所有交换机进行非中断重配置。重配置过程中,会尽量保留上一次的运行数据,以保证交换机的域ID尽量不发生变化,从而不影响Fabric网络的数据传输。
Fabric重配置可以由系统自动发起,也可以由用户手工发起。具体使用场景如表8-1所示。
表8-1 Fabric重配置使用场景
类型(右) 发起方式(下) |
中断重配置 |
非中断重配置 |
自动发起 |
使能了自动重配置功能后,当合并两个Fabric网络时,如果域ID列表重叠,系统会自动发起中断重配置 |
合并两个Fabric网络时,如果两个网络的主交换机信息不同,而且域ID列表非空且不重叠,或者当主链路down时,系统都会自动发起非中断重配置 |
手工发起 |
如果有接口被隔离、交换机优先级被修改等情况,用户可以手工发起中断重配置 |
- |
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启自动Fabric重配置功能。
domain auto-reconfigure enable
缺省情况下,自动Fabric重配置功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 手工发起Fabric重配置。
domain restart [ disruptive ]
指定disruptive参数发起中断重配置时,将清除所有运行数据重新进行协商,整个Fabric网络的数据传输都会中断,请谨慎使用。
在一个稳定的网络中,可以配置接口拒绝接收特定VSAN内的RCF请求报文,以防止交换机进行不必要的中断重配置。配置该功能后,如果接口收到该VSAN内的RCF请求报文,交换机会回应拒绝报文,并将该接口隔离。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 配置接口拒绝接收RCF请求报文。
fc domain rcf-reject vsan vsan-id
缺省情况下,接口不拒绝接收RCF请求报文。
开启了Fabric或名称服务的告警功能之后,Fabric或名称服务会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启Fabric的告警功能。
snmp-agent trap enable fc-fabric [ domain-id-change | fabric-change ] *
缺省情况下,Fabric的告警功能处于关闭状态。
(3) 开启名称服务的告警功能。
snmp-agent trap enable fc-name-service [ login | logout ] *
缺省情况下,名称服务的告警功能处于关闭状态。
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聚合等待时间,以避免可能产生的设备互通问题。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启RSCN聚合功能。
rscn aggregation enable
缺省情况下,RSCN聚合功能处于关闭状态。
(4) 配置RSCN聚合等待时间。
rscn aggregation timer value
缺省情况下,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信息功能后,某些较老型号的网卡可能不会再向交换机自动注册节点设备信息。请用户根据实际情况选择是否开启本功能。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启Fabric自动发现SCSI-FCP信息功能。
fc name-service auto-discovery
缺省情况下,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,则需要再配置一条命令。
(1) 进入系统视图。
system-view
(2) 配置节点设备的默认FC4信息。
fc wwn wwn-value default-fc4-type { type-value feature feature-map | scsi-fcp feature { feature-map | both | initiator | target } }
缺省情况下,未配置节点设备的默认FC4信息。
Smart SAN是由H3C提出的SAN网络配置与管理解决方案,集智能化、简单化、可维护、可诊断、自我修复等优点。Smart SAN一方面将增强SAN网络的可管理性,另一方面又会大大简化用户的操作,为SAN网络的广泛部署奠定基础。它采用分布式的框架结构,部署于包括存储设备、服务器和交换机在内的所有SAN网络对象上。其中,交换机主要完成如下工作:
· 搜集服务器与存储设备的信息,为服务器与存储设备之间的发现提供依据;
· 控制服务器与存储设备之间的访问,实现Zone的自动化配置,包括Peer Zone的创建和删除,为Peer Zone添加成员,将Peer Zone加入Zone set并激活Zone set;
· 搜集服务器与存储设备的诊断信息,为监控网络环境、诊断网络问题提供参考;
· 控制服务器与存储设备的自动化登录。
开启Smart SAN功能后,该交换机会通知FDMI(Fabric Device Management Interface,Fabric设备管理接口)、FC Zone、和FCPS(FC Port Security,FC端口安全)模块进行相应的处理:
· FDMI模块会启动一个定时器,定期向登录交换机的节点设备发送RDP(Read Diagnostic Parameters,诊断参数读取请求)请求报文获取节点设备的诊断信息,更新本地接口的诊断信息,并向其它交换机发送同步RDP数据库信息的ADP(Add Diagnostic Parameter,增加诊断信息)同步报文。
· FC Zone模块自动配置每个VSAN工作在增强Zone模式。
· 当节点设备支持Smart SAN功能,其注册的RPRT(Register Port,注册端口)/RPA(Register Port Attributes,注册端口属性)报文会携带Smart SAN属性。若节点设备的Smart SAN属性中Smart SAN Security Support字段不是0x00时,FCPS模块将自动添加Smart SAN表项到FC端口安全策略数据库中。
(1) 进入系统视图。
system-view
(2) 开启Smart SAN功能并指定其应用类型。
smartsan enable [ fcoe | iscsi ]
缺省情况下,Smart SAN功能处于关闭状态。
Smart SAN功能包含两种应用类型:FC/FCoE类型和iSCSI类型。iSCSI类型暂不支持。
(3) 配置RDP请求报文的发送时间间隔。
rdp request-polling-interval interval
缺省情况下,发送RDP请求报文的时间间隔是30分钟。
只有开启Smart SAN功能并指定其应用类型为FC/FCoE类型后,交换机才支持配置RDP请求报文的发送时间间隔。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Fabric网络的运行情况,通过查看显示信息验证配置的效果。
表8-2 Fabric网络显示和维护
操作 |
命令 |
显示VSAN内的域信息 |
display fc domain [ vsan vsan-id ] |
显示VSAN内动态分配的域列表 |
display fc domain-list [ vsan vsan-id ] |
显示ESS协商结果 |
display fc ess [ vsan vsan-id ] |
显示节点注册的相关信息 |
display fc login [ vsan vsan-id ] [ count ] |
显示名称服务数据库信息 |
display fc name-service database [ vsan vsan-id [ fcid fcid ] ] [ verbose ] display fc name-service database [ vsan vsan-id ] count |
显示N端口注册的SCR列表 |
display fc scr-table [ vsan vsan-id ] [ count ] |
显示本交换机的WWN |
display fc switch-wwn |
显示Fabric定时器信息 |
display fc timer [ distributed-services | error-detect | resource-allocation ] [ vsan vsan-id ] |
显示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组成。
网络结构比较简单,采用静态方式建立Fabric网络。
图8-2 静态建立Fabric网络配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出建立Fabric网络的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 关闭VSAN 1的Fabric配置功能。
[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
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 关闭VSAN 1的Fabric配置功能。
<SwitchB> system-view
[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
(1) 验证Switch A
[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。
(2) 验证Switch B
[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组成。
网络结构比较复杂,采用动态方式建立Fabric网络。
图8-3 动态建立Fabric网络配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出建立Fabric网络的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[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
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchB] vsan 1
[SwitchB-vsan1] domain configure enable
# 配置交换机的优先级为1,使Switch B成为主交换机。
[SwitchB-vsan1] priority 1
(3) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[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
(4) 配置Switch D
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchD> system-view
[SwitchD] system-working-mode advance
[SwitchD] save
[SwitchD] quit
<SwitchD> reboot
# 配置FCoE模式为FCF模式。
<SwitchD> system-view
[SwitchD] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[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
在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
0x05(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交换机的访问通常使用知名地址,常见知名地址的用途介绍请参见“18.2 附录B Fabric知名地址”。所有知名地址均作为直连路由加入路由表中,路由的目的地址为知名地址,掩码为0xffffff,出接口为InLoop0。
· 在FCF交换机给直连的N_Port分配FC地址时添加该FC地址的直连路由到路由表中,路由的目的地址为分配的FC地址,掩码为0xffffff,出接口为连接N_Port的FC接口、FC聚合接口或VFC接口。
静态路由是由管理员手工配置的。配置静态路由后,去往指定目的地的FC报文将按照管理员指定的路径进行转发。
在组网结构比较简单的网络中,只需配置静态路由就可以实现网络互通。恰当地设置和使用静态路由可以改善网络的性能,并可为重要的网络应用保证带宽。
静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。
静态路由支持等价路由,如果先后配置多条目的地址相同、出接口不同的静态路由且度量值相同,则生成等价路由。
FSPF是一个基于链路状态的动态路由选择协议,它可以自动计算Fabric网络中任意两台交换机之间的最短路径。
FSPF具有如下特点:
· 可用于任何组网。
· 支持等价路由。
· 基于每个VSAN进行拓扑计算。
· 只在E模式端口运行,提供无环路的拓扑。
· 在每个交换机上都有一个拓扑数据库,跟踪每条链路的状态。
· 使用Dijkstra算法计算路由。
· 网络拓扑改变时可以快速收敛。
在介绍FSPF的工作机制之前,先介绍几个基本概念。
· LSDB
LSDB(Link State Database,链路状态数据库)是交换机保存全网拓扑信息的数据库。在LSDB中,以LSR(Link State Record,链路状态记录)的形式来存储各交换机的链路状态信息。
· LSR
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静态路由允许配置的目的地址范围是010000~EFFFFF(十六进制),不允许配置目的地址为知名服务地址的路由。
· FC静态路由的出接口仅允许配置为FC接口、FC聚合接口或VFC接口。
· 如果先后配置两条目的地址、掩码和出接口均相同而cost值不同的静态路由,最后保留在静态路由表内的静态路由的cost值将是后者。
· 每个VSAN中最多允许配置的静态路由条数为4096。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置FC静态路由。
fc route-static fcid { mask | mask-length } interface-type interface-number [ cost cost-value ]
FSPF功能缺省开启,用户一般不需要进行特别的配置。
在实际使用过程中,用户可以根据网络的实际情况,调整某个VSAN或者某个接口的FSPF运行参数,以便达到更好的运行效果。
FSPF配置任务如下:
(1) 开启VSAN的FSPF功能
(2) (可选)调整某个VSAN的FSPF运行参数
(3) (可选)调整E模式接口的FSPF运行参数
(4) (可选)配置FSPF GR
开启了指定VSAN的FSPF功能后,该VSAN才可以运行FSPF相关的功能。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启FSPF功能。
fspf enable
缺省情况下,VSAN创建后,FSPF功能处于开启状态。
当LSDB发生改变时,需要进行SPF计算。SPF计算需要耗费一定的CPU,如果网络频繁变化,且每次变化都立即进行SPF计算,将会占用大量的CPU。为了避免交换机过于频繁的进行路由计算而浪费CPU,用户可以配置最短的SPF计算间隔。
最短SPF计算间隔决定了指定VSAN内两次连续的SPF计算之间的最小时间间隔。最短SPF计算间隔配置的小,意味着FSPF对于Fabric的变化可以快速反应,重新计算VSAN内的路由。一个更小的SPF计算间隔会耗费更多的CPU。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置最短SPF计算间隔。
fspf spf-hold-time value
缺省情况下,最短SPF计算间隔为0秒。
LSR最小接收间隔决定了指定VSAN内接收LSR的间隔。为了避免过于频繁的从邻居接收到同一个LSR的新实例、更新本地LSDB而频繁触发路由计算。在LSR最小接收间隔时间内,如果又一次接收到了这个LSR的新实例,则直接丢弃,不做处理。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置LSR最小接收间隔。
fspf min-ls-arrival value
缺省情况下,LSR最小接收间隔为1秒。
LSR最小刷新间隔决定了指定VSAN内LSR刷新间隔。为了避免本机LSR被频繁的刷新,从而降低路由计算的频率和减少Fabric中LSR的泛洪,在LSR最小刷新间隔内,交换机不能再次刷新本机LSR。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置LSR最小刷新间隔。
fspf min-ls-interval interval
缺省情况下,LSR最小刷新间隔为5秒。
网络中,每一条链路会有不同的开销,在路由优选算法中将使用开销值来确定最有效的路由,接口的FSPF开销越小说明链路的开销越小。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 配置接口在指定VSAN内的FSPF开销。
fspf cost cost-value vsan vsan-id
缺省情况下,FC接口、FC聚合接口和VFC接口的FSPF开销根据接口波特率计算得到,计算公式为(1.0e12/波特率)。
交换机通过周期性向外发送Hello报文,来发现和维护邻居关系。Hello时间间隔决定了接口在指定VSAN内发送Hello报文的时间间隔。
配置的Hello时间间隔必须小于Dead时间间隔,且邻居双方配置的Hello时间间隔必须一致。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 配置接口在指定VSAN内的Hello时间间隔。
fspf hello-interval interval vsan vsan-id
缺省情况下,接口的Hello时间间隔为20秒。
两台交换机之间建立起邻居关系后,需要以Hello时间间隔为周期向对方发送Hello报文来维护邻居关系。若在Dead间隔内仍未收到对方的Hello报文,则认为邻居不存在,需要删除该邻居。
配置的Dead时间间隔必须大于Hello时间间隔,且邻居双方配置的Dead时间间隔必须一致。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 配置接口在指定VSAN内的Dead时间间隔。
fspf dead-interval interval vsan vsan-id
缺省情况下,接口的Dead时间间隔为80秒。
LSDB的同步需要交互LSR。在发送LSR后,等待邻居回应报文确认,如果过了LSR重传间隔还没有接收到邻居的确认,那么需要再次发送该LSR。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 配置接口在指定VSAN内的LSR重传间隔。
fspf retransmit-interval interval vsan vsan-id
缺省情况下,接口的LSR重传间隔为5秒。
开启接口的FSPF功能后,接口才可以参与FSPF路由运算,如果某接口不参与FSPF路由运算,则需关闭该接口的FSPF功能。
(1) 进入系统视图。
system-view
(2) 进入FC接口、FC聚合接口或VFC接口视图。
interface { fc | san-aggregation | vfc } interface-number
(3) 关闭接口在指定VSAN内的FSPF功能。
fspf silent vsan vsan-id
缺省情况下,所有接口的FSPF功能均处于开启状态。
GR(Graceful Restart,平滑重启)是一种通过备份FSPF配置信息,在协议重启(比如通过process命令重启FSPF进程等情况)或主备倒换时FSPF进行平滑重启,从邻居那里获得邻居关系,并对LSDB进行同步,从而保证转发业务不中断的机制。
GR有两个角色:
· GR Restarter:发生协议重启或主备倒换事件且具有GR能力的设备。
· GR Helper:和GR Restarter具有邻居关系,协助完成GR流程的设备。
(1) 进入系统视图。
system-view
(2) 开启FSPF的GR能力。
fspf graceful-restart
缺省情况下,FSPF的GR能力处于关闭状态。
(3) 配置FSPF的GR最大间隔时间。
fspf graceful-restart interval interval
缺省情况下,FSPF的GR最大间隔时间为120秒。
(1) 进入系统视图。
system-view
(2) 开启FSPF的GR Helper能力。
fspf graceful-restart helper
缺省情况下,FSPF的GR Helper能力处于开启状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC路由与转发的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除FSPF统计信息。
表9-1 FC路由与转发显示和维护
操作 |
命令 |
显示FC Exchange表项信息 |
(独立运行模式) display fc exchange { link | protocol } [ slot slot-number ] display fc exchange link verbose slot slot-number exid exid (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 |
显示FC FIB表项信息 |
display fc fib [ fcid [ mask-length ] ] vsan vsan-id |
显示FC路由表信息 |
display fc routing-table [ vsan vsan-id ] [ statistics | verbose ] display fc routing-table vsan vsan-id fc-id [ mask | mask-length ] [ verbose ] |
显示FSPF GR状态信息 |
display fspf graceful-restart [ vsan vsan-id ] |
显示FSPF链路状态数据库信息 |
display fspf lsdb [ vsan vsan-id ] |
显示FSPF邻居信息 |
display fspf neighbor [ vsan vsan-id ] |
显示FSPF统计信息 |
display fspf statistics [ vsan vsan-id ] |
清除FSPF统计信息 |
reset fspf counters [ vsan vsan-id ] |
网络由三台FCF交换机Switch A、Switch B和Switch C组成。
要求:配置静态路由,使任意两台FCF交换机之间都能互通。
图9-1 FC静态路由配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC路由的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchA-Fc1/0/1] port trunk mode on
[SwitchA-Fc1/0/1] port trunk vsan 1
[SwitchA-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置两条静态路由。
[SwitchA] vsan 1
[SwitchA-vsan1] fc route-static 020000 8 fc 1/0/1
[SwitchA-vsan1] fc route-static 030000 8 fc 1/0/1
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port-type fc
[SwitchB-Fc1/0/1] fc mode e
[SwitchB-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/1] port trunk mode on
[SwitchB-Fc1/0/1] port trunk vsan 1
[SwitchB-Fc1/0/1] quit
# 将以太网接口FortyGigE1/0/2切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/2
[SwitchB-FortyGigE1/0/2] port-type fc
[SwitchB-Fc1/0/2] fc mode e
[SwitchB-Fc1/0/2] speed auto
# 配置接口FC1/0/2的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/2] port trunk mode on
[SwitchB-Fc1/0/2] port trunk vsan 1
[SwitchB-Fc1/0/2] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置两条静态路由。
[SwitchB] vsan 1
[SwitchB-vsan1] fc route-static 010000 8 fc 1/0/1
[SwitchB-vsan1] fc route-static 030000 8 fc 1/0/2
(3) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC] vsan 1
[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
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port-type fc
[SwitchC-Fc1/0/1] fc mode e
[SwitchC-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchC-Fc1/0/1] port trunk mode on
[SwitchC-Fc1/0/1] port trunk vsan 1
[SwitchC-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchC] vlan 10
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
# 在Switch C上配置两条静态路由。
[SwitchC] vsan 1
[SwitchC-vsan1] fc route-static 010000 8 fc 1/0/1
[SwitchC-vsan1] fc route-static 020000 8 fc 1/0/1
# 显示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 Fc1/0/1
0x030000/8 STATIC 10 0 Fc1/0/1
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 Fc1/0/1
0x030000/8 STATIC 10 0 Fc1/0/2
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 Fc1/0/1
0x020000/8 STATIC 10 0 Fc1/0/1
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交换机Switch A、Switch B和Switch C组成。
要求:配置静态路由,使任意两台FCF交换机之间都能互通。
图9-2 FC静态路由配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC路由的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchA-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置两条静态路由。
[SwitchA] vsan 1
[SwitchA-vsan1] fc route-static 020000 8 vfc 1
[SwitchA-vsan1] fc route-static 030000 8 vfc 1
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface fortygige 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/1] quit
# 创建接口VFC2,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/2上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC2。
[SwitchB] interface vfc 2
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface fortygige 1/0/2
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 配置以太网接口FortyGigE1/0/2允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/2
[SwitchB-FortyGigE1/0/2] port link-type trunk
[SwitchB-FortyGigE1/0/2] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/2] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置两条静态路由。
[SwitchB] vsan 1
[SwitchB-vsan1] fc route-static 010000 8 vfc 1
[SwitchB-vsan1] fc route-static 030000 8 vfc 2
(3) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchC] interface vfc 1
[SwitchC-Vfc1] fc mode e
[SwitchC-Vfc1] bind interface fortygige 1/0/1
[SwitchC-Vfc1] port trunk vsan 1
[SwitchC-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchC-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchC] vlan 10
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
# 在Switch C上配置两条静态路由。
[SwitchC] vsan 1
[SwitchC-vsan1] fc route-static 010000 8 vfc 1
[SwitchC-vsan1] fc route-static 020000 8 vfc 1
# 显示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 Vfc1
0x020000/8 STATIC 10 0 Vfc1
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交换机之间可以互通。
图9-3 FSPF配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC路由的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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] fspf enable
[SwitchA-vsan1] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将接口FC1/0/1以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchA-Fc1/0/1] port trunk mode on
[SwitchA-Fc1/0/1] port trunk vsan 1
# 开启接口FC1/0/1的FSPF功能。
[SwitchA-Fc1/0/1] undo fspf silent vsan 1
[SwitchA-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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] fspf enable
[SwitchB-vsan1] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port-type fc
[SwitchB-Fc1/0/1] fc mode e
[SwitchB-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将接口FC1/0/1以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/1] port trunk mode on
[SwitchB-Fc1/0/1] port trunk vsan 1
# 开启接口FC1/0/1的FSPF功能。
[SwitchB-Fc1/0/1] undo fspf silent vsan 1
[SwitchB-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 显示Switch A的FSPF邻居信息。
[SwitchA] display fspf neighbor
FSPF neighbor information of VSAN 1(01):
Interface NbrDomain IfIndex NbrIfIndex Dead Time State
Fc1/0/1 2 0x68 0x68 00:01:06 Full
# 显示Switch A路由表相关信息。
[SwitchA] display fc routing-table vsan 1
Routing Table: VSAN 1
Destinations : 5 Routes : 5
Destination/mask Protocol Preference Cost Interface
0x020000/8 FSPF 20 1062 Fc1/0/1
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 1
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
网络由两台FCF交换机组成,要求通过动态路由协议FSPF,使两台FCF交换机之间可以互通。
图9-4 FSPF配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC路由的相关配置,其它配置步骤略。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 创建VSAN 2并开启VSAN 2的Fabric配置功能。
[SwitchA] vsan 2
[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] fspf enable
[SwitchA-vsan2] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 2,即允许VSAN 1的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 2
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchA-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 2进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 2
[SwitchA-vlan10] quit
# 开启接口VFC1的FSPF功能。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] undo fspf silent vsan 2
[SwitchA-Vfc1] quit
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 创建VSAN 2并开启VSAN 2的Fabric配置功能。
[SwitchB] vsan 2
[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] fspf enable
[SwitchB-vsan2] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 2,即允许VSAN 1的报文通过接口VFC1。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface fortygige 1/0/1
[SwitchB-Vfc1] port trunk vsan 2
[SwitchB-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 2进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 2
[SwitchB-vlan10] quit
# 开启接口VFC1的FSPF功能。
[SwitchB] interface vfc 1
[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内的N_Port,只要注册了名称服务就可以相互访问,给数据安全带来隐患。FC Zone特性通过将VSAN划分区域(Zone),在Zone内根据不同的目的添加不同的N_Port成员或F_Port成员,使不同Zone内的N_Port成员之间相互隔离,可达到对接入Fabric的服务器及磁盘设备(即N_Port)的访问控制。
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三级基本对象进行组织的,如图10-1所示。
图10-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进行修改时,不会对生成的副本造成影响。只有再次激活时,才会将修改的内容更新到副本中。图10-2描述了对Zone set zs2进行激活配置,并修改其配置后重新激活的数据库变化流程。
需要注意的是,在基本Zone中,激活指定的Zone set时,系统会对Zone set激活后将要发送的封装报文的大小进行判断,如果超过最大规格,则激活失败,并打印相应的提示信息,但在增强Zone中激活Zone set不受此限制。
图10-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,释放修改授权)
这四类报文的作用分别相当于加锁、数据同步、提交和解锁的过程,可以保证不同的用户在不同交换机上同时输入命令触发数据扩散时,只有一台交换机作为管理交换机进行数据扩散。数据扩散过程如图10-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策略。关于合并控制模式的介绍请参见“10.1.7 增强Zone的合并”。
· 扩散类型不同:增强Zone不再受扩散类型的影响,始终会进行完全扩散,也不支持zoneset distribute full命令的配置。
增强Zone中激发扩散过程的途径和基本Zone激发扩散过程的途径相同,只是激活命令zoneset activate激发的扩散始终为完全扩散。具体激发扩散的途径介绍请参见“10.1.4 1. 基本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,合并请求)报文携带需要合并的数据发送到邻居节点。
两台交换机Zone合并过程如图10-4所示。
图10-4 两台交换机Zone合并过程图
(1) A和B互为新邻居,且假设首先由A向B发起合并:
¡ A向B发送MRRA请求报文,该报文中携带着本地需要合并的数据的规模;
¡ B接收到A发送的MRRA请求报文后,根据报文中的数据规模并结合本地数据规模判断是否能够接受此次合并,如果能接受,则回应ACC报文,否则回应RJT报文;
¡ A收到B回复的ACC报文后,向B发送MR请求报文,该报文中携带了A的Zone数据;
¡ B收到A发送的MR请求报文后,获取报文中的Zone数据并与本地的Zone数据进行合并。合并成功向A回应ACC报文,否则回应RJT报文并携带合并失败的原因。
(2) A向B发起的合并过程完成之后,如果B发现本地数据与从A同步过来的数据完全一致,或者本地数据是从A同步过来的数据的子集,则结束A和B之间的合并过程,否则,B将继续发起向A的合并。由B向A发起的合并过程与由A向B发起的合并过程类似,如图中5~8所示。
(3) A向B发起的合并过程完成之后,如果B发现本地数据库因为合并发生了变化,将会试图将这种变化同步到整个网络,这种同步是通过B向自己的所有邻居发起合并过程完成的。
(4) A和B之间,至多经过两个单向的合并过程即可保证两台交换机之间数据的一致性。
合并过程可以保证相互合并的交换机间Active Zone set的一致性,但是数据库是否一致则决定于各台交换机上配置的同步类型是否均为完全同步。当各台交换机上均配置了完全同步,经过合并,可以让多台交换机上的Zone数据库达到一致。
基本Zone数据合并具体规则如表10-1所示。
表10-1 基本Zone数据合并规则
本地数据库 |
邻居数据库 |
合并状态 |
合并结果 |
Zone数据库包含同名的Zone set但其中的Zone名称不同 |
成功 |
本地数据库与邻居数据库的并集,同名Zone set进行合并 |
|
Zone数据库包含不同名的Zone set |
成功 |
本地数据库与邻居数据库的并集,不同名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名称。
· 按照表10-1中的规则合并后,如果Active Zone set合并失败,则会将发生合并的两台交换机之间的链路隔离(端口在该VSAN内处于down状态),合并双方的数据库不发生改变;如果Zone数据库合并失败,则不会隔离发生合并的两台交换机之间的链路,仅仅是合并双方的数据库不发生改变。
增强Zone的合并触发条件和合并过程与基本Zone一致,但有如下几点不同:
· 合并类型不同:增强Zone不再受合并类型的影响,始终会进行完全合并。
· 报文携带的数据不同:增强Zone的MR报文中除了携带Active Zone set和Zone数据库,还携带了硬件Zone开启情况和一个合并标志字段。合并标志字段中的合并控制模式和默认Zone策略参数是能否进行合并的重要条件。
· 合并规则不同:相比基本Zone的合并,增强Zone对数据合并的管理更加严格。
(1) 如果合并控制模式和默认Zone策略有一个与本地不一致,则合并失败。
(2) 如果合并控制模式和默认Zone策略与本地全部一致:
¡ 当合并控制模式为Restrict时,检查报文中携带的数据和本地数据是否完全一致:
- 如果完全一致,则合并成功,两端数据库不发生变化;
- 如果有任何不一致,则合并失败。
¡ 当合并控制模式为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的成员才允许互相访问,否则不允许互相访问。
在交换机进行扩散或合并的过程中,用户无法修改Zone的配置。
一个Fabric网络中同时只能有一个管理交换机正在发起扩散,只有当一次扩散完成后才能发起下一次扩散。
FC Zone配置任务如下:
(1) 配置Zone模式
(2) 配置Zone别名、Zone、Peer Zone、Zone set
a. (可选)配置Zone别名
b. 配置Zone
c. (可选)配置Peer Zone
d. 配置Zone set
只允许在增强Zone模式下配置。
(4) 配置默认Zone策略
(5) 配置Zone扩散和合并类型
只允许在基本Zone模式下配置。
(6) 配置Zone的合并控制模式
只允许在增强Zone模式下配置。
(7) (可选)开启硬件Zone
(9) (可选)激发完全扩散过程
(10) (可选)重命名或复制Zone别名、Zone、Zone set
(11) (可选)清除Zone数据库信息
(12) (可选)开启Zone的告警功能
Zone有两种工作模式:基本Zone模式和增强Zone模式。缺省工作在基本Zone模式。
进行Zone模式切换时,将进行Fabric内的扩散操作,以保证Fabric内的所有交换机的Zone模式的一致性。
进行Zone模式切换时,系统将打印提示信息,提醒用户Zone模式切换将引发Zone数据扩散,是否要切换模式。如果用户输入No,则直接返回,不做任何操作;如果用户输入Yes,则将本地交换机切换模式,并生成相应配置。完成本地模式切换和配置之后,将向Fabric内所有交换机发起扩散。
从基本Zone模式切换为增强Zone模式时,需要满足以下限制:
· Fabric中的所有交换机都支持增强Zone模式。
· Fabric中不能存在无效的静态路由。因为交换机配置增强Zone模式后,会检查ESS协商结果。ESS协商是根据交换机上的路由表进行的,存在无效静态路由的交换机依然会与目的交换机进行ESS协商,协商结果默认目的交换机不支持增强Zone模式。
进行Zone模式切换时,如果扩散失败,系统将打印日志信息,但Zone模式切换后生成的本地配置不再回退。此时需要用户主动激发一次完全扩散,以保证Fabric内所有交换机的Zone模式的一致性。
当从增强Zone模式切换为基本Zone模式时,若存在激活Zone set,且激活Zone set大小超过了基本Zone模式下激活Zone set的最大规格,则切换失败,本交换机的Zone模式不变。
(1) 进入系统视图。
system-view
(2) 创建VSAN,并进入VSAN视图。
vsan vsan-id
(3) 配置Zone模式。请选择其中一项进行配置。
¡ 配置VSAN工作在增强Zone模式。
zone mode enhanced
¡ 配置VSAN工作在基本Zone模式。
undo zone mode enhanced
缺省情况下,当前VSAN工作在基本Zone模式。
Zone别名中的成员可以通过FC地址、PWWN或FWWN的方式配置,其中:FWWN为交换机上F端口的WWN,代表通过该F端口Login网络的所有N_Port;而通过FC地址和PWWN方式所配置的N_Port成员可以不是本机直连的N_Port,允许任意配置。
用户在配置成员时,可以指定成员的角色(Initiator/Target),成员角色仅支持在增强Zone模式下配置,并且在开启Pairwise特性时才生效。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 创建Zone别名,并进入其视图。
zone-alias name zone-alias-name
(4) 在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特性时才生效。
H3C建议同一个Zone中仅添加一个服务器的HBA和一个存储设备的HBA作为该Zone的成员。如果某个Zone中存在一个服务器的HBA和多个存储设备的HBA,那么需要开启这个Zone的Pairwise特性。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 创建Zone,并进入Zone视图。
zone name zone-name
(4) 在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之前,需要先开启Smart SAN功能并指定其应用类型为FC/FCoE类型,否则将配置失败。
已开启Pairwise特性的Zone不能通过本功能切换为Peer Zone。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 进入Zone视图。
zone name zone-name
缺省情况下,用户创建的Zone为普通Zone。
(4) 将普通Zone转换为Peer Zone,并为其指定主成员。
zone-type peer-zone principal-member wwn
被指定的主成员必须为节点设备上端口。
执行本命令后会自动将主成员的成员角色指定为目的端。
使用本命令行修改Zone类型时,会同时删除该Zone下已有的配置。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 创建Zone set,并进入Zone set视图。
zoneset name zoneset-name
(4) 在Zone set内添加Zone。
member zone-name
缺省情况下,新建的Zone set内不存在Zone。
在Zone中开启Pairwise特性后,该Zone内节点间的访问会受到成员角色的影响,即同一Zone内具有不同角色的成员可以互相访问,角色相同的成员间不允许互相访问,兼具两种角色的成员可以和任意角色的成员互相访问。
在Zone中关闭Pairwise特性后,该Zone内节点间的访问不会受到成员角色的影响,即同一Zone内的所有成员之间都可以互相访问。
本特性仅支持在增强Zone模式下配置。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 进入Zone视图。
zone name zone-name
(4) 开启Zone的Pairwise特性。
pairwise-zoning enable
缺省情况下,Zone的Pairwise特性处于关闭状态。
在增强Zone模式下,需要通过激活Zone set或扩散命令显式地触发扩散,使默认Zone策略随同其它数据一同向全网扩散。但是在基本Zone模式下,必须手动配置全网默认Zone策略一致。
在Zone模式切换时,无论是基本Zone向增强Zone切换,还是增强Zone向基本Zone扩散,默认Zone策略也会随同其它数据一同向全网扩散。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置默认Zone策略。
¡ 配置允许默认Zone内的成员互相访问。
zone default-zone permit
缺省情况下,默认Zone内的成员禁止互相访问。
¡ 配置禁止默认Zone内的成员互相访问。
undo zone default-zone permit
缺省情况下,默认Zone内的成员禁止互相访问。
完全扩散和完全合并会将Active Zone Set以及数据库都进行扩散和合并;非完全扩散和非完全合并仅将Active Zone Set进行扩散和合并。
· 本功能只允许在基本Zone模式下配置。在增强Zone模式下,扩散和合并类型固定为完全扩散和完全合并,因此不支持本配置。
· 基本Zone模式下,扩散类型仅会对使用zoneset activate命令激发的扩散过程产生影响,对使用zoneset distrbute命令激发的扩散不会产生影响。
· 基本Zone模式下,合并类型会对所有合并过程产生影响。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置扩散和合并类型为完全扩散和完全合并。
zoneset distribute full
缺省情况下,扩散和合并类型为非完全扩散和非完全合并。
合并控制模式分为两种:Restrict和Allow。
在增强Zone模式下,当VSAN内的两台交换机发生合并时,合并操作的结果受其所配置的合并控制模式的影响。并且,只有当发生合并的交换机具有相同的合并控制模式时才允许进行合并,否则合并失败,链路将被隔离。
本功能仅支持在增强Zone模式下配置,该配置需要通过激活Zone set或扩散命令显式地触发扩散,保证全网一致性。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置合并控制模式为Restrict。
zone merge-control restrict
缺省情况下,合并控制模式为Allow。
交换机通过软件zone和硬件zone来对zone访问进行控制。当用户希望增强某VSAN的安全性时,可以开启该VSAN的硬件Zone。当用户认为软件Zone能够满足某VSAN的节点访问控制要求时,可以关闭该VSAN的硬件Zone,节约硬件表项资源供其它重要VSAN使用。
· 软件Zone:是指当注册后的节点通过通用服务报文查询当前Fabric中存在哪些节点时,交换机将根据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继续生效。
这两种方式各自独立存在、相辅相成,共同完成按照Zone配置进行节点访问控制的功能。
当交换机处于合并或扩散状态时,不能配置本命令。
开启某VSAN的硬件Zone后,系统将触发一次下发该VSAN的所有Zone规则的操作;关闭某VSAN的硬件Zone后,系统会清空该VSAN当前已经下发的硬件Zone规则,并且后续不会下发任何新的硬件Zone规则。
在增强Zone模式下,需要通过激活Zone set或扩散命令显式地触发扩散,使硬件Zone配置随同其它数据一同向全网扩散。但是在基本Zone模式下,必须手动配置保证全网硬件Zone配置的一致性。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启硬件Zone。
zone hard-zoning enable
缺省情况下,硬件Zone处于开启状态。
(4) (可选)查询当前硬件Zone的生效状态。
display zone status
激活指定Zone set,使其成为Active Zone set,同时向全网进行扩散,并以此Zone set配置进行访问控制。用户执行的后续配置不会影响当前Active Zone set数据,直到去激活当前Active Zone set、重新配置激活命令、进行数据扩散或进行合并。
在基本Zone模式下,将Active Zone set进行全网扩散时,交换机会根据zoneset distribute full命令配置的扩散类型来决定扩散时要携带的数据。但在增强Zone模式下,不支持zoneset distribute full命令,激活扩散为完全扩散。
同一VSAN内只能够存在一个Active Zone set。
无论是在增强Zone模式下还是在基本Zone模式下,如果扩散失败,系统将打印日志信息,告知用户扩散失败。用户解决了网络故障后,用户需要重新激活该Zone set,以保证Fabric内所有交换机的Active Zone set数据的一致性。
不支持在Active Zone set信息中以Zone别名显示成员。配置激活Zone set后,如果该Zone set中的Zone存在Zone别名类型成员,会直接将Zone别名中的非重复N_Port成员添加到Zone。用户能够通过显示命令display zoneset active观察这一变化。
激活Zone set时,用户需保证所激活的Zone set必须已经存在,且被激活的Zone set中至少要包含一个N_Port成员。如果当前Zone模式为基本Zone,则激活成功与否还会受到基本Zone下Active Zone set最大规格的限制,若超过了最大规格,则激活失败。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 激活Zone set生成Active Zone Set,并发起向全网的扩散过程。
zoneset activate name zoneset-name
配置该命令会触发一次Zone数据扩散流程,且为完全扩散,即将Active Zone set和Zone数据库(增强Zone模式下还会携带Zone策略和硬件Zone开启情况)均携带在报文中进行扩散。
使用激活命令zoneset activate激活一个Zone set成为Active Zone set后,用户可以继续修改数据库的配置,本命令可以在不改变Active Zone set的同时将Active Zone set以及修改后的数据库向全网扩散。
如果扩散失败,系统将打印日志信息,告知用户扩散失败。用户解决了网络故障后,用户需要重新激发一次完全扩散,以保证Fabric内所有交换机的Zone数据的一致性。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 激发完全扩散过程。
zoneset distribute
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 重命名Zone别名的名称。
zone-alias rename old-name new-name
待重命名的Zone别名必须已创建,新的Zone别名必须未被创建。
(4) 重命名Zone的名称。
zone rename old-name new-name
待重命名的Zone必须已创建,新的Zone必须未被创建。
使用zone rename命令重命名Peer Zone名称,会使交换机上重命名后的Peer Zone名称与节点设备的Peer Zone名称不一致。请用户同时在节点设备上重命名Peer Zone名称,与交换机上重命名后的Peer Zone名称保持一致。
(5) 重命名Zone set的名称。
zoneset rename old-name new-name
待重命名的Zone set必须已创建,新的Zone set必须未被创建。
用户可以通过复制一个已经存在的Zone别名、Zone、Zone set,产生新的Zone别名、Zone、Zone set。二者名称不同,但包含的内容相同。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 复制Zone别名。
zone-alias clone src-name dest-name
被复制的Zone别名必须已创建,复制后的目的Zone别名必须未被创建。
(4) 复制Zone。
zone clone src-name dest-name
被复制的Zone必须已创建,复制后的目的Zone必须未被创建。
(5) 复制Zone set。
zoneset clone src-name dest-name
被复制的Zone set必须已创建,复制后的目的Zone set必须未被创建。
通过本命令可以删除指定VSAN内的Zone数据库信息,包括所有Zone set、Zone以及Zone别名,但是Active Zone set不会被删除。
清除Zone数据库信息会对设备上当前运行的业务产生影响。建议您在执行该命令前,完全了解其对网络产生的影响。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 清除Zone数据库信息。
delete zone database all
开启了Zone的告警功能之后,Zone会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启Zone的告警功能。
snmp-agent trap enable fc-zone [ activation-completed | defaultzone-change | hardzone-change | merge-failed | merge-succeeded ] *
缺省情况下,Zone的告警功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC Zone的运行情况,通过查看显示信息验证配置的效果。
表10-2 FC Zone显示和维护
操作 |
命令 |
显示Zone的相关信息 |
display zone [ [ name zone-name ] vsan vsan-id ] |
显示Zone成员所属的父亲信息(父亲信息包括:成员所属的Zone和Zone别名,以及Zone别名所属的Zone) |
display zone member { fcid fcid | pwwn pwwn | zone-alias zone-alias-name } [ vsan vsan-id ] |
显示Zone报文统计信息 |
display zone statistics [ vsan vsan-id ] |
显示FC Zone的配置信息以及运行状态 |
display zone status [ vsan vsan-id ] |
显示Zone别名的相关信息 |
display zone-alias [ [ name zone-alias-name ] vsan vsan-id ] |
显示Zone set的相关信息 |
display zoneset [ [ name zoneset-name ] vsan vsan-id ] |
显示Active Zone set的相关信息 |
display zoneset active [ vsan vsan-id ] |
清除Zone报文统计信息 |
reset zone statistics [ vsan vsan-id ] |
VSAN 1内3台服务器和3个磁盘设备共同接入一个Fabric中,节点设备分别以FC地址或PWWN进行标识,如图10-5所示。所有节点设备均已向交换机完成注册。
VSAN 1中需要对访问权限进行控制,具体需求如下:
· 服务器Server A不访问磁盘,但以后有可能添加访问磁盘需求。
· 服务器Server B能访问磁盘Disk A、Disk B和Disk C的数据。
· 服务器Server C只能访问磁盘Disk C的数据。
· 服务器之间不能相互访问。
图10-5 FC Zone典型配置组网图
为实现上述需求,考虑将VSAN 1划分为3个Zone,其中:
· Zone1包括Server A;
· Zone2包括Server B、Disk A、Disk B和Disk C;
· Zone3包括Server C和Disk C;
· 因为Zone2存在一个Server和多个Disk,所以需要对Zone2开启Pairwise特性,配置Server B角色为Initiator,Disk A、Disk B和Disk C角色为Target。
创建Zone set Zoneset1包括Zone1、Zone2和Zone3并激活生效。
在Switch A上进行配置并激活,将当前完整数据库配置同步到Switch B。
· 缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
· 只需在Switch A上进行如下配置,Switch B上不需要进行Zone相关配置。
· 本例中只列出Zone相关配置,其它配置步骤略。
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[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]
# 创建Zone1,添加FC地址为010001的成员。创建Zone2,开启其Pairwise特性,添加FC地址为010002的成员,角色为Initiator;添加PWWN为11:22:33:44:55:66:77:88和22:33:44:55:66:77:88:99的成员,角色为Target;添加FC地址为020004的成员,角色为Target。创建Zone3,添加FC地址为010003和020004的成员。
[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 pwwn 22:33:44:55:66:77:88:99 target
[SwitchA-vsan1-zone-Zone2] member fcid 020004 target
[SwitchA-vsan1-zone-Zone2] quit
[SwitchA-vsan1] zone name Zone3
[SwitchA-vsan1-zone-Zone3] member fcid 010003
[SwitchA-vsan1-zone-Zone3] member fcid 020004
[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
# 激活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
fcid 0x020004 target
pwwn 11:22:33:44:55:66:77:88 target
pwwn 22:33:44:55:66:77:88:99 target
zone name Zone3
fcid 0x010003
fcid 0x020004 target
# 查看VSAN 1内Zone2的相关信息。
<SwitchB> display zone name Zone2 vsan 1
VSAN 1:
zone name Zone2
fcid 0x010002 initiator
fcid 0x020004 target
pwwn 11:22:33:44:55:66:77:88 target
pwwn 22:33:44:55:66:77:88:99 target
# 查看FC地址类型成员020004所属于的Zone。
<SwitchB> display zone member fcid 020004
fcid 0x020004
VSAN 1:
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
在FC Fabric网络中,节点设备必须向Fabric注册后才能和FC SAN中设备进行通信。节点设备和FC交换机之间的物理连接是点对点的,只有节点设备成功注册后,FC交换机上连接这个节点设备的接口才能up,所以FC交换机可以控制只有成功注册的节点设备才可以和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典型组网如图11-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报文的交互。
FIP Snooping配置任务如下:
· (可选)配置FC-MAP值
开启VLAN的FIP Snooping功能后,Transit交换机开始根据FIP协议报文建立FIP Snooping规则,然后根据FIP Snooping规则来控制FCoE报文的转发。
(1) 进入系统视图。
system-view
(2) 创建VLAN,并进入VLAN视图。
vlan vlan-id
(3) 开启FIP Snooping功能。
fip-snooping enable
缺省情况下,FIP Snooping功能处于关闭状态。
Transit交换机上的以太网接口有两种模式:FCF模式和ENode模式。与ENode相连的以太网接口需要配置为ENode模式;与FCF交换机相连的以太网接口需要配置为FCF模式。
本功能在二层聚合组中的成员接口上配置不生效。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口或二层聚合接口视图。
interface interface-type interface-number
(3) 配置以太网接口的模式。
fip-snooping port-mode { enode | fcf }
缺省情况下,以太网接口为ENode模式。
FC-MAP值用来标识一个FCoE网络,同一个FCoE网络中的所有交换机(包括FCF交换机和Transit交换机)必须具有相同的FC-MAP值。
Transit交换机上某VLAN中的以太网接口从FCF交换机接收到报文后,会检查接收报文的FC-MAP值(此FC-MAP值可以在FCF交换机上通过fcoe fcmap命令配置)和Transit交换机上该VLAN下配置的FC-MAP值是否一致:如果一致,则转发报文;如果不一致,则丢弃报文。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 配置FC-MAP值。
fip-snooping fc-map fc-map
缺省情况下,FC-MAP值为0x0efc00。
在完成上述配置后,在任意视图下执行display命令可以显示配置后FIP Snooping的运行情况,通过查看显示信息验证配置的效果。
表11-1 FIP Snooping显示和维护
操作 |
命令 |
显示Transit交换机获取到的ENode信息 |
display fip-snooping enode [ vlan vlan-id ] |
显示Transit交换机获取到的FCF交换机信息 |
display fip-snooping fcf [ vlan vlan-id ] |
显示正在下刷的FIP Snooping规则 |
display fip-snooping flushing-rules [ enode | fcf ] [ vlan vlan-id ] |
显示已经下刷的FIP Snooping规则 |
(独立运行模式) display fip-snooping rules [ enode | fcf ] [ vlan vlan-id ] [ slot slot-number ] (IRF模式) display fip-snooping rules [ enode | fcf ] [ vlan vlan-id ] [ chassis chassis-number slot slot-number ] |
显示FIP Snooping的会话信息,即ENode和FCF交换机的连接信息 |
display fip-snooping sessions [ vlan vlan-id ] |
网络由Transit交换机、FCF交换机和ENode节点组成。
要求配置FIP Snooping功能,使ENode和FCF交换机之间可以进行可靠的通信。
图11-2 FIP Snooping典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Transit交换机
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<Transit> system-view
[Transit] system-working-mode advance
[Transit] save
[Transit] quit
<Transit> reboot
# 配置FCoE模式为Transit模式。
<Transit> system-view
[Transit] fcoe-mode transit
# 开启VLAN 10的FIP Snooping功能。
[Transit] vlan 10
[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
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过,并将该接口配置为FCF模式。
[Transit] interface fortygige 1/0/1
[Transit-FortyGigE1/0/1] port link-type trunk
[Transit-FortyGigE1/0/1] port trunk permit vlan 10
[Transit-FortyGigE1/0/1] fip-snooping port-mode fcf
[Transit-FortyGigE1/0/1] quit
# 配置以太网接口FortyGigE1/0/2允许VLAN 10的报文通过,并将该接口配置为ENode模式。
[Transit] interface fortygige 1/0/2
[Transit-FortyGigE1/0/2] port link-type trunk
[Transit-FortyGigE1/0/2] port trunk permit vlan 10
[Transit-FortyGigE1/0/2] fip-snooping port-mode enode
[Transit-FortyGigE1/0/2] quit
(2) 配置FCF交换机
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<FCF> system-view
[FCF] system-working-mode advance
[FCF] save
[FCF] quit
<FCF> reboot
# 配置FCoE模式为FCF模式。
<FCF> system-view
[FCF] fcoe-mode fcf
# 配置FC-MAP值为0x0efc01。
[FCF] fcoe fcmap 0efc01
Changing the FC-MAP will flap all VFC interfaces. Continue? [Y/N]:y
# 创建VSAN 10。
[FCF] vsan 10
[FCF-vsan10] quit
# 创建接口VFC1,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 10,即允许VSAN 10的报文通过接口VFC1。
[FCF] interface vfc 1
[FCF-Vfc1] fc mode f
[FCF-Vfc1] port trunk vsan 10
[FCF-Vfc1] bind interface fortygige 1/0/1
[FCF-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[FCF] interface fortygige 1/0/1
[FCF-FortyGigE1/0/1] port link-type trunk
[FCF-FortyGigE1/0/1] port trunk permit vlan 10
[FCF-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 10进行映射。
[FCF] vlan 10
[FCF-vlan10] fcoe enable vsan 10
# 显示Transit交换机获取到的ENode信息。
[Transit] display fip-snooping enode
VLAN 10:
Interface ENode WWN ENode MAC
FGE1/0/2 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
FGE1/0/1 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/1 0000-1234-0e01/48 0efc-0000-0000/24 ffffffff
ENode rules information:
Interface Source MAC/Mask Destination MAC/Mask Context
XGE1/0/2 0efc-0001-0000/48 0000-1234-0e01/48 ffffffff
通常情况下,任意的设备(包括节点设备和交换机)都可以登录交换机。FC端口安全提供基于端口级别的安全控制,可以防止未授权的设备登录到交换机,保证网络的安全。
在VSAN内开启了FC端口安全功能后,当设备(包括节点设备和交换机)请求登录交换机时,交换机将基于策略数据库对登录设备进行权限检查,如果登录设备符合授权登录条件,则允许其登录;否则,拒绝其登录。
FC端口安全功能可以控制如下设备是否可以登录到交换机:
· N_Port:控制是否允许节点设备上的某个N_Port登录。N_Port通过PWWN(即N_Port的WWN)进行标识。
· NP_Port:控制是否允许NPV交换机上的某个NP_Port登录。NP_Port通过PWWN(即NP_Port的WWN)进行标识。
· 节点设备:控制是否允许节点设备上的所有N_Port登录。节点设备通过NWWN(即节点的WWN)进行标识。
· NPV交换机:控制是否允许NPV交换机上的所有NP_Port登录。NPV交换机通过NWWN(即NPV交换机的WWN)进行标识。
· FCF交换机:控制是否允许FCF交换机登录。FCF交换机通过SWWN(即FCF交换机的WWN)进行标识。
策略数据库中保存的是安全策略,即允许指定设备在交换机的指定接口登录的一种绑定关系。
安全策略可以通过手工配置静态生成,也可以通过自动学习功能动态生成。
开启自动学习功能后,交换机将对登录的设备进行学习,自动生成登录设备与登录接口的绑定关系。用户可以在确认登录设备安全的情况下开启自动学习功能,从而避免大量的手工配置。
· 开启FC端口安全功能时选择是否同时开启自动学习功能:如果开启自动学习功能,交换机将对当前已登录和后续登录的设备进行学习;如果不开启自动学习功能,将导致当前已登录的设备下线。
· 使用独立的命令行开启自动学习功能:开启后,交换机将对后续登录的设备进行学习。
· Static表项:是用户手工配置的表项。该表项可覆盖Learning表项和Learned表项。
· Learning表项:是通过Auto-Learn自动学习功能动态学到的临时表项,不影响设备的登录,将随设备下线而自动删除。该表项不能覆盖Static表项和Learned表项。
· Learned表项:关闭Auto-Learn自动学习功能后,系统会将当前的Learning表项转化为Learned表项。该表项会影响后续设备的登录,不会随设备下线而删除。
· SmartSAN-Static表项:是用户对带有Smart SAN属性且Smart SAN Security Support字段不是0x00的节点设备手工配置的表项。该表项可覆盖SmartSAN-Learning表项。当关闭SmartSAN-Learn自动学习功能后,系统会将当前的SmartSAN-Learning表项转化为SmartSAN-Static表项。
· SmartSAN-Learning表项:是开启SmartSAN-Learn自动学习功能后对带有Smart SAN属性且Smart SAN Security Support字段不是0x00的节点设备动态学到的临时表项,不影响设备的登录,将随设备下线而自动删除。该表项不能覆盖SmartSAN-Static表项。
交换机的FC接口、FC聚合接口和VFC接口均支持多个设备同时登录。当交换机开启FC端口安全功能后,若存在没有安全表项的设备登录VFC接口时,FC端口安全功能会关闭该VFC接口,该VFC接口上已登录的设备也会下线。
当某设备要通过某接口登录一台交换机时,交换机将根据自身的配置情况,按照图12-1中的流程来判断是否允许该设备登录。需要注意的是,Static表项和Learned表项都会影响该设备的登录。
图12-1 授权登录示意图
当交换机拒绝某设备登录后,交换机上与该设备(指节点设备)相连的F_Port将被关闭,或交换机与该设备(指交换机)相连的E_Port在对应VSAN内将被隔离。此后,即使用户修改了安全策略,也不会影响该F_Port和E_Port的状态。如果用户希望已被拒绝登录的设备重新登录,请先配置允许该设备登录的安全策略,再依次执行shutdown/undo shutdown命令重启与该设备相连的接口。对于E_Port,还可通过依次执行undo port trunk vsan/port trunk vsan命令取消该E_Port在该VSAN内的隔离状态。
FC端口安全配置任务如下:
(1) 开启FC端口安全功能
(2) 配置安全策略
¡ 手工配置安全策略
¡ 开启自动学习功能
(3) (可选)将Learned表项转化为Static表项
(4) (可选)开启FC端口安全的告警功能
开启FC端口安全功能时可选择是否同时开启Auto-Learn自动学习功能。当Auto-Learn自动学习功能开启后,交换机将对当前已登录和后续登录的设备进行学习,并以Learning表项添加到策略数据库中。
开启FC端口安全功能时可选择是否同时开启SmartSAN-Learn自动学习功能。当SmartSAN-Learn自动学习功能开启后,交换机将对当前已登录的和后续登录的带有Smart SAN属性且Smart SAN Security Support字段不是0x00的节点设备进行学习,并以SmartSAN-Learning表项添加到策略数据库中。
开启了FC端口安全功能后,才能进行FC端口安全相关的其它配置。
如果不开启Auto-Learn和SmartSAN-Learn自动学习功能,将导致当前已登录的设备下线。
如果不开启Auto-Learn自动学习功能,但开启了SmartSAN-Learn自动学习功能,则对带有Smart SAN属性且Smart SAN Security Support字段不是0x00的节点设备增加SmartSAN-Learning策略,不带有该属性的节点设备和交换机将不会增加SmartSAN-Learning策略。
配置all和smartsan-learn参数前,需要先开启Smart SAN功能并指定其应用类型为FC/FCoE类型。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启FC端口安全功能。
fc-port-security enable [ all | auto-learn | smartsan-learn ]
缺省情况下,FC端口安全功能处于关闭状态。
指定设备是否会在已登录接口下线,取决于配置安全策略后该设备是否仍满足授权登录条件:如满足则保持登录状态,否则会被下线;在指定接口上其它已登录设备是否会下线,也是同理。
由于安全策略变化后,将对已登录的设备重新根据授权登录条件进行检查。因此,如果命令中指定了设备,则本配置可能会影响命令中指定设备在已登录接口上的登录状态。如果命令中指定了允许登录的接口,则可能会影响该接口上其它已登录设备的登录状态。
手工配置安全策略前,需要先开启FC端口安全功能。
配置smartsan-static参数前,需要先开启Smart SAN功能并指定其应用类型为FC/FCoE类型。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 配置允许N_Port或NP_Port在指定接口登录。
pwwn pwwn [ interface interface-list ] [ smartsan-static ]
缺省情况下,未配置接口允许N_Port或NP_Port登录。
(4) 配置允许节点设备或NPV交换机在指定接口登录。
nwwn nwwn [ interface interface-list ]
缺省情况下,未配置接口允许节点设备或NPV交换机登录。
(5) 配置允许FCF交换机在指定接口登录。
swwn swwn [ interface interface-list ]
缺省情况下,未配置接口允许FCF交换机登录。
(6) 配置允许任意设备在指定接口登录。
any-wwn interface interface-list
缺省情况下,未配置接口允许任意设备登录。
FC端口安全功能支持两种自动学习功能:Auto-Learn自动学习功能和SmartSAN-Learn自动学习功能。
开启Auto-Learn自动学习功能后,交换机将对后续登录的设备进行学习,并以Learning表项添加到策略数据库中。Learning表项不对其它设备的登录产生影响,并将随设备下线而删除。关闭该自动学习功能后,当前的Learning表项将转化为Learned表项,对后续设备的登录产生影响,此后该表项不再随设备下线而删除。
开启SmartSAN-Learn自动学习功能后,交换机将对后续登录带有Smart SAN属性且Smart SAN Security Support字段不是0x00的节点设备进行学习,并以SmartSAN-Learning表项添加到策略数据库中。SmartSAN-Learning表项不对其它节点设备的登录产生影响,并将随节点设备下线而删除。关闭该自动学习功能后,当前的SmartSAN-Learning表项将转化为SmartSAN-Static表项,对后续节点设备的登录产生影响,此后该表项不再随节点设备下线而删除。
开启自动学习功能前,需要先开启FC端口安全功能。
配置smartsan-static参数前,需要先开启Smart SAN功能并指定其应用类型为FC/FCoE类型。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 开启自动学习功能。
fc-port-security { auto-learn | smartsan-learn }
缺省情况下,自动学习功能处于关闭状态。
设备重启后,Learned表项将会丢失。如果用户需要保留动态学习的Learned表项,可以通过本配置将Learned表项转化为Static表项。
将Learned表项转化为Static表项前,需要先开启FC端口安全功能。
(1) 进入系统视图。
system-view
(2) 进入VSAN视图。
vsan vsan-id
(3) 将Learned表项转化为Static表项。
fc-port-security database copy
开启了FC端口安全的告警功能之后,FC端口安全会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启FC端口安全的告警功能。
snmp-agent trap enable fc-port-securtiy [ violation-happen ]
缺省情况下,FC端口安全的告警功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后FC端口安全的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除FC端口安全的策略和统计信息。
表12-1 FC端口安全显示和维护
操作 |
命令 |
显示FC端口安全策略数据库中的表项 |
display fc-port-security database { all | auto-learn | smartsan-learn | smartsan-static | static } [ interface interface-type interface-number ] [ vsan vsan-id ] |
显示FC端口安全的统计信息 |
display fc-port-security statistics [ vsan vsan-id ] |
显示FC端口安全功能开启情况 |
display fc-port-security status [ vsan vsan-id ] |
显示非法登录信息 |
display fc-port-security violation [ vsan vsan-id ] |
清除FC端口安全策略数据库中的表项 |
reset fc-port-security database { all | auto-learn | smartsan-static | static } [ interface interface-type interface-number ] vsan vsan-id |
清除FC端口安全的统计信息 |
reset fc-port-security statistics vsan vsan-id |
网络由三台FCF交换机和两台服务器组成,各设备的WWN信息如下:
· Server A的PWWN为20:36:44:78:66:77:ab:97,NWWN为10:36:44:78:66:77:ab:97。
· Server B的PWWN为20:33:44:78:66:77:ab:96,NWWN为10:33:44:78:66:77:ab:96。
· Switch A的SWWN为10:83:45:87:66:19:ea:91。
· Switch B的SWWN为10:83:45:87:66:19:bc:92。
· Switch C的SWWN为10:83:45:87:66:19:bc:93。
要求:Switch A、Server A和Switch C可以互通,Switch B、Server B和Switch C不能互通。
图12-2 FC端口安全典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC端口安全相关配置,其它配置步骤略。
(1) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
[SwitchC] vsan 2
[SwitchC-vsan2] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port-type fc
[SwitchC-Fc1/0/1] fc mode e
[SwitchC-Fc1/0/1] speed auto
[SwitchC-Fc1/0/1] port access vsan 2
[SwitchC-Fc1/0/1] quit
# 将以太网接口FortyGigE1/0/2切换为FC接口,配置其工作在E模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] port-type fc
[SwitchC-Fc1/0/2] fc mode e
[SwitchC-Fc1/0/2] speed auto
[SwitchC-Fc1/0/2] port access vsan 2
[SwitchC-Fc1/0/2] quit
# 将以太网接口FortyGigE1/0/3切换为FC接口,配置其工作在F模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] port-type fc
[SwitchC-Fc1/0/3] fc mode f
[SwitchC-Fc1/0/3] speed auto
[SwitchC-Fc1/0/3] port access vsan 2
[SwitchC-Fc1/0/3] quit
# 将以太网接口FortyGigE1/0/4切换为FC接口,配置其工作在F模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] port-type fc
[SwitchC-Fc1/0/4] fc mode f
[SwitchC-Fc1/0/4] speed auto
[SwitchC-Fc1/0/4] port access vsan 2
[SwitchC-Fc1/0/4] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchC] vlan 2
[SwitchC-vlan2] fcoe enable vsan 2
[SwitchC-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchC] vsan 2
[SwitchC-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch C的接口FC1/0/1和接口FC1/0/2只允许Switch A登录,禁止Switch B登录。
[SwitchC-vsan2] swwn 10:83:45:87:66:19:ea:91 interface fc 1/0/1 to fc 1/0/2
# 在VSAN 2内配置Switch C的接口FC1/0/3和接口FC1/0/4只允许Server A登录,禁止Server B登录。
[SwitchC-vsan2] nwwn 20:36:44:78:66:77:ab:97 interface fc 1/0/3 to fc 1/0/4
[SwitchC-vsan2] quit
(2) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
[SwitchA] vsan 2
[SwitchA-vsan2] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
[SwitchA-Fc1/0/1] port access vsan 2
[SwitchA-Fc1/0/1] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchA] vlan 2
[SwitchA-vlan2] fcoe enable vsan 2
[SwitchA-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchA] vsan 2
[SwitchA-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch A的接口FC1/0/1允许Switch C登录。
[SwitchA-vsan2] swwn 10:83:45:87:66:19:bc:93 interface fc 1/0/1
(3) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 2
[SwitchB-vsan2] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率,并以Access方式加入VSAN 2。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port-type fc
[SwitchB-Fc1/0/1] fc mode e
[SwitchB-Fc1/0/1] speed auto
[SwitchB-Fc1/0/1] port access vsan 2
[SwitchB-Fc1/0/1] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchB] vlan 2
[SwitchB-vlan2] fcoe enable vsan 2
[SwitchB-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchB] vsan 2
[SwitchB-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch B的接口FC1/0/1禁止Switch C登录(只需配置除Switch C的WWN外的任意SWWN允许在接口FC1/0/1登录即可)。
[SwitchB-vsan2] swwn 10:83:45:87:66:19:ea:91 interface fc 1/0/1
# 在Switch C上显示VSAN 2中的非法登录信息。
[SwitchC] display fc-port-security violation vsan 2
Total entries: 2
Violations for VSAN 2:
Interface Logging-in entity Last time Repeat count
Fc1/0/2 10:83:45:87:66:19:bc:92(sWWN) 2013/12/10 13:10:20 1
Fc1/0/4 20:33:44:78:66:77:ab:96(pWWN) 2013/10/10 12:55:10 1
10:33:44:78:66:77:ab:96(nWWN)
从上述信息可以看出,Switch C拒绝了Server B和Switch B的登录。需要注意的是,有可能上述信息中没有Switch B的非法登录信息,这是因为Switch C向Switch B发起了登录请求,这时候在Switch B上可以看到Switch C的非法登录信息。显示内容略。
网络由三台FCF交换机和两台服务器组成,各设备的WWN信息如下:
· Server A的PWWN为20:36:44:78:66:77:ab:97,NWWN为10:36:44:78:66:77:ab:97。
· Server B的PWWN为20:33:44:78:66:77:ab:96,NWWN为10:33:44:78:66:77:ab:96。
· Switch A的SWWN为10:83:45:87:66:19:ea:91。
· Switch B的SWWN为10:83:45:87:66:19:bc:92。
· Switch C的SWWN为10:83:45:87:66:19:bc:93。
要求:Switch A、Server A和Switch C可以互通,Switch B、Server B和Switch C不能互通。
图12-3 FC端口安全典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FC端口安全相关配置,其它配置步骤略。
(1) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
[SwitchC] vsan 2
[SwitchC-vsan2] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1,并以Trunk方式加入VSAN 2。
[SwitchC] interface vfc 1
[SwitchC-Vfc1] fc mode e
[SwitchC-Vfc1] bind interface fortygige 1/0/1
[SwitchC-Vfc1] port trunk vsan 2
[SwitchC-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 2的报文通过。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 2
[SwitchC-FortyGigE1/0/1] quit
# 创建接口VFC2,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/2,并以Trunk方式加入VSAN 2。
[SwitchC] interface vfc 2
[SwitchC-Vfc2] fc mode e
[SwitchC-Vfc2] bind interface fortygige 1/0/2
[SwitchC-Vfc2] port trunk vsan 2
[SwitchC-Vfc2] quit
# 配置以太网接口FortyGigE1/0/2允许VLAN 2的报文通过。
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] port link-type trunk
[SwitchC-FortyGigE1/0/2] port trunk permit vlan 2
[SwitchC-FortyGigE1/0/2] quit
# 创建接口VFC3,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/3,并以Trunk方式加入VSAN 2。
[SwitchC] interface vfc 3
[SwitchC-Vfc3] fc mode f
[SwitchC-Vfc3] bind interface fortygige 1/0/3
[SwitchC-Vfc3] port trunk vsan 2
[SwitchC-Vfc3] quit
# 配置以太网接口FortyGigE1/0/3允许VLAN 2的报文通过。
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] port link-type trunk
[SwitchC-FortyGigE1/0/3] port trunk permit vlan 2
[SwitchC-FortyGigE1/0/3] quit
# 创建接口VFC4,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/4,并以Trunk方式加入VSAN 2。
[SwitchC] interface vfc 4
[SwitchC-Vfc4] fc mode f
[SwitchC-Vfc4] bind interface fortygige 1/0/4
[SwitchC-Vfc4] port trunk vsan 2
[SwitchC-Vfc4] quit
# 配置以太网接口FortyGigE1/0/4允许VLAN 2的报文通过。
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] port link-type trunk
[SwitchC-FortyGigE1/0/4] port trunk permit vlan 2
[SwitchC-FortyGigE1/0/4] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchC] vlan 2
[SwitchC-vlan2] fcoe enable vsan 2
[SwitchC-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchC] vsan 2
[SwitchC-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch C的接口VFC1和接口VFC2只允许Switch A登录,禁止Switch B登录。
[SwitchC-vsan2] swwn 10:83:45:87:66:19:ea:91 interface vfc 1 to vfc 2
# 在VSAN 2内配置Switch C的接口VFC3和接口VFC4只允许Server A登录,禁止Server B登录。
[SwitchC-vsan2] nwwn 20:36:44:78:66:77:ab:97 interface vfc 3 to vfc 4
[SwitchC-vsan2] quit
(2) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
[SwitchA] vsan 2
[SwitchA-vsan2] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1,并以Trunk方式加入VSAN 2。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 2
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 2的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 2
[SwitchA-FortyGigE1/0/1] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchA] vlan 2
[SwitchA-vlan2] fcoe enable vsan 2
[SwitchA-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchA] vsan 2
[SwitchA-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch A的接口VFC1允许Switch C登录。
[SwitchA-vsan2] swwn 10:83:45:87:66:19:bc:93 interface vfc 1
(3) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式,创建VSAN 2。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
[SwitchB] vsan 2
[SwitchB-vsan2] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1,并以Trunk方式加入VSAN 2。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface fortygige 1/0/1
[SwitchB-Vfc1] port trunk vsan 2
[SwitchB-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 2的报文通过。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 2
[SwitchB-FortyGigE1/0/1] quit
# 开启VLAN 2的FC和FCoE功能并将其与VSAN 2进行映射。
[SwitchB] vlan 2
[SwitchB-vlan2] fcoe enable vsan 2
[SwitchB-vlan2] quit
# 在VSAN 2中开启FC端口安全功能,并同时开启Auto-Learn自动学习功能。
[SwitchB] vsan 2
[SwitchB-vsan2] fc-port-security enable auto-learn
# 在VSAN 2内配置Switch B的接口VFC1禁止Switch C登录(只需配置除Switch C的WWN外的任意SWWN允许在接口VFC1登录即可)。
[SwitchB-vsan2] swwn 10:83:45:87:66:19:ea:91 interface vfc 1
# 在Switch C上显示VSAN 2中的非法登录信息
[SwitchC] display fc-port-security violation vsan 2
Total entries: 2
Violations for VSAN 2:
Interface Logging-in entity Last time Repeat count
Vfc2 10:83:45:87:66:19:bc:92(sWWN) 2013/12/10 13:20:20 1
Vfc4 20:33:44:78:66:77:ab:96(pWWN) 2013/10/10 12:55:10 1
10:33:44:78:66:77:ab:96(nWWN)
从上述信息可以看出,Switch C拒绝了Server B和Switch B的登录。需要注意的是,有可能上述信息中没有Switch B的非法登录信息,这是因为Switch C向Switch B发起了登录请求,这时候在Switch B上可以看到Switch C的非法登录信息。显示内容略。
FCS(Fabric Configuration Server,Fabric配置服务)使得用户可以通过命令行或者MIB,在指定VSAN下发起拓扑发现过程来获取Fabric网络的拓扑信息,即Fabric网络中包含的交换机信息以及交换机上的端口信息。运行在服务器上的管理应用程序(例如SNMP网管软件)使用管理协议(例如SNMP)根据FCS获取到的拓扑信息来确定Fabric网络的物理和逻辑拓扑,对Fabric网络中的交换机实施管理(例如可以根据FCS获取到的拓扑信息中的其它交换机的管理地址信息,通过SNMP网管软件连接到对应的交换机上,并对该交换机实施进一步的管理和配置)。
拓扑发现的工作机制如下:
· 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的某些属性和状态又发生了变化,对于这些数据在本次拓扑发现中也不会重新获取。
对于本地交换机的拓扑相关信息变化则会实时处理,不管是否进行拓扑发现,获取的本地交换机拓扑相关信息总是最新的。
· IE(Interconnect Element,互联设备)对象:Fabric网络中的每台交换机对应一个IE对象。一个或多个IE对象互联构成了一个Fabric网络。IE对象具备一系列属性,如表13-1所示。
· 端口对象:IE对象上的每个FC接口或者VFC接口对应一个端口对象。每个IE对象包含一个或多个端口对象。端口对象具备一系列属性,如表13-2所示。
表13-1 IE对象的属性
属性 |
说明 |
IE名称 |
IE的WWN |
IE类型 |
IE的类型,目前仅支持交换机一种类型 |
IE域ID |
IE的域ID |
IE的Fabric名称 |
IE所在Fabric网络的名称 |
IE的逻辑名称 |
IE的设备名称,可以通过sysname命令配置设备的名称 |
IE管理地址 |
IE支持的管理协议和管理地址,目前仅支持SNMP(Simple Network Management Protocol,简单网络管理协议)一种管理协议 管理地址以URL(Uniform Resource Locator,统一资源定位符)的格式表示,例如:snmp://192.168.6.100,表示管理协议为SNMP,管理地址为192.168.6.100 一个IE可能存在一个或多个管理地址 |
IE信息列表 |
包含:厂商名称、产品名称/编号、发布编码和其他厂商指定信息 |
属性 |
说明 |
Port名称 |
端口的WWN |
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接口索引 |
端口的索引值 |
Attached 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网络中的任意一台交换机上发起拓扑发现。
对某VSAN来说,只有等本次拓扑发现过程结束后,才能发起下一次的拓扑发现,否则,系统会提示正在进行拓扑发现。
(1) 进入系统视图。
system-view
(2) 发起拓扑发现。
fcs discovery start [ age interval ] vsan vsan-list
用户可以通过下面的配置取消拓扑发现。配置本命令后,系统将终止本次拓扑发现,并删除已获取的非本地交换机拓扑发现数据,恢复对应VSAN下的拓扑发现状态为localOnly。
(1) 进入系统视图。
system-view
(2) 取消拓扑发现。
fcs discovery stop vsan vsan-list
在完成上述配置后,在任意视图下执行display命令可以显示拓扑发现的状态以及获取的拓扑信息。
表13-3 FCS显示和维护
操作 |
命令 |
显示FCS数据库信息 |
display fcs database [ vsan vsan-id ] |
显示当前的拓扑发现状态 |
display fcs discovery status [ vsan vsan-id ] |
显示FCS的IE信息 |
display fcs ie [ vsan vsan-id [ nwwn wwn ] ] [ verbose ] |
显示FCS的端口信息 |
display fcs port [ vsan vsan-id [ pwwn wwn ] ] [ verbose ] |
通过FCS获取Fabric网络的拓扑信息,以供管理应用程序使用。
图13-1 FCS典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
本例中只列出FCS相关配置,其它配置步骤略。
# 配置Switch A工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置Switch A的FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode 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 Simware32#Version 7.1.036, Alpha 0101
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 Simware32#Version 7.1.036, Alpha 0101
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 Simware32#Version 7.1.036, Alpha 0101
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 Simware32#Version 7.1.036, Alpha 0101
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.
通过FDMI(Fabric Device Management Interface,Fabric设备管理接口),用户可以查看Fabric网络中所有已经注册节点设备上的HBA(Host Bus Adapter,主机总线适配器)信息,包括HBA和HBA上的端口信息。每台交换机都会获取到与它直连的、已注册节点设备上的HBA信息,并向Fabric网络中的其它交换机进行同步。最终Fabric网络中的每台交换机上都会保存所有已经注册到Fabric网络的节点设备上的HBA信息。
HBA是一种FC存储网卡。对交换机来说,每个HBA是一个对象。HBA对象具备一系列属性,如表14-1所示。
表14-1 HBA对象的属性
属性 |
说明 |
HBA ID |
HBA的编号(HBA ID用来标识一个HBA。如果HBA上有一个物理端口,则采用该物理端口的WWN作为HBA ID;如果HBA上有多个物理端口,则选择其中一个物理端口的WWN作为HBA ID) |
Manufacturer |
HBA制造商信息 |
Serial Numbe |
HBA序列号 |
Model |
HBA型号 |
Model Description |
HBA型号描述 |
Node Name |
HBA所属节点的WWN |
Node Symbolic Name |
节点的符号名称,用于描述此节点 |
Hardware Version |
HBA的硬件版本号 |
Driver Version |
HBA的驱动程序版本号 |
Option ROM Version |
HBA的ROM版本号 |
Firmware Version |
HBA的固件版本号 |
OS Name and Version |
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:关闭 |
HBA对象上的每个物理端口对应一个端口对象。每个HBA对象包含一个或多个端口对象,最多可以包含256个端口对象。端口对象具备一系列属性,如表14-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属性。
属性 |
说明 |
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端口虚拟化 · NVMeoFC:基于光纤通道的NVMe协议 |
Port Active FC-4 Types |
端口生效的FC4类型,包括以下几种类型: · FCP:光纤通道协议 · IP:因特网协议 · LLC/SNAP:链路控制/子网访问协议 · SW_ILS:交换机Fabric网内部链接服务 · SNMP:简单网络管理协议 · GS3:通用服务3 · VI:接口虚拟化 · NPV:N端口虚拟化 · NVMeoFC:基于光纤通道的NVMe协议 |
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。
在任意视图下执行display命令可以显示FDMI数据库信息,包括整个Fabric网络中所有已经注册节点设备上的HBA信息。
表14-3 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功能:
· FC Ping N_Port:在交换机上执行命令,FC Ping远端的N_Port。FC Ping的目的地址为N_Port的FC地址。
· FC Ping交换机:在交换机上执行命令,FC Ping远端交换机。FC Ping的目的地址为目的交换机的域控制器地址FFFCxx,其中,xx为目的交换机的域ID。
可在任意视图下执行本命令,检查目的地址是否可达。
fcping [ -c count | -t timeout ] * fcid fcid vsan vsan-id
在执行命令过程中,键入<Ctrl+C>可终止FC Ping操作。
检查Switch A和Switch B之间是否可达。
图15-1 FC Ping典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchA-Fc1/0/1] port trunk mode on
[SwitchA-Fc1/0/1] port trunk vsan 1
[SwitchA-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置静态路由。
[SwitchA] vsan 1
[SwitchA-vsan1] fc route-static 020000 8 fc 1/0/1
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port-type fc
[SwitchB-Fc1/0/1] fc mode e
[SwitchB-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/1] port trunk mode on
[SwitchB-Fc1/0/1] port trunk vsan 1
[SwitchB-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置静态路由。
[SwitchB] vsan 1
[SwitchB-vsan1] fc route-static 010000 8 fc 1/0/1
检查Switch A和Switch B之间是否可达。
# 在Switch A上使用fcping命令验证Switch B是否可达。
[SwitchA-vsan1] 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
检查Switch A和Switch B之间是否可达。
图15-2 FC Ping典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchA-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 在Switch A上配置静态路由。
[SwitchA] vsan 1
[SwitchA-vsan1] fc route-static 020000 8 vfc 1
[SwitchA-vsan1] quit
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface fortygige 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 在Switch B上配置静态路由。
[SwitchB] vsan 1
[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过程分为上、下行两个子过程:
· 在上行过程中,从本端开始,逐跳向到达目的端经过的所有交换机发送STR(Switch Trace Route,FC交换机路由探测)报文,直至目的交换机(如果FC Tracert的目的端是N节点,目的交换机指的是与N节点直连的FCF交换机)。在这个过程中,每台交换机都会向STR报文中添加本机的上行路径信息,包括交换机的WWN、域ID等信息。STR报文到达目的交换机后,将开始下行过程。
· 在下行过程中,从目的端开始,逐跳向到达源端经过的所有交换机发送STR报文,直至源交换机。同样,在这个过程中,每台交换机都会向STR报文中添加本机的下行路径信息,包含的信息内容与上行路径信息相同。当源交换机收到下行的STR报文后,表示整个FC Tracert过程结束。源交换机将输出STR报文中携带的所有经过的上行和下行交换机信息。如果在FC Tracert过程中的任一中间交换机上处理失败,会在STR报文中设置相应的错误原因,并将该STR报文(报文中包含已经通过的交换机的信息)直接发给源交换机。
下面以图16-1为例,介绍一下FC Tracert的基本过程。
图16-1 FC Tracert过程示意图
Switch A FC Tracert Switch C的基本过程如下:
(1) 上行过程
a. 源交换机Switch A将自己的上行路径信息(包括交换机的WWN和域ID)填入STR请求报文,并将该STR请求报文发给下一跳交换机Switch B。Switch B收到STR请求报文后,向Switch A回STR ACC报文,表明自己收到了STR请求报文;
b. Switch B将自己的上行路径信息添加到收到的STR请求报文中以后,将该STR请求报文发给目的交换机Switch C。Switch C收到STR请求报文后,向Switch B回STR ACC报文;
c. 目的交换机Switch C将自己的上行路径信息也添加到收到的STR请求报文中,完成上行路径信息收集。
(2) 下行过程
a. 目的交换机Switch C以相同方式逐跳发送STR请求报文到源交换机Switch A,完成下行路径信息收集;
b. 源交换机Switch A收到携带下行标志的STR请求报文后,将输出STR请求报文中携带的所有上行和下行交换机信息。
可在任意视图下执行本命令,探测本端到目的端的双向路由信息。
fctracert [ -t timeout ] fcid fcid vsan vsan-id
在执行命令过程中,键入<Ctrl+C>可终止FC Tracert操作。
通过FC Tracert功能获取Switch A到Switch C的双向路由信息。如果路由不可达,需要确定故障的网络节点。
图16-2 FC Tracert典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
[SwitchA-vsan1] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port-type fc
[SwitchA-Fc1/0/1] fc mode e
[SwitchA-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchA-Fc1/0/1] port trunk mode on
[SwitchA-Fc1/0/1] port trunk vsan 1
[SwitchA-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
# 关闭FSPF功能。
[SwitchA] vsan 1
[SwitchA-vsan1] undo fspf enable
# 配置静态路由。
[SwitchA-vsan1] fc route-static 020000 8 fc 1/0/1
[SwitchA-vsan1] fc route-static 030000 8 fc 1/0/1
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
[SwitchB-vsan1] quit
# 将以太网接口FortyGigE1/0/1切换为接口FC1/0/1,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port-type fc
[SwitchB-Fc1/0/1] fc mode e
[SwitchB-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/1] port trunk mode on
[SwitchB-Fc1/0/1] port trunk vsan 1
[SwitchB-Fc1/0/1] quit
# 将以太网接口FortyGigE1/0/2切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchB] interface fortygige 1/0/2
[SwitchB-FortyGigE1/0/2] port-type fc
[SwitchB-Fc1/0/2] fc mode e
[SwitchB-Fc1/0/2] speed auto
# 配置接口FC1/0/2的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchB-Fc1/0/2] port trunk mode on
[SwitchB-Fc1/0/2] port trunk vsan 1
[SwitchB-Fc1/0/2] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
# 关闭FSPF功能。
[SwitchB] vsan 1
[SwitchB-vsan1] undo fspf enable
# 配置静态路由。
[SwitchB-vsan1] fc route-static 010000 8 fc 1/0/1
(3) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC] vsan 1
[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
[SwitchC-vsan1] quit
# 将以太网接口FortyGigE1/0/1切换为FC接口,配置其工作在E模式并采用自协商速率。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port-type fc
[SwitchC-Fc1/0/1] fc mode e
[SwitchC-Fc1/0/1] speed auto
# 配置接口FC1/0/1的Trunk模式为On,并将该接口以Trunk方式加入VSAN 1,即允许VSAN 1通过。
[SwitchC-Fc1/0/1] port trunk mode on
[SwitchC-Fc1/0/1] port trunk vsan 1
[SwitchC-Fc1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchC] vlan 10
[SwitchC-vlan10] fcoe enable vsan 1
[SwitchC-vlan10] quit
# 关闭FSPF功能。
[SwitchC] vsan 1
[SwitchC-vsan1] undo fspf enable
(4) 使用fcping命令查看SwitchA和Switch C之间的路由是否可达
[SwitchA-vsan1] 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-vsan1] 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的路由。
通过FC Tracert功能获取Switch A到Switch C的双向路由信息。如果路由不可达,需要确定故障的网络节点。
图16-3 FC Tracert典型配置组网图
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 配置Switch A
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
# 配置FCoE模式为FCF模式。
<SwitchA> system-view
[SwitchA] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchA] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface fortygige 1/0/1
[SwitchA-Vfc1] port trunk vsan 1
[SwitchA-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-type trunk
[SwitchA-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchA-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchA] vlan 10
[SwitchA-vlan10] fcoe enable vsan 1
[SwitchA-vlan10] quit
(2) 配置Switch B
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchB> system-view
[SwitchB] system-working-mode advance
[SwitchB] save
[SwitchB] quit
<SwitchB> reboot
# 配置FCoE模式为FCF模式。
<SwitchB> system-view
[SwitchB] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchB] vsan 1
[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
# 创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchB] interface vfc 1
[SwitchB-Vfc1] fc mode e
[SwitchB-Vfc1] bind interface fortygige 1/0/1
[SwitchB-Vfc1] port trunk vsan 1
[SwitchB-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/1
[SwitchB-FortyGigE1/0/1] port link-type trunk
[SwitchB-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/1] quit
# 创建接口VFC2,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/2上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC2。
[SwitchB] interface vfc 2
[SwitchB-Vfc2] fc mode e
[SwitchB-Vfc2] bind interface fortygige 1/0/2
[SwitchB-Vfc2] port trunk vsan 1
[SwitchB-Vfc2] quit
# 配置以太网接口FortyGigE1/0/2允许VLAN 10的报文通过。
[SwitchB] interface fortygige 1/0/2
[SwitchB-FortyGigE1/0/2] port link-type trunk
[SwitchB-FortyGigE1/0/2] port trunk permit vlan 10
[SwitchB-FortyGigE1/0/2] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchB] vlan 10
[SwitchB-vlan10] fcoe enable vsan 1
[SwitchB-vlan10] quit
(3) 配置Switch C
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
# 配置FCoE模式为FCF模式。
<SwitchC> system-view
[SwitchC] fcoe-mode fcf
# 开启VSAN 1的Fabric配置功能。
[SwitchC] vsan 1
[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
#创建接口VFC1,配置其工作在E模式,将其绑定到以太网接口FortyGigE1/0/1上,并以Trunk方式加入VSAN 1,即允许VSAN 1的报文通过接口VFC1。
[SwitchC] interface vfc 1
[SwitchC-Vfc1] fc mode e
[SwitchC-Vfc1] bind interface fortygige 1/0/1
[SwitchC-Vfc1] port trunk vsan 1
[SwitchC-Vfc1] quit
# 配置以太网接口FortyGigE1/0/1允许VLAN 10的报文通过。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-type trunk
[SwitchC-FortyGigE1/0/1] port trunk permit vlan 10
[SwitchC-FortyGigE1/0/1] quit
# 开启VLAN 10的FC和FCoE功能,并将其与VSAN 1进行映射。
[SwitchC] vlan 10
[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的路由。
· 如图17-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之间链路的带宽,并实现链路备份和负载分担。
图17-1 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中传输。
· 由于服务器是通过两个不同网卡双上行至Switch A和Switch B,两个网卡物理隔离,所以本组网中Switch A、Switch B、以太网交换机和服务器之间并没有形成环路,不需要开启STP功能。若实际LAN网络较为复杂,为了防止LAN网络存在物理环路,H3C建议在Switch A和Switch B与LAN网络所连接的以太网接口上使能生成树协议。
· 为了避免由于网络拓扑变化,Switch A和Switch B上连接服务器的端口产生临时环路,需要将该端口配置为边缘端口,不参与生产树拓扑计算,并开启BPDU保护功能。边缘端口可以快速迁移到转发状态,当服务器重新登录交换机时,服务器发送的数据流量能很快被转发,尽可能减少流量的丢失。
· 为了避免生成树协议阻塞Switch A和Switch B负责转发存储流量的接口,需要保证4台FCF交换机之间的接口上关闭生成树协议。
· 由于SAN网络结构比较复杂,建议用户采用动态方式建立Fabric网络,使用FSPF协议建立FC路由。
· 为了实现服务器能够访问磁盘设备内的存储资源,需要配置允许默认Zone内的成员互相访问。
· 为了提高Switch A和Switch C之间、Switch B和Switch D之间链路的带宽,并实现链路备份和负载分担,分别配置以太网聚合链路1和以太网聚合链路2。
缺省情况下,本设备的接口处于ADM(Administratively Down)状态,请根据实际需要在对应接口视图下使用undo shutdown命令开启接口。
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
(2) 部署VLAN和接口
# 创建VLAN 1001和4001,分别用来传输以太网数据流量和存储数据流量。
<SwitchA> system-view
[SwitchA] vlan 1001
[SwitchA-vlan1001] description ToLAN
[SwitchA-vlan1001] quit
[SwitchA] vlan 4001
[SwitchA-vlan4001] description ToSAN
[SwitchA-vlan4001] quit
# 全局使能生成树协议。
[SwitchA] stp global enable
# 开启全局的BPDU保护功能。
[SwitchA] stp bpdu-protection
# 配置以太网接口FortyGigE1/0/5为Hybrid接口,允许VLAN 1001的以太网数据报文不带Tag通过,允许VLAN 4001的存储数据报文带Tag通过,设置接口的PVID为VLAN 1001,关闭生成树协议,配置接口为边缘端口,并开启BPDU保护功能。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] port link-type hybrid
[SwitchA-FortyGigE1/0/5] port hybrid vlan 1001 untagged
[SwitchA-FortyGigE1/0/5] port hybrid vlan 4001 tagged
[SwitchA-FortyGigE1/0/5] port hybrid pvid vlan 1001
[SwitchA-FortyGigE1/0/5] undo stp enable
[SwitchA-FortyGigE1/0/5] stp edged-port
[SwitchA-FortyGigE1/0/5] stp port bpdu-protection enable
[SwitchA-FortyGigE1/0/5] quit
# 配置以太网接口FortyGigE1/0/6为Trunk接口,允许VLAN 1001的以太网数据报文通过,并使能生成树协议。
[SwitchA] interface fortygige 1/0/6
[SwitchA-FortyGigE1/0/6] port link-type trunk
[SwitchA-FortyGigE1/0/6] port trunk permit vlan 1001
[SwitchA-FortyGigE1/0/6] stp enable
[SwitchA-FortyGigE1/0/6] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭生成树协议。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] undo stp enable
[SwitchA-Bridge-Aggregation1] quit
# 将以太网接口FortyGigE1/0/1~FortyGigE1/0/4分别加入二层聚合组1。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-aggregation group 1
[SwitchA-FortyGigE1/0/1] quit
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] port link-aggregation group 1
[SwitchA-FortyGigE1/0/2] quit
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] port link-aggregation group 1
[SwitchA-FortyGigE1/0/3] quit
[SwitchA] interface fortygige 1/0/4
[SwitchA-FortyGigE1/0/4] port link-aggregation group 1
[SwitchA-FortyGigE1/0/4] 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功能。
[SwitchA] lldp global enable
# 创建名为DCBX的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchA] acl mac name DCBX
[SwitchA-acl-mac-DCBX] rule 0 permit type 8906 ffff
[SwitchA-acl-mac-DCBX] rule 5 permit type 8914 ffff
[SwitchA-acl-mac-DCBX] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配名为DCBX的ACL。
[SwitchA] traffic classifier DCBX operator or
[SwitchA-classifier-DCBX] if-match acl mac name DCBX
[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] qos policy DCBX
[SwitchA-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchA-qospolicy-DCBX] quit
# 在以太网接口FortyGigE1/0/5上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] lldp enable
[SwitchA-FortyGigE1/0/5] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口FortyGigE1/0/5的出方向上应用QoS策略。
[SwitchA-FortyGigE1/0/5] qos apply policy DCBX outbound
(4) 部署PFC
# 在以太网接口FortyGigE1/0/5上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA-FortyGigE1/0/5] priority-flow-control auto
[SwitchA-FortyGigE1/0/5] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/5] qos trust dot1p
[SwitchA-FortyGigE1/0/5] quit
# 在以太网接口FortyGigE1/0/1~FortyGigE1/0/4上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] priority-flow-control enable
[SwitchA-FortyGigE1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/1] qos trust dot1p
[SwitchA-FortyGigE1/0/1] quit
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] priority-flow-control enable
[SwitchA-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/2] qos trust dot1p
[SwitchA-FortyGigE1/0/2] quit
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] priority-flow-control enable
[SwitchA-FortyGigE1/0/3] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/3] qos trust dot1p
[SwitchA-FortyGigE1/0/3] quit
[SwitchA] interface fortygige 1/0/4
[SwitchA-FortyGigE1/0/4] priority-flow-control enable
[SwitchA-FortyGigE1/0/4] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/4] qos trust dot1p
[SwitchA-FortyGigE1/0/4] 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
# 在以太网接口FortyGigE1/0/5上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] qos wrr af1 group 1 byte-count 1
[SwitchA-FortyGigE1/0/5] qos wrr be group 1 byte-count 1
# 在以太网接口FortyGigE1/0/5上配置其它的队列为SP调度方式。
[SwitchA-FortyGigE1/0/5] qos wrr af2 group sp
[SwitchA-FortyGigE1/0/5] qos wrr af3 group sp
[SwitchA-FortyGigE1/0/5] qos wrr af4 group sp
[SwitchA-FortyGigE1/0/5] qos wrr ef group sp
[SwitchA-FortyGigE1/0/5] qos wrr cs6 group sp
[SwitchA-FortyGigE1/0/5] qos wrr cs7 group sp
[SwitchA-FortyGigE1/0/5] quit
(6) 部署FCoE
# 配置FCoE模式为FCF模式,并在VSAN 100内开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchA] fcoe-mode fcf
[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] fspf enable
[SwitchA-vsan100] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到二层聚合接口Bridge-Aggregation1上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface bridge-aggregation 1
[SwitchA-Vfc1] port trunk vsan 100
[SwitchA-Vfc1] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/5上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC2。
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] bind interface fortygige 1/0/5
[SwitchA-Vfc2] port trunk vsan 100
[SwitchA-Vfc2] quit
# 开启VLAN 4001的FC和FCoE功能,并将其与VSAN 100进行映射。
[SwitchA] vlan 4001
[SwitchA-vlan4001] fcoe enable vsan 100
[SwitchA-vlan4001] quit
# 在VSAN 100内配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 100
[SwitchA-vsan100] zone default-zone permit
[SwitchA-vsan100] quit
Switch B上的配置与Switch A类似,差异处为Switch B上配置的二层聚合接口是Bridge-Aggregation2,Switch A上配置的二层聚合接口是Bridge-Aggregation1,配置步骤略。
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
(2) 部署VLAN和接口
# 创建VLAN 4001,用来传输存储数据流量。
<SwitchC> system-view
[SwitchC] vlan 4001
[SwitchC-vlan4001] description ToSAN
[SwitchC-vlan4001] quit
# 配置以太网接口FortyGigE1/0/5为Hybrid接口,允许VLAN 4001的存储数据报文带Tag通过。
[SwitchC] interface fortygige 1/0/5
[SwitchC-FortyGigE1/0/5] port link-type hybrid
[SwitchC-FortyGigE1/0/5] port hybrid vlan 4001 tagged
[SwitchC-FortyGigE1/0/5] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭生成树协议。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchC-Bridge-Aggregation1] undo stp enable
[SwitchC-Bridge-Aggregation1] quit
# 将以太网接口FortyGigE1/0/1~FortyGigE1/0/4分别加入二层聚合组1。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-aggregation group 1
[SwitchC-FortyGigE1/0/1] quit
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] port link-aggregation group 1
[SwitchC-FortyGigE1/0/2] quit
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] port link-aggregation group 1
[SwitchC-FortyGigE1/0/3] quit
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] port link-aggregation group 1
[SwitchC-FortyGigE1/0/4] 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功能。
[SwitchC] lldp global enable
# 创建名为DCBX的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchC] acl mac name DCBX
[SwitchC-acl-mac-DCBX] rule 0 permit type 8906 ffff
[SwitchC-acl-mac-DCBX] rule 5 permit type 8914 ffff
[SwitchC-acl-mac-DCBX] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配名为DCBX的ACL。
[SwitchC] traffic classifier DCBX operator or
[SwitchC-classifier-DCBX] if-match acl mac name DCBX
[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] qos policy DCBX
[SwitchC-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchC-qospolicy-DCBX] quit
# 在以太网接口FortyGigE1/0/5上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchC] interface fortygige 1/0/5
[SwitchC-FortyGigE1/0/5] lldp enable
[SwitchC-FortyGigE1/0/5] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口FortyGigE1/0/5的出方向上应用QoS策略。
[SwitchC-FortyGigE1/0/5] qos apply policy DCBX outbound
(4) 部署PFC
# 在以太网接口FortyGigE1/0/5上配置与磁盘设备自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC-FortyGigE1/0/5] priority-flow-control auto
[SwitchC-FortyGigE1/0/5] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/5] qos trust dot1p
[SwitchC-FortyGigE1/0/5] quit
# 在以太网接口FortyGigE1/0/1~FortyGigE1/0/4上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] priority-flow-control enable
[SwitchC-FortyGigE1/0/1] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/1] qos trust dot1p
[SwitchC-FortyGigE1/0/1] quit
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] priority-flow-control enable
[SwitchC-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/2] qos trust dot1p
[SwitchC-FortyGigE1/0/2] quit
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] priority-flow-control enable
[SwitchC-FortyGigE1/0/3] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/3] qos trust dot1p
[SwitchC-FortyGigE1/0/3] quit
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] priority-flow-control enable
[SwitchC-FortyGigE1/0/4] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/4] qos trust dot1p
[SwitchC-FortyGigE1/0/4] quit
(5) 部署FCoE
# 配置FCoE模式为FCF模式,在VSAN 100内开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchC] fcoe-mode fcf
[SwitchC] vsan 100
[SwitchC-vsan100] domain configure enable
# 配置交换机的优先级为1,使Switch C成为主交换机。
[SwitchC-vsan100] priority 1
# 配置域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] fspf enable
[SwitchC-vsan100] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到二层聚合接口Bridge-Aggregation1上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC1。
[SwitchC] interface vfc 1
[SwitchC-Vfc1] fc mode e
[SwitchC-Vfc1] bind interface bridge-aggregation 1
[SwitchC-Vfc1] port trunk vsan 100
[SwitchC-Vfc1] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/5上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC2。
[SwitchC] interface vfc 2
[SwitchC-Vfc2] fc mode f
[SwitchC-Vfc2] bind interface fortygige 1/0/5
[SwitchC-Vfc2] port trunk vsan 100
[SwitchC-Vfc2] quit
# 开启VLAN 4001的FC和FCoE功能,并将其与VSAN 100进行映射。
[SwitchC] vlan 4001
[SwitchC-vlan4001] fcoe enable vsan 100
[SwitchC-vlan4001] quit
# 在VSAN 100内配置允许默认Zone内的成员互相访问。
[SwitchC] vsan 100
[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 Vfc1
从上述信息可以看出,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 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上存在了一条到Switch C的FSPF路由,出接口为接口VFC1。
# 显示Switch A上的节点注册的相关信息。
[SwitchA] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc2 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
Vfc2 100 0x010000 10:00:00:05:30:00:25:a4 10:00:00:05:30:00:25:a3
Switch D上的验证方法与Switch C的完全相同,验证信息略。
如图17-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之间链路的带宽,并实现链路备份和负载分担。
图17-2 FC和FCoE配置组网图
· 为了实现SAN网络中的存储数据流量能够在无损以太网链路上传输,H3C建议用户在交换机上与服务器连接的以太网接口上配置DCBX、自动协商模式的PFC功能和ETS功能;在交换机之间连接的以太网接口上要强制开启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中传输。
· 由于服务器是通过两个不同网卡双上行至Switch A和Switch B,两个网卡物理隔离,所以本组网中Switch A、Switch B、以太网交换机和服务器之间并没有形成环路,不需要开启STP功能。若实际LAN网络较为复杂,为了防止LAN网络存在物理环路,H3C建议在Switch A和Switch B与LAN网络所连接的以太网接口上使能生成树协议。
· 为了避免由于网络拓扑变化,Switch A和Switch B上连接服务器的端口产生临时环路,需要将该端口配置为边缘端口,不参与生产树拓扑计算,并开启BPDU保护功能。边缘端口可以快速迁移到转发状态,当服务器重新登录交换机时,服务器发送的数据流量能很快被转发,尽可能减少流量的丢失。
· 为了避免生成树协议阻塞Switch A和Switch B负责转发存储流量的接口,需要保证4台FCF交换机之间的接口上关闭生成树协议。
· 由于SAN网络结构比较复杂,建议用户采用动态方式建立Fabric网络,使用FSPF协议建立FC路由。
· 为了实现服务器能够访问磁盘设备内的存储资源,需要配置允许默认Zone内的成员互相访问。
· 为了提高Switch A和Switch C之间、Switch B和Switch D之间链路的带宽,并实现链路备份和负载分担,分别配置以太网聚合链路1和以太网聚合链路2。
· 当设备上同时使用了FC接口和VFC接口时,为了使得VFC接口可以正常进行PFC,需要在FC接口上配置信任报文自带的802.1p优先级。
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchA> system-view
[SwitchA] system-working-mode advance
[SwitchA] save
[SwitchA] quit
<SwitchA> reboot
(2) 部署VLAN和接口
# 创建VLAN 1001和4001,分别用来传输以太网数据流量和存储数据流量。
<SwitchA> system-view
[SwitchA] vlan 1001
[SwitchA-vlan1001] description ToLAN
[SwitchA-vlan1001] quit
[SwitchA] vlan 4001
[SwitchA-vlan4001] description ToSAN
[SwitchA-vlan4001] quit
# 全局使能生成树协议。
[SwitchA] stp global enable
# 开启全局的BPDU保护功能。
[SwitchA] stp bpdu-protection
# 配置以太网接口FortyGigE1/0/5为Hybrid接口,允许VLAN 1001的以太网数据报文不带Tag通过,允许VLAN 4001的存储数据报文带Tag通过,设置接口的PVID为VLAN 1001,关闭生成树协议,配置接口为边缘端口,并开启BPDU保护功能。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] port link-type hybrid
[SwitchA-FortyGigE1/0/5] port hybrid vlan 1001 untagged
[SwitchA-FortyGigE1/0/5] port hybrid vlan 4001 tagged
[SwitchA-FortyGigE1/0/5] port hybrid pvid vlan 1001
[SwitchA-FortyGigE1/0/5] undo stp enable
[SwitchA-FortyGigE1/0/5] stp edged-port
[SwitchA-FortyGigE1/0/5] stp port bpdu-protection enable
[SwitchA-FortyGigE1/0/5] quit
# 配置以太网接口FortyGigE1/0/6为Trunk接口,允许VLAN 1001的以太网数据报文通过,并使能生成树协议。
[SwitchA] interface fortygige 1/0/6
[SwitchA-FortyGigE1/0/6] port link-type trunk
[SwitchA-FortyGigE1/0/6] port trunk permit vlan 1001
[SwitchA-FortyGigE1/0/6] stp enable
[SwitchA-FortyGigE1/0/6] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭生成树协议。
[SwitchA] interface bridge-aggregation 1
[SwitchA-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchA-Bridge-Aggregation1] undo stp enable
[SwitchA-Bridge-Aggregation1] quit
# 将以太网接口FortyGigE1/0/1~FortyGigE1/0/4分别加入二层聚合组1。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] port link-aggregation group 1
[SwitchA-FortyGigE1/0/1] quit
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] port link-aggregation group 1
[SwitchA-FortyGigE1/0/2] quit
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] port link-aggregation group 1
[SwitchA-FortyGigE1/0/3] quit
[SwitchA] interface fortygige 1/0/4
[SwitchA-FortyGigE1/0/4] port link-aggregation group 1
[SwitchA-FortyGigE1/0/4] 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功能。
[SwitchA] lldp global enable
# 创建名为DCBX的二层ACL,并为其创建规则来匹配FCoE报文(协议号为0x8906)和FIP报文(协议号为0x8914)。
[SwitchA] acl mac name DCBX
[SwitchA-acl-mac-DCBX] rule 0 permit type 8906 ffff
[SwitchA-acl-mac-DCBX] rule 5 permit type 8914 ffff
[SwitchA-acl-mac-DCBX] quit
# 定义名为DCBX的类,其下各规则间的关系为逻辑或,并定义其匹配名为DCBX的ACL。
[SwitchA] traffic classifier DCBX operator or
[SwitchA-classifier-DCBX] if-match acl mac name DCBX
[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] qos policy DCBX
[SwitchA-qospolicy-DCBX] classifier DCBX behavior DCBX mode dcbx
[SwitchA-qospolicy-DCBX] quit
# 在以太网接口FortyGigE1/0/5上开启LLDP功能,并允许该接口发送LLDP报文时携带DCBX TLV字段。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] lldp enable
[SwitchA-FortyGigE1/0/5] lldp tlv-enable dot1-tlv dcbx
# 在以太网接口FortyGigE1/0/5的出方向上应用QoS策略。
[SwitchA-FortyGigE1/0/5] qos apply policy DCBX outbound
(4) 部署PFC
# 在以太网接口FortyGigE1/0/5上配置与服务器自动协商是否开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA-FortyGigE1/0/5] priority-flow-control auto
[SwitchA-FortyGigE1/0/5] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/5] qos trust dot1p
[SwitchA-FortyGigE1/0/5] quit
# 在以太网接口FortyGigE1/0/1~FortyGigE1/0/4上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchA] interface fortygige 1/0/1
[SwitchA-FortyGigE1/0/1] priority-flow-control enable
[SwitchA-FortyGigE1/0/1] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/1] qos trust dot1p
[SwitchA-FortyGigE1/0/1] quit
[SwitchA] interface fortygige 1/0/2
[SwitchA-FortyGigE1/0/2] priority-flow-control enable
[SwitchA-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/2] qos trust dot1p
[SwitchA-FortyGigE1/0/2] quit
[SwitchA] interface fortygige 1/0/3
[SwitchA-FortyGigE1/0/3] priority-flow-control enable
[SwitchA-FortyGigE1/0/3] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/3] qos trust dot1p
[SwitchA-FortyGigE1/0/3] quit
[SwitchA] interface fortygige 1/0/4
[SwitchA-FortyGigE1/0/4] priority-flow-control enable
[SwitchA-FortyGigE1/0/4] priority-flow-control no-drop dot1p 3
[SwitchA-FortyGigE1/0/4] qos trust dot1p
[SwitchA-FortyGigE1/0/4] 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
# 在以太网接口FortyGigE1/0/5上配置WRR队列,使FCoE流量和普通LAN流量各占50%带宽。
[SwitchA] interface fortygige 1/0/5
[SwitchA-FortyGigE1/0/5] qos wrr af1 group 1 byte-count 1
[SwitchA-FortyGigE1/0/5] qos wrr be group 1 byte-count 1
# 在以太网接口FortyGigE1/0/5上配置其它的队列为SP调度方式。
[SwitchA-FortyGigE1/0/5] qos wrr af2 group sp
[SwitchA-FortyGigE1/0/5] qos wrr af3 group sp
[SwitchA-FortyGigE1/0/5] qos wrr af4 group sp
[SwitchA-FortyGigE1/0/5] qos wrr ef group sp
[SwitchA-FortyGigE1/0/5] qos wrr cs6 group sp
[SwitchA-FortyGigE1/0/5] qos wrr cs7 group sp
[SwitchA-FortyGigE1/0/5] quit
(6) 部署FCoE
# 配置FCoE模式为FCF模式,在VSAN 100内开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchA] fcoe-mode fcf
[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] fspf enable
[SwitchA-vsan100] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到二层聚合接口Bridge-Aggregation1上,并将以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC1。
[SwitchA] interface vfc 1
[SwitchA-Vfc1] fc mode e
[SwitchA-Vfc1] bind interface bridge-aggregation 1
[SwitchA-Vfc1] port trunk vsan 100
[SwitchA-Vfc1] quit
# 创建接口VFC2,配置其工作在F模式,将其绑定到以太网接口FortyGigE1/0/5上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC2。
[SwitchA] interface vfc 2
[SwitchA-Vfc2] fc mode f
[SwitchA-Vfc2] bind interface fortygige 1/0/5
[SwitchA-Vfc2] port trunk vsan 100
[SwitchA-Vfc2] quit
# 开启VLAN 4001的FC和FCoE功能,并将其与VSAN 100进行映射。
[SwitchA] vlan 4001
[SwitchA-vlan4001] fcoe enable vsan 100
[SwitchA-vlan4001] quit
# 在VSAN 100内配置允许默认Zone内的成员互相访问。
[SwitchA] vsan 100
[SwitchA-vsan100] zone default-zone permit
[SwitchA-vsan100] quit
Switch B上的配置与Switch A类似,差异处为Switch B上配置的二层聚合接口是Bridge-Aggregation2,Switch A上配置的二层聚合接口是Bridge-Aggregation1,配置步骤略。
(1) 开启高级模式
# 配置设备工作模式为高级模式并保存配置重启设备(如果已经配置设备为高级模式此步骤可略)。
<SwitchC> system-view
[SwitchC] system-working-mode advance
[SwitchC] save
[SwitchC] quit
<SwitchC> reboot
(2) 部署VLAN和接口
# 创建VLAN 4001,用来传输存储数据流量。
<SwitchC> system-view
[SwitchC] vlan 4001
[SwitchC-vlan4001] description ToSAN
[SwitchC-vlan4001] quit
# 创建二层聚合接口1,配置其对应的聚合组工作在动态聚合模式下,并关闭生成树协议。
[SwitchC] interface bridge-aggregation 1
[SwitchC-Bridge-Aggregation1] link-aggregation mode dynamic
[SwitchC-Bridge-Aggregation1] undo stp enable
[SwitchC-Bridge-Aggregation1] quit
# 将以太网接口FortyGigE1/0/1~FortyGigE1/0/4分别加入二层聚合组1。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] port link-aggregation group 1
[SwitchC-FortyGigE1/0/1] quit
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] port link-aggregation group 1
[SwitchC-FortyGigE1/0/2] quit
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] port link-aggregation group 1
[SwitchC-FortyGigE1/0/3] quit
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] port link-aggregation group 1
[SwitchC-FortyGigE1/0/4] 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) 部署PFC
# 在以太网接口FortyGigE1/0/1~FortyGigE1/0/4上配置强制开启PFC功能,且设置对802.1p优先级3开启PFC功能,并配置信任报文自带的802.1p优先级。
[SwitchC] interface fortygige 1/0/1
[SwitchC-FortyGigE1/0/1] priority-flow-control enable
[SwitchC-FortyGigE1/0/1] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/1] qos trust dot1p
[SwitchC-FortyGigE1/0/1] quit
[SwitchC] interface fortygige 1/0/2
[SwitchC-FortyGigE1/0/2] priority-flow-control enable
[SwitchC-FortyGigE1/0/2] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/2] qos trust dot1p
[SwitchC-FortyGigE1/0/2] quit
[SwitchC] interface fortygige 1/0/3
[SwitchC-FortyGigE1/0/3] priority-flow-control enable
[SwitchC-FortyGigE1/0/3] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/3] qos trust dot1p
[SwitchC-FortyGigE1/0/3] quit
[SwitchC] interface fortygige 1/0/4
[SwitchC-FortyGigE1/0/4] priority-flow-control enable
[SwitchC-FortyGigE1/0/4] priority-flow-control no-drop dot1p 3
[SwitchC-FortyGigE1/0/4] qos trust dot1p
[SwitchC-FortyGigE1/0/4] quit
(4) 部署FC和FCoE
# 配置FCoE模式为FCF模式,在VSAN 100内开启Fabric配置功能(本步骤可选,Fabric配置功能缺省开启)。
[SwitchC] fcoe-mode fcf
[SwitchC] vsan 100
[SwitchC-vsan100] domain configure enable
# 配置交换机的优先级为1,使Switch C成为主交换机。
[SwitchC-vsan100] priority 1
# 配置域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] fspf enable
[SwitchC-vsan100] quit
# 将以太网接口FortyGigE1/0/5切换为FC接口,配置其工作在F模式并采用自协商速率。
[SwitchC] interface fortygige 1/0/5
[SwitchC-FortyGigE1/0/5] port-type fc
[SwitchC-Fc1/0/5] fc mode f
[SwitchC-Fc1/0/5] speed auto
# 配置接口FC1/0/5信任报文自带的802.1p优先级。
[SwitchC-Fc1/0/5] qos trust dot1p
# 将接口FC1/0/5以Access方式加入VSAN 100。
[SwitchC-Fc1/0/5] port access vsan 100
[SwitchC-Fc1/0/5] quit
# 创建接口VFC1,配置其工作在E模式,将其绑定到二层聚合接口Bridge-Aggregation1上,并以Trunk方式加入VSAN 100,即允许VSAN 100的报文通过接口VFC1。
[SwitchC] interface vfc 1
[SwitchC-Vfc1] fc mode e
[SwitchC-Vfc1] bind interface bridge-aggregation 1
[SwitchC-Vfc1] port trunk vsan 100
[SwitchC-Vfc1] quit
# 开启VLAN 4001的FC和FCoE功能,并将其与VSAN 100进行映射。
[SwitchC] vlan 4001
[SwitchC-vlan4001] fcoe enable vsan 100
[SwitchC-vlan4001] quit
# 在VSAN 100内配置允许默认Zone内的成员互相访问。
[SwitchC] vsan 100
[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 Vfc1
从上述信息可以看出,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 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上存在了一条到Switch C的FSPF路由,出接口为接口VFC1。
# 显示Switch A上的节点注册的相关信息。
[SwitchA] display fc login vsan 100
Interface VSAN FCID Node WWN Port WWN
Vfc2 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
Fc1/0/5 100 0x010000 10:00:00:05:30:00:25:a4 10:00:00:05:30:00:25:a3
Switch D上的验证方法与Switch C的完全相同,验证信息略。
表18-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 |
广播地址 |
表18-2 Fabric知名地址用途描述
FC_ID |
描述 |
0xfffff0 |
N_Port控制器,代表所有的N_Port |
0xfffff1 – 0xfffff3 |
保留 |
0xfffff4 |
事件服务 |
0xfffff5 |
组播服务器 |
0xfffff6 |
时钟同步服务 |
0xfffff7 |
安全密钥分发服务 |
0xfffff8 |
别名服务 |
0xfffff9 |
保留 |
0xfffffa |
管理服务 |
0xfffffb |
时间服务 |
0xfffffc |
路径服务(名称服务) |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!