Howard Marks:必须关注Virtual I/O

多核服务器让组织可以将20个或20个以上的生产服务器合并到一个虚拟服务器主机,从而节约空间、能源和人力资源。但是如何满足这些服务器的I/O带宽需求成为困扰许多数据中心的主要问题之一。

一些专家建议主机上的每个处理器核都使用GB级以太网连接以确保有足够的带宽,同时用专门的连接来应对管理和虚拟机迁移,用新的光纤通道或GB级以太网来处理存储。不过,这样做的结果就是导致数据中心出现大量的线缆和交换机端口。

领导厂商,包括光纤通道提供商,正在推动增强型10GB/秒以太网和以太网光纤通道(FCoE)成为解决这个问题的解决方案。10GB/秒以太网确实能够解决带宽问题,而FCoE融合网络适配器可以解决存储这边的问题。不过,FCoE和和数据中心桥接(IEEE对FCoE所要求的以太网增强的命名)的标准还未得到批准。

其他厂商在虚拟服务器I/O问题上则建议一些可以更具有成本经济性和灵活性的解决方案。这些系统可以创建多个虚拟感知的适配器(虚拟网络接口卡和虚拟主机总线适配器),并将这些适配器分配给虚拟机。在虚拟机从一个主机迁移到另一个主机的过程中,这些虚拟NIC(网络接口卡)和虚拟HBA(主机总线适配器)可以保持它们的MAC(媒介访问控制)地址或全局名称,从而一定程度上缓解虚拟机的网络安全性问题和分区问题。

虚拟化感知的I/O设备也支持QoS(服务质量),这意味着支持关键应用程序或延迟敏感型应用程序的NIC和HBA在共享同一物理连接的时候可以使用保留的带宽或者获得比普通浏览用户(比如浏览Facebook的用户)更高的优先级。

InfiniBand

InfiniBand厂商Voltaire和Mellanox所支持的InfiniBand是替代FCoE的一个解决方案。InfiniBand将服务器连接到InfiniBand交换机,并使用InfiniBand-到-以太网连接和光纤通道桥接来连接到数据中心的LAN(局域网)和SAN(存储局域网)资源。

InfiniBand最知名的用途是在顶级的高性能计算集群中利用它的高速性(可高达40GB/秒)、无损性和低延迟性。支持者称其为网络中的“瑞士军刀”,并称这种连接方案非常适合高性能计算中的远程直接内存访问(RDMA),适合IP传输,甚至还适用于应用程序中的存储连接。此外,即使比起10GB/秒以太网,InfiniBand解决方案也能够为虚拟机迁移等服务器-到-服务器I/O功能提供两倍到四倍的带宽。

Voltaire针对Grid Director 2004和2012交换机的10GB/秒以太网/InfiniBand线卡有两个10GB/秒以太网端口和22个10/20GB/秒InfiniBand端口。主机可以使用InfiniBand over IP驱动程序和InfiniBand交换机来提供2层网络的桥接,并将3层和4层网络路由至针对数据网络的以太网端口。至于存储访问,Voltaire有一个存储路由器。该存储路由器有2个10/20GB/秒InfiniBand端口和4个4GB/秒光纤通道端口。主机使用iSCSI(互联网小型计算机系统接口)或iSER(针对RDMA的iSCSI扩展)和存储路由器将iSCSI目标端映射至光纤通道逻辑单元号。

第一眼看上去,Mellanox的BridgeX的方式看起来非常像Voltaire的方式。BridgeX拥有一个桥接设备,该桥接设备拥有4个面向服务器的40GB/秒InfiniBand端口,还有16个面向网络和/或存储的8GB/秒光纤通道端口或12个10GB/秒以太网端口。Mellanox的ConnectX卡可扮演两种角色,因此每个端口都可以成为一个40GB/秒InfiniBand HBA(就像Voltaire的解决方案一样),或成为一个10GB/秒以太网端口。

BridgeX是一个无状态系统,在这个系统中,Mellanox网络和存储驱动程序将光纤通道协议(FCP)或以太网数据包封装在InfiniBand数据包内。在基于iSCSI的系统需要终止IP会话的时候,Mellanox就将IP从SCSI(小型计算机系统接口)数据中剥离出来,并重新封装进FCP,Bridge X所要做的只是剥离InfiniBand外层。

ConnectX也是一个10GB/秒卡,因此服务器可以利用Mellanox的FCoE存储驱动程序来连接到像思科Nexus 5000或Brocade 8000这样的FCoE交换机,或利用Mellanox的BridgeX来将FCoE传输送至光纤通道交换机。当使用这种方式的时候,BridgeX就模拟N端口到光纤通道交换机,看起来就像一系列光纤通道HBA一样。不过,和FCoE交换机不同,BridgeX并不提供命名服务或其他光纤架构服务。

尽管Xsigo使用的是InfiniBand,但是它的I/O Director并不是一个InfiniBand-到-以太网桥或光纤通道桥,而是在I/O Director内将InfiniBand作为连接媒介以连接到GB级或10GB/秒以太网以及光纤通道模块。主机系统连接到24个20GB/秒InfiniBand端口,但是不是使用iSER或其他InfiniBand驱动程序,而是使用针对以太网端口的以太网驱动程序。由于光纤通道模块使用的是QLogic芯片,因此QLogic的SANsurfer和光纤通道驱动程序还可以让管理员利用SAN管理工具来管理虚拟HBA。I/O Director有15个插槽,可用于双端口4GB/秒光纤通道、4端口GB级以太网和10GB/秒以太网模块。需要更高的服务器-到-I/O密度的组织可以在服务器和I/O Director之间使用InfiniBand交换机来将数百个服务器连接到一个I/O Director。

过去的历史已经证明,走和以太网相反的道路总是会失败——例如,Token Ring和ATM LAN——而所有三家将InfiniBand作为产品一部分的厂商都正在将10GB/秒以太网整合进它们的产品组合。Mellanox的路线图非常明确;Voltaire正在利用它在InfiniBand上的技能来开发多端口低延迟的10GB/秒交换机;而Xsigo已经暗示该公司未来的I/O Director将使用10GB/秒以太网而不是InfiniBand。

插槽设备

另一组厂商是由NextIO领头,再加上新进厂商Aprius和VirtenSys。这些厂商的产品可以将服务器的PCIe插槽通过一个交换机延伸到一个外置的包含新的PCIe插槽的I/O底盘。从概念上来说,这很像PCI SIG的多根-I/O虚拟化(MR-IOV)标准,但是这些系统不需要I/O卡支持MR-IOV,因此这些系统使用低成本的——大约200美元,低于融合网络适配器的1500美元——无状态PCIe扩展卡,从而使服务器无须修改I/O设备驱动程序。

基于PCIe的解决方案可以共享任何兼容单根-I/O虚拟化(SR-IOV)的卡,将虚拟接口当做虚拟设备分配到主机;不支持IOV的卡则被分配到一个单一的主机,这样视频、数据采集和其他专门的卡可以在多个主机间共享。

所有这三个厂商的I/O扩展底盘上都有供串行ATA或SAS/SATA驱动器使用的接口。用户可以创建一个共享的直连式存储池,将逻辑驱动器从底盘上的SR-IOV RAID(独立磁盘冗余阵列)控制器中分配给主机,从而使没有磁盘的服务器利用这些逻辑驱动器来进行启动或其他本地存储操作,这样的成本要低于从SAN启动。

虚拟I/O有可能给刀片服务器市场带来巨大影响。刀片服务器厂商已经开始结盟:IBM在它的BladeCenter HT中集成了NextIO的技术;戴尔代销Xsigo的I/O Director。

作为在FCoE成为主流前的临时解决方案,服务器与列尾FCoE交换机间的低成本合并点,或虚拟I/O,确实值得人们关注。另一方面,如果在采用这些新技术的同时没有取得主流厂商的支持,那么这种厂商的虚拟I/O系统有可能在1到3年内重蹈Token Ring的覆辙。