打通输入/输出瓶颈
由于厂商最初致力于数据中心的服务器虚拟化,每台服务器上的虚拟机数量保守估计也有四到六个,具体取决于运行的应用软件。后来管理员们发现,他们可以在每台服务器上安全地运行七种或更多的应用软件,占用服务器总处理能力的80%,这与未经过虚拟化处理的服务器其利用率平均只有5%至15%相比有了显著提高。
但是运行所有那些虚拟机给一个硬件的输入/输出处理能力带来了负担;本来就要处理进出网络的流量,更不用说处理从其他应用程序或后端数据库大批装入的数据了。过大的输入/输出流量会让服务器的通道不堪重负,从而导致等待数据过程中,待处理流量积压、CPU资源闲置。
解决办法就是采用服务器输入/输出虚拟化。也就是说,把通常固定、静态的输入/输出通道、主机总线适配器(HBA)和网卡转变成更加动态的资源,它们的处理能力可以根据虚拟服务器的需要进行相应调整。如果能实现输入/输出虚拟化,就有望解决服务器管理员们把虚拟化应用软件放到同一个硬件上时面临的一个长期问题。只有虚拟化输入/输出变得很普遍,才有必要对输入/输出要求特别高或不断变化的应用软件进行虚拟化处理,以免它们最终导致输入/输出受堵。
现在已经有了两种早期的解决办法,以后肯定会出现更多的办法。新兴公司Xsigo把输入/输出流量卸载到负责输入/输出虚拟化的专用附加设备上。这种方法需要把服务器上的标准HBA和网卡换成Xsigo定制卡,还要购买Xsigo附加设备。起价为3万美元。
Xsigo的附加设备最多可创建16个可用输入/输出通道,把存储流量送到光纤通道网络,或者把局域网流量送到以太网网络。它还能监测工作负荷,为最需要处理能力的虚拟机分配处理能力。输入/输出虚拟化有助于平衡虚拟机的工作负荷,让夜间生成大量输入/输出流量的应用软件可与只是偶尔遇到活动高峰的其他应用软件一同运行。
虚拟输入/输出设备方法还减少了数据中心的网络线缆,让IT管理员可以购买更小巧、更节能的服务器;这类服务器使用较少的网络端口以及较庞大的HBA和网卡。
Oracle公司前任总裁Ray Lane是Xsigo的投资者之一,他认为,输入/输出虚拟化使数据中心更加高效,还为虚拟机工作负荷平衡了输入/输出。Lane说:"不够灵活的架构导致了资源利用率低下,还浪费了宝贵的电力、空间和散热资源。"
另一个输入/输出虚拟化方法在标准的HBA或网卡里面实现,用不着采用附加设备。行业组织PCI-SIG已推出了单根输入/输出虚拟化(SR-IOV)标准,它可以对高速万兆以太网进行虚拟化处理,供将来的网卡和HBA使用。
非SR-IOV网卡将分配给服务器上的一个虚拟机或一组虚拟机,代表静态处理能力的固定资源,比方说1 Gbps。Neterion公司符合SR-IOV的X3100系列适配器可创建最多16个可用通道,可以根据需要动态分配给虚拟机。如果服务级别协议规定优先服务于某个虚拟机,这种功能甚至可以保证网卡的10Gpbs处理能力全部分配给它,而不是只能使用数量有限而且固定的处理能力。
Neterion公司的首席执行官Dave Zabrowski说:"对大型数据库备份而言,1 Gbps的功能再也不够了。我们正试图把所需的处理能力合并成一条管道。"不过在大多数情况下,这16个通道会同时服务于多个虚拟机。
Neterion公司万兆Xframe适配器的驱动程序已包含在VMware的ESX虚拟机管理程序中,让它可以在ESX创建的虚拟机和Neterion板卡之间分配流量。Neterion适配器用于美国富士通计算机产品公司、惠普、IBM和Sun等公司的服务器中。