受到企业数据中心内DAS—SAN成功移植的启发,思科工程数据中心管理员开始将其存储转向SAN环境,在核心使用McDATA 6064企业导向器交换机,在边缘使用McDATA Sphereon 3032交换机。但显然思科IT部门并不满意这样的结果,他们希望构建更大规模的存储系统,提高服务器、存储系统的利用率,并优化管理。恰逢此时,思科公司自己研发的Cisco MDS 9000系列多层交换机问世,这个产品在设计上预见了SAN向着更大规模、更强管理、更高可用性的需求。思科IT部门打算用Cisco MDS 9509多层导向器交换机——业内领先的能够在一个机柜上提供多达224个光纤通道端口交换机构建自己的SAN。
SAN的高可用性要求迁移过程尽可能减少对应用的影响。另一方面思科很多潜在的客户都存在要保护原有小规模SAN上交换机的投资,渐进式迁移的问题。所以思科存储交换机研发部门也希望能够了解当思科的MDS9509和低端McDATA交换机一同工作时会面临什么问题,以取得实际操作的经验。我们的计划是,前几个月以互操作模式运行工程SAN,以便了解客户移植过程中的诸多细节。思科的具体计划是:2003年夏天,IT部门将在加利福尼亚州圣何塞的思科工程大楼网络核心安装两台Cisco MDS 9509多层导向器交换机,并将其与原有的McDATA 3032边缘交换机和存储阵列相连。以操作模式运行SAN两个月之后,思科将用Cisco MDS 9120多层矩阵交换机取代McDATA 3032边缘交换机,以获得更多优势。为了在移植过程中不影响依赖SAN的思科关键业务应用的正常运行,需要采取很多技术保障措施。
严谨测试步步为营
思科的IT部门为迁移和互操作工作制订了严谨的测试计划、迁移计划和备份方案。比如为了能够验证互操作中的问题,思科IT部门挑选了IBM Rational ClearCase应用来考验互操作是否会影响应用,因为数千名思科开发人员都把它作为开发Cisco IOS? Software的源代码库,这一应用对存储的性能要求非常高。
思科于2003年6月成功移植了第一台核心交换机,于同年9月完成了第二台核心交换机的移植。
由于制定了缜密的计划,移植到混合Cisco MDS和McDATA SAN的过程没有对服务造成任何影响。Angulo说:“当我们关闭了一台核心交换机时,主机没有受到任何影响,客户则甚至没有感觉到这种变化。”
成效
从2003年6月到2004年1月,思科工程SAN在互操作模式下正常运作。在此境况下,思科宣布互操作性测试圆满结束,并用Cisco MDS 9120多层矩阵边缘交换机取代了McDATA 3032边缘交换机,以便充分利用只有在Cisco MDS交换机上提供的SAN功能。在互操作性测试阶段,思科不但提高了可扩展性和利用率,还达到了可用性目标。如“下一步”中所述,不久之后,思科就利用了MDS 9000系列多层交换机的强大VSAN功能。#p#
二、测试方法
路由器测试方法通常分为本地测试法、分布测试法、远端测试法和协同测试法。由于篇幅限制,本文不介绍其他测试法的特点以及适用范围,只列出路由器测试中最常用到的远端测试法。
其中,控制观察点(PCO):通常由两个先入先出(FIFO)队列组成,其功能类似于一对输入输出端口,向队列一端发送命令,从同一队列的另一端接收应答信号;被测实体(IUT):Item Under Test;下测试器(LT):通过位于被测试实体下层的PCO与被测试层交互的测试系统称为下层测试系统。
三、测试分类
综合上文中的测试内容,路由器测试一般可以分成以下几类:功能测试、性能测试、稳定性可靠性测试、一致性测试、互操作性测试以及网管测试。
(一)功能测试
路由器功能通常可以划分为如下方面。
(1)接口功能:该功能用作将路由器连接到网络。可以分为局域网接口及广域网接口两种。局域网接口主要包括以太网、令牌环、令牌总线、FDDI等网络接口。广域网接口主要包括E1/T1、E3/T3、DS3、通用串行口(可转换成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE)等网络接口。(2)通信协议功能:该功能负责处理通信协议,可以包括TCP/IP、PPP、X.25、帧中继等协议。(3)数据包转发功能:该功能主要负责按照路由表内容在各端口(包括逻辑端口)间转发数据包并且改写链路层数据包头信息。(4)路由信息维护功能:该功能负责运行路由协议,维护路由表。路由协议可包括RIP、OSPF、BGP等协议。(5)管理控制功能:路由器管理控制功能包括五个功能,SNMP代理功能,Telnet服务器功能,本地管理、远端监控和RMON功能。通过多种不同的途径对路由器进行控制管理,并且允许纪录日志。(6)安全功能:用于完成数据包过滤,地址转换,访问控制,数据加密,防火墙,地址分配等功能。
路由器对上述功能并非必要完全实现。但是由于路由器作为网络设备,存在最小功能集,对最小功能集所规定的功能,路由器必须支持。因为绝大多数功能测试可以由接口测试、性能测试、协议一致性测试和网管测试所函盖,所以路由器功能测试一般可以只对其他测试无法涵盖的功能作验证性测试。路由器功能测试一般采用远端测试法。
(二)性能测试`
路由器是IP网络的核心设备,其性能的好坏直接影响IP网网络规模、网络稳定性以及网络可扩展性。由于IETF没有对路由器性能测试作专门规定,一般来说只能按照RFC2544( Benchmarking Methodology for Network Interconnect Devices)作测试。但路由器区别于一般简单的网络互连设备,在性能测试时还应该加上路由器特有的性能测试。例如路由表容量、路由协议收敛时间等指标。
路由器性能测试应当包括下列指标。
(1)吞吐量:测试路由器包转发的能力。通常指路由器在不丢包条件下每秒转发包的极限,一般可以采用二分法查找该极限点。(2)时延:测试路由器在吞吐量范围内从收到包到转发出该包的时间间隔。时延测试应当重复20次然后取其平均值。(3)丢包率:测试路由器在不同负荷下丢弃包占收到包的比例。不同负荷通常指从吞吐量测试到线速(线路上传输包的最高速率),步长一般使用线速的10%。(4)背靠背帧数:测试路由器在接收到以最小包间隔传输时不丢包条件下所能处理的最大包数。该测试实际考验路由器缓存能力,如果路由器具备线速能力(吞吐量=接口媒体线速),则该测试没有意义。(5)系统恢复时间:测试路由器在过载后恢复正常工作的时间。测试方法可以采用向路由器端口发送吞吐量110%和线速间的较小值,持续60秒后将速率下降到50%的时刻到最后一个丢包的时间间隔。如果路由器具备线速能力,则该测试没有意义。(6)系统复位:测试路由器从软件复位或关电重启到正常工作的时间间隔。正常工作指能以吞吐量转发数据。 在测试上述RFC2544中规定的指标时应当考虑下列因素。
帧格式:建议按照RFC2544所规定的帧格式测试;帧长:从最小帧长到MTU顺序递增,例如在以太网上采用64, 128, 256, 512, 1024, 1280, 1518字节;认证接收帧:排除收到的非测试帧,例如控制帧、路由更新帧等;广播帧:验证广播帧对路由器性能的影响,上述测试后在测试帧中夹杂1%广播帧再测试;管理帧:验证管理帧对路由器性能的影响,上述测试后在测试帧中夹杂每秒一个管理帧再测试;路由更新:路由更新即下一跳端口改变对性能的影响;过滤器:在设置过滤器条件下对路由器性能的影响,建议设置25个过滤条件测试;协议地址:测试路由器收到随机处于256个网络中的地址时对性能的影响;双向流量:测试路由器端口双向收发数据对性能的影响;多端口测试:考虑流量全连接分布或非全连接分布对性能的影响;多协议测试:考虑路由器同时处理多种协议对性能的影响;混合包长:除测试所建议的递增包长外,检查混合包长对路由器性能的影响,RFC2544除要求包含所有测试包长外没有对混合包长中各包长所占比例作规定。笔者建议按照实际网络中各包长的分布测试,例如在没有特殊应用要求时以太网接口上可采用60字节包50%,128字节包10%,256字节包15%,512字节包10%,1500字节包15%。 除上述RFC2544建议的测试项外还建议测试如下内容。
①路由震荡:路由震荡对路由器转发能力的影响。路由震荡程度即每秒更新路由的数量可以依据网络条件而定。路由更新协议可采用BGP。②路由表容量:测试路由表大小。骨干网路由器通常运行BGP,路由表包含全球路由。一般来说要求超过10万条路由,建议通过采用BGP输入导出路由计数来测试。③时钟同步:在包含相应端口例如POS口的路由器上测试内钟精度以及同步能力。④协议收敛时间:测试路由变化通知到全网所用时间。该指标虽然与路由器单机性能有关,但是一般只能在网络上测试,而且会因配置改变而变化。可以在网络配置完成后通过检查该指标来衡量全网性能。测试时间应当根据具体项目以及测试目标而定。一般认为测试时间应当介于60秒到300秒之间。另外一般可以根据用户要求和测试目标作设定选择。路由器性能测试一般可采用远端测试法。
(三)一致性测试
路由器一致性测试通常采用“黑箱”方法,被测试设备IUT叫做“黑箱”。测试系统通过控制观察点PCO与被测试设备接口。
不同的测试事件是通过不同的PCO来控制和观察的,按照其应答是否遵守规范,即定时关系和数据匹配限制,测试的结果可分为通过、失败、无结果3种。路由器是一种复杂的网络互连设备,需要在各个通信层上实现多种协议。例如相应的接口的物理层和链路层协议、IP/ICMP等互联网层协议、TCP/UDP等传输层协议、Telnet/SNMP等应用层协议以及RIP/OSPF/BGP等路由协议。
协议一致性测试应当包含路由器所实现的所有协议。由于该测试内容繁多测试复杂,在测试中可以选择重要的协议以及所关心的内容测试。由于骨干网上路有器可能影响全球路由,所以在路由器测试中应特别重视路由协议一致性测试例如OSPF和BGP协议。由于一致性测试只能选择有限测试例测试,一般无法涵盖协议所有内容。所以即使通过测试也无法保证设备完全实现协议所有内容,所以最好的办法是在现实环境中试运行。路由器一致性测试一般采用分布式测试法或远端测试法。
(四)互操作测试
由于通信协议、路由协议非常复杂且拥有众多选项,实现同一协议的路由器并不能保证互通互操作。并且因为一致性测试能力有限,即使通过协议一致性测试也未必能保证完全实现协议。所以有必要对设备进行互操作测试。
互操作测试实际上是将一致性测试中所用的仪表替换成需要与之互通互操作的设备,选择一些重要且典型的互连方式配置,观察两设备是否能按照预期正常工作。
(五)稳定性、可靠性测试
由于大多数路由器需要每天24小时,每周7天连续工作,作为Internet核心设备的骨干路由器的稳定性和可靠性尤其重要。所以用户需要了解露由器的稳定性和可靠性。
路由器的稳定性和可靠性很难测试。一般可以通过两种途径的到:(1)厂家通过关键部件的可靠性以及备份程度计算系统可靠性;(2)用户或厂家通过大量相同产品使用中的故障率统计产品稳定性和可靠性。当然,用户也可以通过在一定时间内对试运行结果的要求来在一定程度上保证路由器的可靠性与稳定性。
(六)网管测试
网管测试一般测试网管软件对网络以及网络上设备的管理能力。由于路由器是IP网的核心设备,所以必须测试路由器对网管的支持度。 如果路由器附带网管软件,可以通过使用所附带的网管软件来检查网管软件所实现的配置管理、安全管理、性能管理、计帐管理、故障管理、拓扑管理和视图管理等功能。如果路由器不附带网管软件,则应当测试路由器对SNMP协议实现的一致性以及对MIB实现的程度。由于路由器需要实现的MIB非常多,每个MIB都包含大量内容,很难对MIB实现完全测试。一般可以通过抽测重要的MIB项来检查路由器对MIB的实现情况。
另外,由于路由器设备非常复杂,可能采用的接口和协议多种多样,所以对路由器测试所采用的仪表以及仪表的配置必须根据测试内容以及路由器实际配置来决定。一般来说路由器测试所使用的仪表可分为性能测试仪表、协议测试仪表以及其他种类仪表。
(1)性能测试仪表主要测试IP包转发能力。最典型的有NetCom公司的SmartBit、安捷***司的Router Tester等。性能测试仪表有时也要求一些协议仿真能力,例如对BGP、OSPF的仿真。(2)协议测试仪表主要测试路由器对协议实现的一致性。主要有路由协议一致性测试仪表例如安捷***司的Router Tester等。其他协议例如TCP/IP、ATM、ISDN、SNMP等众多路由器实现的协议一致性测试所用仪表可使用各种专用或通用仪表。(3)其他仪表主要包括一些通用仪表,如示波器、万用表、率耗器、光功率计等。还有在测试仪表的选择中还应当考虑仪表的精度以及误差范围。综上所述路由器的测试是一项复杂但是非常重要的工作,对路有器的测试只有在研究测试方法的基础上结合具体测试情况,制定正确测试方案,选择合适的测试仪表,认真测试才能达到测试目的。
Cisco MDS 9509多层导向器交换机的高端口密度——每刀片32端口,多达224个光纤通道——不但能降低成本,提高利用率,还能节省数据中心的空间。事实上,思科工程组不但计划增加50台Cisco MDS 9216多层矩阵边缘交换机,还打算只用两台Cisco MDS 9509多层导向器交换机,而不是4~6台McDATA 6064交换机支持所有60台边缘交换机。
Angulo表示,MDS 9509多层导向器交换机的可扩展性还能保证最高的资源利用率。他说:“假设ERP环境的端口不够用,而工程环境的端口有富余,过去我们无法做到资源共享。但利用MDS 9509多层导向器交换机,我们只需将ERP主机插入空余端口,然后将其配置为ERP VSAN的一部分即可。”为加入VSAN,Cisco MDS 9509多层导向器交换机可以驻留在思科园区网城域网(MAN)的任何地方,包括不同的数据中心。
高可用性
自部署之日起,两台Cisco MDS 9509多层导向器交换机一直运行正常。其高可用性来自于冗余交换管理引擎、完全状态化交换管理引擎故障恢复、冗余连接、平滑的软件升级、单个流程重启和VSAN内的流程管理。在移植过程中,ClearCase主机的服务从未被中断,应用一直正常运行,这些都归功于Cisco MDS 9000系列多层交换机。Finley说:“移植第二个矩阵时,所有设备很快就进入了稳定状态。”
Finley指出,当公司从DAS环境向SAN环境转移时,Cisco MDS 9509多层导向器交换机的高可用性尤其重要。在DAS环境中,如果主机与存储之间的光纤通道连接被中断,一般只会影响一个业务部门的一组应用。相反,在SAN环境中,如果主机与存储之间的连接被中断,则会影响到整个数据中心的应用和业务部门。
VSAN
目前,思科工程SAN中的所有主机和存储都放置在同一个VSAN上,思科尚未充分利用VSAN功能。如果管理流量开始影响性能,思科可以在同一台交换机上建立多个VSAN,让每个VSAN都拥有自己的广播域。对于思科客户,在混合MDS-McDATA环境中利用VSAN的优点是,一个Cisco MDS 9509多层导向器交换机可以在互操作模式下支持某些VSAN,另一些VSAN则运行正常功能。这一点很重要,因为Cisco MDS 9509多层导向器交换机的某些特性不能在互操作模式下运行,例如使用汇聚I/O因而多条电缆看似一条的中继功能。对于McDATA交换机,则要么全部采用互操作模式,要么全部不采用这种模式。
经验和教训
Adam说:“制订切换计划非常重要,因为一旦出现问题,将会影响到很多主机。”例如,思科制订了光纤网络拓扑计划,以便逐台而不是同时更换两台核心交换机,这样,即使其中的一个矩阵出现问题,移植过程也能够顺利完成。
Finley强调说,对于互操作模式,必须检查McDATA域ID是否在允许的范围以内,以及Cisco MDS交换机与McDATA交换机之间是否存在分区冲突。另外,当Cisco MDS 9000系列多层交换机以互操作模式与其它厂商生产的主机一起运行时,只能使用这两种交换机功能的交集。很显然,Cisco MDS交换机中的高级VSAN和网络管理特性不能在互操作环境中使用。在2004年用Cisco MDS 9120多层矩阵边缘交换机更换了剩余的McDATA边缘交换机之后,思科获得了无限的VSAN功能、更高的可扩展性和卓越的网络管理功能。
后记
思科IT计划在更大规模中部署MDS系列交换机组建更大规模的SAN,包括更多的MDS9509和MDS 9120,使用VSAN,提高SAN的虚拟化。
