在上一次的评测中,我们介绍了NETGEAR的多功能E-S-C平台M6100,M6100的硬件搭配灵活、软件功能全面。1000多页的命令行配置说明也部分说明了这是一款功能异常强大的产品。之前只是蜻蜓点水般介绍了一下各个主要的功能。这一次,我们要详细的看看M6100的其中一个特别让人感兴趣的功能:数据中心特性。首先我们简单介绍一下这款产品。
NETGEAR多功能E-S-C平台机箱式交换机M6100
多功能ESC平台
M6100是一款4U高度的机箱式交换机。而E-S-C平台代表的是:
E指的是Edge,也就是企业边缘网络,可以作为千兆接入,万兆上联使用。
S指的是Server,也就是作为服务器网络的交换机。通过众多服务器网络优化协议,如iSCSI优先级、DCBX、PFC、EGS、FCoEFIPSnooping来满足需求。
C指的是Core,也就是核心。中小网络的核心。
M6100适用性比较广泛。拥有多重角色,既可以作为小型商业网络的核心,也可以作为中型网络的汇聚层,同时也可以作为小型网络的核心层。而对于一些大型企业的分支办公室来说,甚至可以作为一个“All-In-One“来使用。
M6100的组件
M6100只是个总称。实际上M6100机箱式交换机是由许多部件组成的。首先当然是机箱了,这是一个4U高度的机箱,其中除了底部的电源模块接口之外,还有3个IO插槽。这3个IO插槽可以插入以下的IO刀片:
其它组件还有电源,PoE+子卡,UPoE+子卡,风扇,外部电源RPS4000v2。
产品外观
什么是数据中心功能
在这里,我们关注的是M6100的数据中心功能。当前大型数据中心的存储还是以FCSAN为主。而对于中小商业网络来说,IP SAN得到更加广泛的应用。对于FC SAN来说,其优势是作为一个专门用于存储的网络,无论其硬件,还是其软件协议,都是为了存储网络而开发,其针对性特别强。而其弱点也比较明显,就是对于管理员来说,必须建立两套不同的网络,学习两套完全不用的知识。而对于iSCSI来说,由于其跑在TCP/IP协议之上,那就有了以太网协议的特点:尽力而为。以太网的设计之初,就是以尽力而为为设计原则。在网络状况一般或者网络设备一般的时候,丢丢包也是可以接受的。其数据完整性是由上层的协议来保障的,如TCP协议。但是对于存储网络来说,这却是万万不能的,这也就是为什么IP网络在存储圈一直没有得到广泛接受的原因。但是由于TCP/IP协议实在太流行了,在占据了各个领域之后,终于都来到存储网络的世界。对于数据中心来说,统一架构的好处还是比较明显的。可以一台交换机既跑网络流量,也跑存储流量,而不需要专门为了存储区域网络去买一台FC交换机,布线方面也可以适当的减少。为了实现一个统一的基础架构,同时又能让网络管理者在以太网上面同时使用熟悉的FC SAN方式来管理存储,就有了FCoE。
FCoE在以太网之上运行(也就是物理层、链路层是以太网),而iSCSI则是运行在TCP,IP之上。其结果就是FCoE在IP层是不可路由的,这也意味着其无法工作在路由过的IP网络中。这时候问题就来了,那么FCoE直接连到普通交换机上面,到底行不行?这里先直接说结论,答案是:FCoE连接到non-FIP-aware以太网交换机(或者数据路径中有non-FIP-aware交换机)时,无法保证其工作正常。
M6100的DCB功能
业界为了实现在以太网上面跑FC协议,开发了众多协议,其中对于以太网交换机来说,最重要的,是DCB。DCB也就是DataCenterBridging,包括如下几个特性:
PFC:Priority-basedFlowControl——IEEE 802.1Qbb提供一个链路层流控机制,可以单独控制每个服务等级(CoS,802.1p定义)。此机制的目标是确保在DCB网络中即使出现拥塞也能实现0丢包。
ETS:EnhancedTransmissionSelection——IEEE 802.1Qaz提供一个通用的管理框架来为802.1p 基于CoS的流量组分派带宽。
拥塞通知——IEEE802.1Qau提供为具备传输速率控制的协议提供端到端的拥塞管理。
DCBX:DataCenterBridging Capability eXchange Protocol——发现和特性交换协议,用于在邻居之间上述功能的特性和配置的协议,以确保在整个网络中配置的一致性。此协议主要是使用LLDP来提供这样的能力。
我们知道,以太网流量控制是通过暂时停止数据传输来实现。第一种流控机制,是通过PAUSE帧来实现。可以在数据链路层实现。其基本做法是:一条链路的两端,如果一方发送数据的速度接收方无法跟上速度,那么接收方就会发送一个PAUSE帧来停止发起端(一定时间)。这个PAUSE命令,是通过MAC帧来发送。只有配置为全双工的工作站,才能发送PAUSE帧。当一个工作站想要暂停另外一段发送数据的时候,它将发送一个PAUSE帧到一个保留的组播地址01-80-C2-00-00-01,使用知名地址让工作站无需发现并保存链路另外一端的地址。
其后发展出来的基于优先级的流量控制:提供一种链路层的流控机制,可以独立的控制不同服务等级(CoS)的流量。此机制的目标是确保在DCB网络中,即使发生网络拥塞也能保证0丢包。
DCB以太网交换机具备以上几个特性,其中最重要的是,在网络拥塞的时候,它绝对不丢弃数据帧。也就是说,是无损的。无损网络对于块级别I/O来说是非常重要的,因为不像TCP/IP,丢失一个数据帧通常要求整个FC交换中止,并通过上层协议来重新发送,不像TCP/IP只需要重新发送一个特定的帧而已。
M6100的数据中心功能测试
M6100的所有数据中心功能,都必须在命令行中进行配置。无法使用网页界面进行管理。这里我们将会按顺序进行配置。
指定DCBX版本
DCBX的版本有IEEE、CEE、CIN和auto。如果是auto模式,交换机将会尝试先以IEEE版本来交换、然后是CEE,接着是CIN,如果对方回复了版本,那么交换机将会马上切换到该版本。
(M6100-3S)(Config)#lldpdcbxversion auto
重置到默认版本,也就是auto版本:
(M6100-3S)(Config)#nolldpdcbx version
设置DCBX端口角色
1)Manual:配置不受peer设备或者内部配置传播所影响。如果peer端开启了DCBX,那么端口将会广播其配置给对端。willingbit设置为disabled。
2)Auto-Up:广播配置,同时也接受链路对端的配置,并将链路对端的配置传播给auto-downstream的端口,同时也可以接收内部其他auto-upstream端口传播的配置。这些端口的willingbit设置为开启,端口必须连接到FCF。
3)Auto-Down:广播配置,但是不接受链路对端的配置。但是Auto-Down的端口可以接受来自内部ConfigurationSource的配置,。端口的willingbit设置为disabled。这类端口必须连接到受信任的FCF。
4)ConfigurationSource:顾名思义,这类角色的端口手动设置为配置源。此类端口接收到配置之后,将会将其传播给其他auto-configuration的端口。
NETGEAR建议将面向FCF的端口配置为auto-upstream模式,以便接收DCBX信息,并将其传播给downstream端口连接的CNA(也就是面向存储主机的接口)。
一个端口如果连接到了FCF,那么则配置为:
(M6100-3S)(Interface1/0/2)#lldpdcbx port-role auto-up
如果连接到了存储设备,则配置为:
(M6100-3S)(Interface1/0/2)#lldpdcbx port-role auto-down
ETS和TCG
ETS是通过将流量映射到特定的流量组(TrafficClassGroup)来实现流控的。M6100要求将内部的CoS给映射到TCG。默认情况下,所有的流量都映射到TCG0。如果想要改变,可以这么做:
(M6100-3S)(Config)#classofservicetraffic-class-group6 2
设置TCG的最大带宽限制。默认TCG有3个组,通过在一个命令中指定其可以使用的最大带宽来进行控制。
(M6100-3S)(Config)#traffic-class-groupmax-bandwidth50 40 10
最大带宽限制一般可以跟权重weighted或者严格优先级队列strictpriorityscheduling模式搭配使用。对于严格优先级队列的TCG来说,最小带宽设置将会被忽略,数据包到达的时候即被安排进行传输。而最大带宽设置,将会用于限制TCG向外传输的最大传输速率,避免其将整个端口的带宽都占用。如果同个端口有多个TCG配置了严格优先级队列,那么其典型的组合配置,是将其与权重队列搭配使用,在严格优先级队列里面再给予其中一个最高的优先级。设置每个TCG的权重。默认是TCG0:TCG1:TCG2的权重是100%:0%:0%。设置TCG的最小保证带宽,0意味着无保证带宽,也就是以太网默认的尽最大努力传输。
(M6100-3S)(Config)#traffic-class-groupmin-bandwidth40 30 5
FIPSnooping
FIPSnooping是FIPSnooping网桥(也就是FIPSnooping交换机)通过对L2帧头进行检测,来监控FIP帧并基于帧头部信息来应用策略。如果没有开启FIP Snooping功能,那么接收到FIP帧时,会使用正常的组播规则来转发或者洪泛。当开启FIP Snooping的时候,交换机将会安装FC-BB-5 Annex ACL,并且将会进行FIP帧窥探。FIP Snooping将不会允许FIP或者FCoE帧进行转发,除非该端口开启了PFC功能。而VLAN标记功能也得开启,以便端口在网络中携带802.1p值。
作用:
1.根据FIP帧的以太网帧头部信息自动配置以太网ACL(也就是很多人说的动态ACL)
2.在DCB以太网内部模拟FC点对点链路
3.通过避免FCoEMAC欺骗来增强FCoE安全、稳固性
NETGEAR的网管交换机支持配置为如下两种角色:
1.边缘端口:也就是面向存储主机的端口(直连到ENode)
2.面向FCF的端口角色(从FCF接收流量,并发送到ENodes)
NETGEAR网管型交换机适用于放在存储交换网络的边缘。开启了FCoE的VLAN端口,默认角色是边界端口。面向FCF的端口角色必须手动指定。
首先全局开启该功能:
(M6100-3S)(Config)#featurefip-snooping
接着在具体的VLAN上面开启:
(M6100-3S)(Config)#vlan2-3
(M6100-3S)(Config)(Vlan2-3)#fip-snoopingenable
FCMap用于确保交换机的配置以防误配置。当配置为使用FPMA(Fabric-providedMACaddress)的时候,FCoE设备将会在传输的帧的前面24位包含FC map value,只有匹配已经配置的FC map值才能通过VLAN。不匹配的帧都将会被丢弃。
配置举例:
fip-snoopingfc-map0x100
FIPSnooping端口角色
默认情况下,M6100的端口配置为面向主机的端口,而不是面向FCF的端口。但是为了将从主机接收到的帧传送到FCF,交换机必须知道FCF连接在哪个端口上面。对此可以通过fip-snoopingport-mode命令来指定面向FCF的端口。建议将连接FCF的端口配置为auto-upstream模式,以便接收DCBX信息,并将其传送给downstream的CNA(也就是连接存储主机的)。端口必须开启PFC,并且配置为trunk或者通用模式,以便FCoE流量能够通过。
(M6100-3S)(Config)#interface1/0/1
(M6100-3S)(Interface1/0/1)#fip-snoopingport-mode fcf
PFC
一个接口可以配置为当发送拥塞的时候,只暂停高优先级的流量来避免丢帧,而允许对丢包容忍度较高的流量继续发送。PFC通过802.1QVLAN包头的优先级位来区分802.1p优先级。对于NETGEAR网管型交换机来说,这些优先级必须映射到内部的服务级别(CoS)值。
1.确保VLAN标记打开,以便802.1p优先级能够在网络中传输。
2.确保802.1p优先级有对应到NETGEAR网管交换机的CoS值。
如果PFC没有开启,那么默认是使用IEEE802.3x流控。如果开启了,除非设置了至少一个“不丢包”的优先级,不然不会暂停任何CoS。每个端口可以设置2个无损优先级。管理员必须在整个网络中都将相同的优先级设置为无损,这样才能实现端到端的无损。
开启PFC,并设置优先级1为无损:
(M6100-3S)(Interface1/0/1)#datacenter-bridging
(M6100-3S)(config-if-dcb)#priority-flow-controlmodeon
(M6100-3S)(config-if-dcb)#priority-flow-controlpriority1 no-drop
结束语
从这次评测可以看出,除了作为一台商业网络的多功能交换机,M6100也可以是数据中心的FCoE接入交换机。其具备的DCB网络特性,加上超高密度的10G端口,是数据中心的良好选择。
上一篇评测我们也提到,M6100的应用范围非常广泛。首先可以是作为小型网络的一体化解决方案。千兆桌面接入,万兆电口连接服务器,万兆光口连接其他园区或者分部。同时它也特别适用于服务器网络、存储网络,服务器、存储设备可用10G接入,M6100通过10G链路聚合到核心。此外,由于M6100的端口密度极高、PoE预算也非常高,这让其非常适用于监控网络、大规模无线基础网络、VoIP网络,也就是作为一个融合网络的核心使用。此外,还是虚拟化的极佳选择,通过UPoE提供VDI瘦客户端的供电,通过10G连接到虚拟化服务器和存储。一站式服务可以满足不同的需求。