1 引言
数据中心(Data Center)集中为各种企业业务提供数据,实现了IT系统整合和集中管理。这也导致数据中心规模越来越大,复杂度越来越高。为了建设集中扁平化,统一多种应用的融合数据中心,未来数据中心建设将围绕融合网络和虚拟化展开,大量新技术应用在数据中心中,如数据中心以太网,Fibre Channel Over Ethernet,虚拟化等。新技术的验证和性能评估是数据中心部署的第一步,在测试中需要把新旧组件结合起来,进行集中的整体分析。思博伦通信推出业界第一个整体数据中心测试解决方案。本文从数据中心网络基准性能测试方法,数据中心以太网测试,FCoE测试,虚拟化测试等方面,对思博伦数据中心整体分析解决方案进行论述。
2 基准性能测试
基准性能测试是数据中心设备最基本的测试项目。通信界长期以来形成了一系列测试标准,定义了基准性能和基准性能测试方法。这些标准对包括数据中心在内的网络设备和系统都非常有效。系列标准包括:RFC 1242/2544:网络和网络设备的基准性能测试术语和测试方法学。RFC 2432/2889:以太网二层交换机基准性能测试术语和测试方法学。RFC 2432/3918:组播基准性能测试术语和测试方法学。RFC 2647/3511:防火墙基准性能测试术语和测试方法学。其他对数据中心测试非常有效的测试标准,比如RFC 5180,定义了RFC2544在IPv6上扩展,RFC 4814,定义伪随机测试流量模式。RFC 4689,定义网络层QoS测试术语。
Spirent TestCenter为上述基准性能测试提供了标准自动测试套件。在此基础上,Spirent TestCenter提供了很多对数据中心有效的测试扩展:
(1)基准性能测试标准中定义的是固定帧长的测试。一般说来,设备对大帧的转发性能优于小帧。但现网中有各种帧长,所以有了Internet混合帧长(IMIX)的概念。在IMIX模型中,用户可以根据应用自定义不同帧长帧的比例关系(见图1)。Spirent TestCenter还可以完成随机帧长和IMIX的基准性能测试。
图1 RFC 3393 Jitter原理图
(2)巨型帧(Jumbo Frame)基准性能测试。传统的以太网帧最大帧长是1518字节。而数据中心业务传输大块数据,Fibre Channel帧最长为2112字节。为了避免FCoE分片带来的额外开销,数据中心以太网要求支持2.5kbyte的Jumbo Frame。Spirent TestCenter能够支持最大16kbyte的巨型帧,支持Jumbo Frame的基准性能测试。
(3)随着实时业务的增加,一些能有效反映实时业务质量的统计量被越来越重视。比如,抖动,RFC3393和MEF10对抖动提供了标准的定义:It’s defined as absolute value of difference between Latency A and Latency B。
Spirent TestCenter能在基准性能测试的同时,测试出不同负载下的抖动。
●数据中心网络要求帧的顺序传递。RFC4737/MEF10对帧的顺序性提供了明确定义。Spirent TestCenter是目前惟一支持RFC 4737/MEF10帧的顺序定义的测试仪表。
●在任意拓扑之上的基准性能测试。传统测试中,基准性能测试和协议测试往往是分开的,在进行某项测试时,系统所有资源都在为这项测试服务,而现网中,协议和数据转发是同时运行的。Spirent TestCenter 把协议平面和数据转发平面测试结合起来,能先建立协议平面拓扑,然后在此拓扑之上运行基准性能测试。比如,先在测试端口之间建立FCoE Session,然后在之上运行FCoE数据的RFC 2544测试。
Spirent TestCenter能够每端口产生32k条独立测试流和实时分析64k条独立的测试流,能够在一个端口上仿真经过RR调度,WRR调度和绝对优先级调度的测试流量,能非常好地测试流量的优先级区分功能和QoS能力。
Spirent TestCenter提供了业界最高的10ns测量精度,具备业界最优的时延补偿算法,其任何类型的端口,包括10/100/1000Mbit/s和10G接口在任何帧长和负载下的自环时延,都在0.3us以下。数据中心设备转发时延都在us级别。Spirent TestCenter自有时延可以忽略,而且由于各种接口的自有时延一致,进行不同类型接口之间性能测试,比如千兆和万兆接口之间测试,不存在时延无法补偿问题。由于数据中心设备的转发时延和抖动要求非常高,所以Spirent TestCenter的测试精度和时延补偿算法对数据中心测试非常重要。
3 数据中心以太网和Fibre Channel over Ethernet
传统的Fibre Channel技术广泛应用在存储网络(SANs)中。而以太网技术在网络领域占据统治地位。企业的数据中心网络中,可能会建若干网络,其中以太网承载IP流量,Fibre Channel承载基于块读写的SCSI流量,可能还会由InfiniBand来承载高速I/O。这造成了大量的线缆、能耗和费用。把这些应用融合到以太网上,建设统一融合的数据中心以太网(Data Center Ethernet,DCE),能够大幅减少线缆和能耗,大大降级运维成本。数据中心以太网也称为融合增强型以太网(Converged Enhanced Ethernet,CEE)。
3.1 数据中心以太网测试
在DCE/CEE中,Fibre Channel帧映射到以太网上来进行承载。Fibre Channel提供流控机制,保证无丢包,并且对时延的增加/变化或者抖动非常敏感。而传统的以太网络可以容忍一定的丢包和时延变化/抖动。所以IEEE定义了一系列标准,规范DCE/CEE对于传统以太网增强,主要包括:
●802.1Qbb Priority Flow Control(PFC):802.1Qbb是基于优先级的流控标准。在一条物理链路上,分成8个优先级通道。一条链路上可以承载多种业务类型,包括FCoE和非FCoE的业务。当发生拥塞时候,接收端可以在特定的优先级通道上发送XOFF和XON帧,抑制或者继续特定的业务,保证高优先级或者时延敏感的业务的传输。图2是802.1qbb的原理图。
图2 802.1Qbb原理
●802.1Qaz Enhanced Transmision Selection(ETS):保证不同服务级别上的质量。在DCE业务中,IPC是时延敏感的业务,SAN是对丢包敏感的业务,而IP业务是可以允许一定的丢包和时延。链路上的业务,可以分为若干优先级组(Priority Group,PG),并且定义每个PG的带宽属性。重要的业务,比如存储网络数据被赋予高优先级,保证带宽。低优先级业务只能在高优先级业务带宽不占用的情况下,才能使用分配带宽之外的额外带宽。图3是ETS和PG的典型例子。
图3 ETS和PG实例
●Data Center Bridge Exchange(DCBX):IEEE LinkLayer Discovery Protocol(LLDP)的扩展,可以在链路建立的时候交换两端设备的能力参数,比如是否支持PFC,以及802.1Qaz Priority Group。
●其他相关标准:包括IEEE 802.1Qau端到端拥塞管理标准,为克服生成树协议单路径和收敛慢特点的Layer2 Multipathing(L2MP)协议等。
DCE/CEE测试,首先要完成前述的基准性能测试,其次是传统以太网的测试,如生成树/多生成树协议,VLAN,访问控制列表(ACL),路由协议等。此外,最重要的就是对上述以太网增强功能和性能进行测试。Spirent TestCenter提供了全面的测试方案。
(1)ETS测试
Spirent TestCenter每端口可以支持产生32k条和实时分析64k调独立的测试Stream,产生丰富的测试流量,验证ETS各Priority Group的带宽分配、流量整形等功能。Spirent TestCenter能为每一优先级和Priority Group提供基本带宽以及其他高级统计功能,包括实时丢包,实时RFC 4737序列,实时RFC 3393 Jitter,误码率等,评估每一种Priority Group的流量特性。图4是业务设置和结果显示。
图4 Spirent TestCenter ETS测试和测试结果
(2)PFC测试
PFC测试是要验证DCE设备在拥塞情况下对于PFC帧的发生和响应情况。PFC XOFF帧中包含抑制流量的时间,以512bit时间为单位,称为Pause Quanta,在10G速率下对应51.2ns。Spirent TestCenter可以对每个优先级的抑制时间和XOFF和XON帧的发送间隔和序列进行用户自定义。
Spirent TestCenter可以统计两个PFC重要指标:Pause持续时间和Pause响应时间。Pause响应时间是指从仪表发送XOFF帧,到收到这个优先级上最后一个数据帧的时间。
Spirent TestCenter可以在多个优先级上产生不同Pause Quanta的异步XON/XOFF序列,同时发送不同帧长的双向测试流量,验证每条流的最大时延和PAUSE功能。一个典型的测试例如图5所示。
图5 真实PFC测试场景
在这个和真实网络非常相似的测试场景中,一共有3级流量,分别是P1,P2和P3:
●Spirent TestCenter同时在P1,P2和P3上发送不同帧长的双向流量。
●Spirent TestCenter同时在3个优先级上发送Pause Quanta为65535的XOFF消息。
●150us时候,Spirent TestCenter先在P2上发送XON消息,结束P2优先级上的流量抑制。
●200us时候,Spirent TestCenter在P1上发送XON消息。
●300us时候,Spirent TestCenter在P3上发送XON消息。
●600us时候(150+450),在P2上发送XOFF,重复上述行为。
●700us时候,在P1上发送XOFF,重复上述行为。
●1000us时候,在P3上发送XOFF,重复上述行为。
经过若干轮循环后,不同优先级上流量异步,给被测设备造成很大的压力。我们评估每条测试流的最大时延和Pause时间。当具有几十/上百个端口的设备同时做这类测试,将给设备带来极大的压力,能测出系统或者设备的性能极限。
3.2 FCoE测试
FCoE用以太网替换了Fibre Channel中的FC-0和FC-1,把Fibre Channel帧作为Layer 3协议直接封装在以太网之上传输。图6是FCoE的协议层次。FCoE要求以太网支持上述DCE扩展特性。
图6 FCoE的协议层次图
2个Fibre Channel节点之间的典型通信过程包括:
●Link初始化。
●F_LOGI:完成交换机发现,N_Port和F_Port之间交换能力参数,节点FCID分配,初始化流控参数。
●P_LOGI:建立端到端的连接,交换PWWN,NWWN和协商操作参数。
●可选的PRLI:进行端到端进程级别的服务参数协商。
FCoE要求和传统的FC Fabric无缝对接,所以FCoE必须透明支持所有Fibre Channel特性。FCoE分为2个部分:FC初始化协议(FC Initialization Protocol,FIP)和FCoE协议。
FIP协议完成Fabric发现和F_LOGI功能。FCoE协议包含P_LOGI,PRLI以及Fibre Channel帧的传输。图7是FIP和FCoE的协议封装图。
图7 FIP和FCoE协议封装图(上图是FCoE协议封装,下图是FIP协议封装)
基本的FCoE测试包括协议功能测试和性能测试,包括:FIP协议功能(Discovery,Login,Logout 等功能);FCID和Ethernet MAC映射;FCoE Session之上的性能测试;FCoE和非FCoE混合性能测试。
Spirent TestCenter能够仿真FC Initiator和Target。图8是Spirent TestCenter进行FCoE协议和性能测试的拓扑结构。
图8 FCoE测试拓扑
Spirent TestCenter提供了完整的Fibre Channel测试功能,包括:基于状态的真实FIP和FCoE协议仿真;FIP协议包括Discovery and FLOGI/FLOGO;支持SPMA,FPMA(Mac Address Assignment);每端口仿真500个FCoE Host;FCoE拓扑之上的数据平面性能测试,测试流量绑定;FPMA/SPMA分配的地址;静态WWN分配;丰富的实时统计。
Spirent TestCenter为FCoE测试提供方便快捷的测试向导,帮助用户快速完成复杂的系统测试配置。测试向导集成了PFC配置和集成的测试流量配置。
4 虚拟化和云计算测试
随着数据中心物理服务器成倍增加,硬件成本高涨,所以整合是必然趋势。通过整合,将多种业务集成在同一台服务器上,减少服务器数量,有效降低服务器硬件成本和管理难度。
多种业务集成在一台服务器上,如何保证资源的合理分配,如何保证安全是一个难题。虚拟化是解决这些问题的途径。虚拟化指用多个物理实体创建一个逻辑实体,或者用一个物理实体创建多个逻辑实体。实体可以是计算、存储、网络或应用资源。虚拟化的实质就是将不同的业务和业务资源隔离开来,从而保证业务对于资源的要求。
虚拟化对扩展性测试提出了很高的要求。新的虚拟化产品可以在一个物理服务器上支持64个或以上的虚拟化实例。一个数据中心可能会有成百的物理服务器,这将导致非常大的网络流量。同时部署虚拟服务器,将导致额外的管理流量。比如VMware Vmotion产品,可以在数据中心中迁移虚拟服务器,这增强了实时性和可靠性,同时也产生了大量网络流量。
随着实体交换机的精简和虚拟化,物理交换机也被一并整合到虚拟平台。
以虚拟化技术为核心的云计算成为电信业,互联网业和IT业的市场和技术热点。“云”是一些可以自我维护和管理的虚拟计算资源,通常为一些大型服务器集群。云计算通过虚拟平台将所有计算资源集中起来,并由软件实现自动管理,无需人为参与。这使应用提供者无需关注繁琐的细节,能够专注于自己的业务。
对虚拟设备的测试,包括性能测试和协议的测试,比如VLAN,ACL,组播协议等。仅通过把测试仪表接到集成虚拟交换机的服务器的物理接口上测试是不够的,一台物理服务器上有很多虚拟设备,很难隔离评估每一个虚拟设备的性能。这就需要测试工具虚拟化。虚拟化测试工具以软件形式驻留在服务器内部,具备对应的物理测试工具的功能。从虚拟网络设备角度看,一个虚拟化测试工具的端口和一个物理测试端口是一样的。虚拟化测试工具能够在任何虚拟端口以及虚拟端口和物理端口之间提供测试L2—L7测试流量。
Spirent TestCenter Virtual是Spirent TestCenter的虚拟化测试模块,可以驻留在虚拟机上,用于评估虚拟服务器交换机和基于云的虚拟技术的性能。图9显示了Spirent TestCenter Virtual的基本测试原理。
图9 Spirent TestCenter Virtual测试原理图
Spirent TestCenter Virtual 是业界第一个虚拟化测试解决方案,提供下列功能:
●提供L2—L7 线速测试流量,测试虚拟设备和物理设备的性能。
●仿真VLAN,IGMP,FCoE等协议,产生真实基于状态的应用层流量。
●提供RFC 2544,RFC 2889,RFC 3918组播等基准性能测试。
●和Spirent TestCenter硬件结合测试业务和路径可以是物理网络?VM,VM?VM和物理网络?物理网络,为整个系统及系统的每个部分提供详尽的性能和功能分析。
●集成虚拟网络架构性能,扩展性和安全性分析。
●通过Spirent TestCenter GreenPut关联网络负载和能耗关系,测试在不同的网络负载下的能耗以及Throughput Per Watt。
通过Spirent TestCenter和Spirent TestCenter Virtual组成的测试系统,我们可以完成:
●在虚拟交换机上完成所有在物理交换机上需要进行的测试。
●快速定位影响网络性能的物理或虚拟组件。
●完成对虚拟交换机、防火墙、负载均衡器和其他虚拟组件的基准性能测试,包括单播和组播测试。
●实时验证在实时虚拟服务器迁移和资源调配中应用的可靠性。
●比较评估不同厂家的虚拟化平台的性能。
●对整个数据中心系统或者云计算系统进行全面评估。