Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239773
  • 博文数量: 144
  • 博客积分: 5473
  • 博客等级: 大校
  • 技术积分: 2645
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-23 17:30
文章分类

全部博文(144)

文章存档

2012年(144)

我的朋友

分类:

2012-06-11 11:23:46

 数据中心的全面虚拟化成为一种趋势,无论是存储网络还是IP网络,其发展目标都必须适应这一潮流,因此虚拟(Virtual I/O)技术便有了广阔的应用前景。虚拟I/O是一种网络连接技术,既可以用在主机端,也可以在存储网络端实现,当然这两种模式还可以一起使用,贯穿整个基础架构环境。在不同的应用模式之间虚拟I/O的定义会稍有差异。下文中我们会就此展开分析,看看这两种模式之间的差异以及它们二者是如何协同工作的。
  今天,(主机)所使用的处理器与4、5年前截然不同。过去,一台服务器上只需要运行一个应用程序,因此这台服务器上所有的I/O处理能力可以被单个应用程序所独享。但今天,在虚拟化的数据中心里,主机上的网卡和HBA卡是被多个虚拟机所共享的。在传统的服务器平台体系结构中,网卡和HBA卡这两种I/O适配器是相互独立的,但现在,伴随着iSCSI、NAS和FCoE等技术的发展,网卡和HBA卡有逐渐统一的趋势,或者叫融合。
  混合时代已经来临
  在虚拟化和网络融合的环境中,虚拟机之间要竞争I/O资源,I/O适配器也必须处理多种类型的网络I/O流量和存储I/O流量。问题看起来很好解决,我们只需要配置高性能、高带宽的10 Gbps以太网卡、10 Gbps FCoE卡、以及8 Gbps或16 Gbps的光纤通道卡,就能让主机端更好地处理虚拟机的I/O请求。但事实上更大的挑战在于,如何确保主机能够将合适的带宽资源在合适的时间分配给需要它的虚拟机。
    当那些关键的以及对性能有较高要求的应用系统虚拟化之后,I/O资源就不能再简单的共享,并在虚拟机之间平均分配了。某些虚拟机需要更高的服务级别保证,需要独享固定的带宽。另一方面,轮询机制会造成频繁的系统中断,对CPU的利用率产生负面影响。因此,确保I/O请求的及时响应,已成为重要应用程序能否成功迁移到虚拟化环境的关键因素。
  服务器虚拟化应用如今已发展到第三个阶段。在最初的时期,通常只有测试和开发系统才使用虚拟机;后来,人们开始在虚拟机上部署一些优先级较低的系统和负载较轻的应用。因此在前两个阶段,通过简单的轮询、将I/O资源平均分配给每个虚拟机的机制是可行的。但进入到第三阶段,当关键应用和复杂应用开始部署到服务器虚拟化平台之后,如何将合适的带宽资源在合适的时间分配给需要它的虚拟机就显得越发重要。
  有一个方法可以让关键业务拥有充足的I/O资源,即为每个虚拟机都配置一个网卡或HBA卡,并将运行关键业务的虚拟机与该接口卡绑定。这样工作是没问题,但这种方法既不经济,可能也没有足够的物理空间,而且,如果采用这个方案,那么每台主机上运行的虚拟机的数量也会受到限制。
  另一个可用的方案是为主机准备足够的,甚至是超出需求的可用存储和网络带宽,以便主机能够有充足的I/O资源处理请求,并满足其上运行的每个虚拟机的性能要求。但这种方法也不是非常划算,因为大部分虚拟机并非每时每刻都需要较高I/O性能。此外,Hypervisor通常使用循环的排队策略来分配共享的可用的带宽,因此这种方法也需要频繁的系统中断操作,效率方面也有损失。
  基于网络适配器的虚拟I/O技术
  网络适配器层的I/O虚拟化技术主要由Brocade、Emulex和QLogic等几家公司提供,他们都可以提供支持虚拟I/O功能的高速网络适配器产品。虽然这种适配器仍然要被多个虚拟机所共享,但它仍然能够保证运行关键业务的虚拟机有较高的服务级别。比如说,一个支持虚拟I/O功能的10GigE物理网络适配器既可以划分成多个虚拟网络适配器,也可以为指定的虚拟机群组按百分比分配固定的带宽。
  在以上场景中,单块10 GigE的物理网卡可以分成10个1GigE的虚拟网卡并灵活使用。比如,一个虚拟网卡专门用于虚拟机的迁移;另外几个指定分配给那些特殊的虚拟机,以便保证关键应用的性能水平;而其余的虚拟网卡则纳入资源池,供其它的虚拟机共享使用。
  因为所有的I/O虚拟化工作都由硬件适配器处理,因此主机端hypervisor虚拟化管理软件层的负担相当小,主机可以回收大量的CPU资源。换句话说,CPU的内核不需要为管理I/O共享而进行频繁的中断操作。这种虚拟I/O技术,不仅自身可以支持更大密度的虚拟机数量,而节约的CPU处理能力也可以用来运行更多的虚拟机。
  基于网络适配器的虚拟I/O技术的另一个特性是可以在网卡上创建一个虚拟交换机。这个技术非常有价值,尤其是在服务器虚拟化环境中,它可以极大地降低出入服务器的网络流量。现在,虚拟可以识别本地流量,并将这些流量限制在物理主机的内部。这个功能不但可以为主机内部的虚拟机提升性能,而且还可以提高整个网络环境的效率。
  最后要说的是,那些支持I/O虚拟化的网络适配器还可以虚拟所用存储协议的类型。例如,有些卡同时支持FC、FCoE、10Gbps以太网和iSCSI协议,那么用户就能够在不中断服务器或虚拟机运行的前提下随时变更端口的用途。今天,有些适配器还需要reboot才能变更配置,这种情况未来肯定会得到改变。
阅读(293) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~