扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
摘要:以PowerEdge R720和R720xd为代表的戴尔第12代服务器的网络配置很灵活,包括可更换的网卡设计,以及10GbE网卡的虚拟化能力。在SR-IOV所获的支持还不够广泛的现状下,Broadcom 57800支持的NPAR更具实用性。本文剖析了Broadcom 57800的NPAR能力,并从配置、识别和应用的角度进行了较为全面的展示。
戴尔第12代(12G)PowerEdge服务器在网卡上的灵活性主要体现在两方面:一是可更换的网卡设计,戴尔精选网络模块(Select Network Adapter,SNA)家族提供了多种选择,且还在不断增加中;二是万兆以太网(10GbE)模块至少支持NPAR技术,可以将一个万兆以太网端口拆分成最多四个,减少服务器上连接的线缆数量,简化数据中心的网络布线。
Broadcom 57800S机架聚合式网络子卡的SFP+版本,具有2个RJ-45接口(千兆以太网)和2个采用SFP+模块的万兆以太网端口
以上两点,本次测试的PowerEdge R720和R720xd所配备的Broadcom 57800 SFP+版本,有不同程度的体现,但以后者为主。
Broadcom 57800:光纤or铜缆?
严格来说,PowerEdge R720和R720xd没有传统意义上的“板载”网卡(LAN on Motherboard,LOM),代之以灵活的LOM卡选项——即便是基本的千兆网络,也要通过定制的机架网络子卡(network daughter card,NDC)实现。换句话说,如果不配任何网络子卡,R720和R720xd就没有网络连接能力(焊死在主板上的iDRAC7芯片和网口只用于远程管理)。
5月中旬发布的第二波12G服务器如PowerEdge R820,可选的SNA比3月初PowerEdge R720/R720xd发布时多了Broadcom 57800的铜缆版本(红色方框中右侧的10GBase-T),还可以看到Broadcom 57800与Intel X540在功能上的区别(例如前者支持NPAR和iSCSI,后者支持SR-IOV)
网络子卡虽然比前代或某些友商的同平台产品焊死在主板上的方式更为灵活,但本质上仍然是LOM方案的延伸,而Intel与Broadcom(博通)是服务器LOM市场上的两强。因此,在第一波12G服务器发布的时候,PowerEdge R720/720xd可选的4种网络模块中,Intel与Broadcom各占了半壁江山。每家的2款网络模块,又都是基本的千兆(4×1GbE)与千兆/万兆混合(2×1GbE + 2×10GbE)各一款的搭配。
Broadcom 57800网络子卡的MAC控制器Broadcom 57800S使用热管技术帮助散热,可见功耗不低;右下方裸露的2颗芯片是10/100/1000Base-T收发器BCM54616S,提供2个RJ-45接口,上方自然是2个万兆以太网的SFP+模块插槽
在支持万兆的网络模块中,Intel的X-540采用兼容性更好、利于普及的10GBase-T(RJ-45接口,六类线),但是由于产能等原因,戴尔向CBSi企业解决方案送测PowerEdge R720和R720xd时,只能选择Broadcom 57800的SFP+版本。
Broadcom 57800支持SFP+和RJ-45两种接口,SFP+版本先行一步,但是SFP+模块(如图左下方)和光纤的成本,以及与RJ-45的互通不便都决定了其“先烈”的气质
为了配合测试,戴尔公司提供了旗下Force10品牌的S4810 48端口万兆交换机。正如SFP+模块和光纤成为之前阻碍万兆以太网普及的因素之一,我们在测试中也遇到了类似的困难。虽然戴尔随PowerEdge R720和R720xd提供了4个SFP+模块,但这台S4810的配置状况比我们2月测试时拿到的Extreme Summit X670-48x-FB 48端口万兆交换机好点有限——只多了一根带SFP+模块的光纤而已,依然难以展开更复杂的应用测试。重复之前做过的事情显然没有什么意义,本次测试的重点放在了万兆以太网卡的NPAR技术上。
安装了2个Dell SFP+模块的Force10 S4810万兆交换机,还有一根带SFP+模块的光纤
SR-IOV与NPAR:Broadcom的困惑
与千兆以太网相比,万兆以太网不仅仅是带宽提高了一个数量级,更重要的是提高了这么多的带宽可以用来干什么。至强E5-2600的出现进一步提高了主流服务器的处理能力,像PowerEdge R720/720xd最大支持768GB的DDR3内存,两款送测机器也分别配置了128GB和64GB的内存,虚拟化(服务器/桌面)显然是主要的目标市场之一。服务器的容量大了,承载的虚拟机多了,网络出口也必然要加宽,10GbE便能派上用场。
不过仅仅是更宽的通道,也不符合虚拟化的精神。为了更好的配合服务器虚拟化,网络也要具备虚拟化能力,以更灵活地满足虚拟机的要求。因此,支持SR-IOV(Single-Root I/O Virtualization,单根I/O虚拟化)已成为万兆以太网卡的努力方向。SR-IOV允许多个客户操作系统同时访问一个I/O设备,而不必依赖软件(管理程序),但是还没能获得足够多的操作系统支持。
在这种情况下,网卡厂商推出了SR-IOV的折中方案——独立于交换机的网卡分区(NIC Partitioning,NPAR)。NPAR允许用户将单一的物理以太网端口分为四个分区或虚拟端口,这些分区或端口能够在融合环境中的任一虚拟端口上运行TCP/IP、以太网光纤通道(FCoE)或iSCSI。NPAR能够为客户带来当前的效益,并为将来的SR-IOV部署提供了无缝对接路径。
换句话说,NPAR具有SR-IOV的部分功能,可以把一个物理网卡端口拆分成最多4个虚拟端口,优点是获得了所有主要操作系统的支持。在操作系统看来,NPAR分出的每一个虚拟端口都与物理端口无异。这样一来,一个双端口的10GbE网卡,就可以当作8端口的网卡来使用,并且每一个端口的带宽可以在1-10Gb/s之间“随意”划分,大大减少服务器所连接的网线数量,灵活性也明显提升。
Broadcom 57800文档,清楚写着(NPAR)可将一个10GbE端口拆分成4个虚拟端口并灵活的分配带宽
在PowerEdge R720/R720xd的精选网络模块中,Intel X540的10GbE端口是支持SR-IOV的(但不支持NPAR),Broadcom 57800则明确注明“不支持”。不过,在Broadcom提供的文档中,Broadcom 57800是“SR-IOV ready”……这个Ready怎讲就不重要了,至少我们可以确定,Broadcom 57800支持NPAR。
Broadcom 57800网卡的每个10Gb端口只能划成2个分区,而不是标称的“最多4个”
但是,在PowerEdge R720和R720xd的网卡设置界面中,却只能看到分区1和2的选项,而没有“传说中的”4个分区。再看戴尔官方网站上对Broadcom 57800的介绍,确实是分为两个分区:
每个10GbE端口分为2个分区,Broadcom 57800的两个10GbE端口共可分为4个分区
当然,NPAR本质上还是一种软件功能,每端口最多4个分区,属于可选项,提供2个分区也是可以的,这取决于戴尔的策略。根据我们的了解,戴尔希望精选网络模块之间有足够的差异化,即使10GbE也要有功能上的不同,譬如Intel X540支持SR-IOV而不支持NPAR,Broadcom 57800的NPAR支持2个分区,4个分区的功能由后续的QLogic网卡模块来提供。结合之前与Intel X540的简单对比,可以感觉到在12G服务器的万兆网卡中,Broadcom 57800的定位应该是“入门级”……
实战NPAR之一:网卡设置
从体验NPAR功能的角度,2个分区和4个分区没有太大区别,关键是要看能否成功“欺骗”操作系统和交换机。也就是说,虚拟出来的端口,能否像物理端口一样被识别和正常工作。
首先,在网卡的设置界面里,可以看到4个物理端口,2个10GbE在前,重要的是留心下后面的MAC地址
在VMware ESXi 5.0操作系统的网络适配器界面中显示的4个物理端口(排列顺序与设置界面相同),MAC地址当然也没变化
需要补充说明的是,VMware标准的ESXi 5.0(如build 441354/469512)推出时间较早,不识别Broadcom 57800。戴尔官网提供为PowerEdge R720xd定制的ESXi 5.0(build 504890,如上图)安装包,可以免除安装驱动程序的麻烦
进入10GbE物理端口的设置菜单,可以看到默认的虚拟化模式为“Forced SF”
将虚拟化模式改为“NPAR”,可以看到上面多出两个子菜单:网卡分区配置(①)和设备配置(②),重点在前者
网卡分区配置菜单中,首先可以设置全局带宽分配,两个分区的相对带宽权重之和为100,每个分区的最大带宽为100(均为百分比)
关于全局带宽分配的说明信息,亮点在于虽然分区已经减为2个,但谈到“all”的时候还是“4个分区”(红线处)
每个分区的配置情况,可选项只有两个:是否启用以太网协议和iSCSI卸载引擎。iSCSI的MAC地址为网络MAC地址“+1”
实战NPAR之二:OS识别
固件级别的设置完成,让我们进入操作系统看看效果如何。首先是VMware ESXi 5.0:
ESXi 5.0操作系统的网络适配器界面中增加了2个NIC(每个10GbE端口通过NPAR拆分出来一个),MAC地址在2个GbE端口之后递增
vSphere Client中可以看到PowerEdge R720的总共6个NIC分组排列,2个10GbE物理端口划分出来的4个虚拟端口都显示为10GbE“多功能”,但连接速率是按照之前我们设定的20:80的比率划分,分别为2000Mb/s和8000Mb/s
出于接下来的VSA(见下页)应用测试的需要,我们将PowerEdge R720xd上的网卡顺序重新调整为GbE端口在前
各种查看表明,NPAR拆分出来的虚拟端口,其状态在ESXi 5.0中与物理端口无异——除了2Gb/s和8Gb/s这样非标准网卡速率的信息。接下来再看Windows Server 2008 R2 SP1在安装Broadcom网卡驱动程序之后的表现:
Windows设备管理器中“网络适配器”一栏显示的6个NIC,与ESXi 5.0一致;“存储控制器”中每个虚拟端口还作为一个iSCSI适配器出现,但在ESXi 5.0中也是可以添加的
从Broadcom 57800的文档来看,Broadcom宣称其支持完全的iSCSI和FCoE硬件卸载,以及SAN上的FCoE引导,是“FCoE-ready”,但戴尔的资料里却明确声明Broadcom 57800“不支持”FCoE,考虑到Intel X540也被打上同样的“标签”,预计FCoE的硬件支持要靠QLogic的CNA(融合网络适配器)模块来实现。不过,Broadcom 57800对iSCSI的支持是实实在在的,也是相对于Intel X540的一个优势所在。
10GbE端口的iSCSI适配器驱动程序信息,可以看到iSCSI MAC地址,有兴趣的话可以核对上页的分区配置信息
当然,无论NPAR如何能成功地“欺骗”操作系统,Broadcom自己的管理工具还是可以识别出来的:
Broadcom高级控制套件4(BACS4)可以显示每一个物理端口和虚拟端口的准确信息,包括网卡分区信息如虚拟端口的带宽比重和最大带宽(红色方框内)
实战NPAR之三:VSA应用
光识别不行,还得在实际应用中检验下,才能知道NPAR拆分出来的虚拟端口是否像物理端口一样好用。我们选择了VMware的vSphere Storage Appliance(VSA,vSphere存储设备)作为一种应用场景来进行测试。
VSA(左)1.0能够将多至3台ESXi主机中的本地存储整合为一个虚拟的共享存储设备,省去传统虚拟化环境(右)对共享存储硬件(磁盘阵列)的需求
大 家知道,在VMware vSphere的虚拟化环境中,必须有共享的存储空间才能做虚拟机的vMotion等操作,因此SAN和NAS这样的外部网络存储设备是必不可少的。但是 对于小型企业,特别是中国的小型企业来说,专业的存储设备比服务器贵得多。而随vSphere 5.0推出的VSA 1.0,则可以将2或3台ESXi主机内部的本地硬盘,通过每台ESXi主机上运行的VSA虚拟设备和vCenter Server的集中管理,整合为在VSA集群内共享的虚拟存储设备(实质为NFS卷),供虚拟机使用。
2个ESXi节点组成的VSA集群,vCenter Server运行VSA管理器和VSA集群服务,将双方的本地存储资源汇聚成统一管理的存储池,且保存对方的数据卷副本,以免数据丢失
听起来VSA能节省购买购买存储设备的开支,但也对服务器(ESXi主机)自身的存储与网络能力提出了一定的要求。虽然VSA本身是为存储服务的,但存储毕竟不是本文的重点,我们主要是通过VSA的网络配置来检验NPAR的效果。
VSA要求ESXi主机有4个可用的网卡端口,分别用于连接前端网络和后端网络(VSA内部通信和数据流量),并提供冗余
4 个网卡端口的要求看似不高,PowerEdge R720和R720xd正好可以满足,但是一则由于前面所说的SFP+模块数量有限,每台R720/R720xd只有一个10GbE物理端口可以连接,加 上2个GbE端口,也才3个,不敷使用;二则VSA这一个应用就把全部的网卡端口都占用了,也太浪费。因此,把这个可用的10GbE物理端口,通过 NPAR拆分成2个虚拟端口,正好凑齐4个可用端口,且还留有2个虚拟端口可满足其他用途。当然,如果没有限制Broadcom 57800的NPAR能力,而是可以把一个10GbE物理端口拆分成4个虚拟端口,每台R720/R720xd上就可以有10个网卡端口供调遣,总带宽 22Gb/s,完全胜过增购多个千兆网卡的方案。
通过vCenter Server上安装的VSA Manager插件,启动VSA Installer,安装一个新的VSA集群
VSA Installer向导将在VSA集群里的主机上安装并配置vSphere vMotion和HA(高可用)
选择VSA集群所在的“数据中心”,可以看到我们选择的数据中心有3台主机
选中PowerEdge R720xd(4.11)和R720(4.12)各一台,另有一台R720(4.13)运行vCenter Server——用于安装VSA集群的ESXi主机上不能有虚拟机存在
配置网络,包括VSA管理网络和ESXi主机上的相关IP地址,我们通过重排网卡顺序,将NPAR出来的2个虚拟端口用于后端网络
可以选择在第一次访问时格式化“磁盘”或立刻格式化,原有的数据将被摧毁
开始配置VSA集群,在我们的测试中,用了约半小时的时间,还算蛮快的
VSA 集群配置完成,右侧窗格中可以查看VSA提供的共享存储空间(Datastore)、虚拟设备和拓扑图,而左侧的VSA HA集群中也添了2个VSA虚拟设备(虚拟机VSA-0和VSA-1),分别运行在PowerEdge R720和R720xd(ESXi主机)上
VSA集群中ESXi主机上的网络配置,可以看到2个虚拟端口用于后端网络(VSA-Back End)
实验证明,NPAR拆分出的虚拟端口工作良好。但是受限于物理环境的不完善,我们没有对利用VSA对每个虚拟端口的带宽性能进行测试,以后会尽快补上这一课。