面向QoS的虚拟机网络带宽分配系统的制作方法

文档序号:7998861阅读:232来源:国知局
专利名称:面向QoS的虚拟机网络带宽分配系统的制作方法
技术领域
本发明属于计算系统虚拟化技术领域,具体涉及一种面向QoS的虚拟机网络带宽分配系统。
背景技术
随着计算机性能的不断提升,虚拟化技术受到越来越广泛的关注。在传统的计算机环境中,操作系统直接运行在物理硬件上,管理各种硬件资源。虚拟化技术的出现则实现了物理硬件和操作系统的完美分离,使得在一台物理机器上可以模拟出多个服务器,共享一个物理机器的硬件资源。如何为模拟出的虚拟机分配和管理好硬件资源,提高物理资源利用率的同时保证虚拟机中服务的QoS将是一个关键问题,尤其是网络带宽资源,对于服务器集群的实际应用意义重大。因为随着数据中心规模的不断扩大,服务应用种类的不断增多,虚拟机的网络带宽不能控制、不能按需动态分配将导致虚拟机网络带宽无法依据服务需求的不同进行必要的控制,相互的带宽竞争将使得服务的功用无法得到保障;虚拟机的网络带宽无法按需进行动态分配,服务在不同时间段所需的网络带宽不一样,严格限制网络带宽无法动态分配,会造成有限硬件资源的浪费。目前虚拟机的研究工作主要集中在如何虚拟出各种主要硬件资源,关于虚拟机网络带宽的动态分配方面的研究比较少。虚拟化平台Xen仅限于在虚拟机创建时,从配置文件读取一个带宽配置参数,并按照参数值静态地限制虚拟机运行时所能占用的最大网络带宽。该方法导致的问题有首先,虚拟机运行过程中服务所需的网络带宽,并非虚拟机创建时可以确定的,给定一个带宽配置参数,并按此限制虚拟机运行周期中的网络带宽,无法调整,这将严重丧失网络带宽管理的灵活性;其次,因为虚拟机和宿主机之间语义隔离,网络带宽分配无法感知虚拟机中服务对于网络带宽需求的变化,不能依据服务带宽需求动态分配带宽,服务的QoS无形中会受到很大的影响。

发明内容
本发明的目的在于提供一种面向QoS的虚拟机网络带宽分配系统,其在不影响虚拟机中网络服务正常连接的基础上,既能保证网络带宽管理的灵活性,又能针对各类服务保证公平性,保证服务的QoS,充分利用网络,减少可能的资源浪费。本发明是通过以下技术方案实现的—种面向QoS的虚拟机网络带宽分配系统,包括使用带宽监控模块、带宽分配方法管理模块以及驱动层带宽调节模块,使用带宽监控模块用于实时监控虚拟机的带宽使用值,整合带宽使用值,用可视化的图形显示控件对整合结果进行显示,并根据整合结果对图形显示控件进行更新,带宽分配方法管理模块用于根据图形显示控件的显示结果接收用户的带宽调节请求,根据带宽调节请求中的设备信息在宿主机上进行设备查找,根据设备查找的结果触发驱动层带宽调节模块执行带宽调节操作,从驱动层带宽调节模块接收带宽调节操作的状态信息,并将带宽调节操作的状态信息返回给用户,驱动层带宽调节模块用于响应带宽分配方法管理模块的触发,调用宿主机上后端设备的设备需要更新状态下的回调方法执行带宽调节操作,在带宽调节操作完成后恢复查找设备的状态,并将带宽调节操作的状态信息返回给带宽分配方法管理模块。使用带宽监控模块包括使用带宽收集子模块、使用带宽整合子模块以及网页前端显示子模块,使用带宽收集子模块用于根据设定的时间间隔,从proc文件系统中计算出当前的带宽使用值,将带宽使用值存储到在当前虚拟机的数据库中,以供使用带宽整合子模块提取,使用带宽整合子模块用于周期性地从宿主机上所有虚拟机的数据库中提取带宽使用值,将带宽使用值整合成网页前端显示子模块中的图形显示控件可识别的数据集,以供图形显示控件进行更新操作,网页前端显示子模块用于绘制可视化的带宽监控界面,从使用带宽整合子模块接收数据集,根据数据集对带宽监控界面进行实时更新。带宽分配方法管理模块包括交互子模块、设备查找更新子模块以及带宽调节触发子模块,交互子模块用于根据带宽监控界面上显示的结果,在宿主机的控制台上接收用户的带宽调节请求,解析出带宽调节请求中的虚拟机号、虚拟网络接口号以及新带宽值,将虚拟机号、虚拟网络接口号以及新带宽值传递给设备查找更新子模块,以执行设备查找,在设备查找出错的情况下,从设备查找更新子模块接收设备查找出错信息,并在设备查找成功的情况下从带宽调节触发子模块接收带宽调节操作的状态信息,设备查找更新子模块用于从交互子模块接收虚拟机号、虚拟网络接口号和新带宽值,根据虚拟机号和虚拟网络接口号在宿主机上进行查找,在查找失败的情况下将设备查找出错信息返回到交互子模块,并在查找成功的情况下对设备管理存储系统中、虚拟网络接口号对应的虚拟网络接口的带宽值进行更新,带宽调节触发子模块用于在设备查找更新子模块完成更新操作后,将宿主机上后端设备的状态从已连接状态修改为设备需要更新状态,触发驱动层带宽调节模块执行带宽调节操作,从驱动层带宽调节模块接收带宽调节操作的状态信息,并将带宽调节操作的状态信息返回给交互子模块。驱动层带宽调节模块包括带宽调节子模块和设备状态恢复子模块,带宽调节子模块用于响应带宽调节触发子模块的触发,调用设备需要更新状态下的回调方法,从设备管理存储系统读取更新的带宽值,将更新的带宽值写入宿主机的后端驱动中,以完成带宽调节操作,设备状态恢复子模块用于在带宽调节子模块的带宽调节操作完成后,将设备的状态从设备需要更新状态修改为已连接状态,并将带宽调节操作的状态信息返回给带宽调节触发子模块。本发明面向QoS的虚拟机网络带宽分配系统具有以下的优点(1)网络带宽管理的简单性传统的网关机带宽分配方案,需要特别的网关机以及网关机带宽分配方法的支持,属于额外的资源需求,同时网关机的多队列管理,使得网络管理变得复杂,而本发明,在网络的端上,按需限制服务器上虚拟机的网络能力,简化了网
络管理;(2)网络带宽管理的高效性传统的网关机带宽分配方案,属于一种集中式的网络带宽分配方法,在管理方法变得复杂的同时,网关机作为单点瓶颈,高负荷运行,带宽分配方法的效率无法得到保障。而本发明,将网络带宽的分配工作分摊到网络的端上,提高了效率;
(3)带宽调节对服务的透明性带宽调节的目的是为了限制虚拟机的网络能力, 公平分配网络带宽,而非中断正常的网络服务,所以带宽调节的过程必须保证原有网络服务的正常连接。本发明,通过在虚拟化方案的网络驱动层添加网络带宽调节操作,新设置设备状态,可以做到带宽的无缝调节,做到带宽调节对服务透明。


图1为本发明面向QoS的虚拟机网络带宽分配系统的示意框图。
具体实施例方式下面结合附图对本发明作进一步详细的说明。以下首先对本发明中的一些技术术语进行解释和定义虚拟机的后端设备虚拟化平台Xen的驱动模型设计中,位于宿主机上,起类似代理功能,连接特权操作系统上物理设备和非特权操作系统中前端设备的设备。设备管理存储系统是虚拟化平台提供的一个类似于数据库的文件系统,其用于记录各个虚拟化域的配置和状态等共享信息。本发明面向QoS的虚拟机网络带宽分配系统,服务器上有一个宿主机和N台虚拟机,1。其中只有宿主机具有管理和访问物理网络的权限,其它虚拟机中的网卡各对应宿主机上的一个虚拟网络接口,它们通过网桥的方式与宿主机进行数据帧的交互,再由宿主机统一实现物理网络的访问。如图1所示,本发明面向QoS的虚拟机网络带宽分配系统包括使用带宽监控模块 1、带宽分配方法管理模块2以及驱动层带宽调节模块3。使用带宽监控模块1用于实时监控虚拟机的带宽使用值,整合带宽使用值,用可视化的图形显示控件对整合结果进行显示,并根据整合结果对图形显示控件进行更新。使用带宽监控模块1是为用户了解虚拟机网络带宽使用情况以及为用户做出带宽调节决策提供依据。带宽分配方法管理模块2用于根据图形显示控件的显示结果接收用户的带宽调节请求,根据带宽调节请求中的设备信息在宿主机上进行设备查找,根据设备查找的结果触发驱动层带宽调节模块3执行带宽调节操作,从驱动层带宽调节模块3接收带宽调节操作的状态信息,并将带宽调节操作的状态信息返回给用户。驱动层带宽调节模块3用于在虚拟化平台的驱动层,响应带宽分配方法管理模块 2的触发,调用宿主机上后端设备的设备需要更新状态下的回调方法执行带宽调节操作,在带宽调节操作完成后恢复查找设备的状态,以保证设备在其原有生命周期中正常的状态变化,并将带宽调节操作的状态信息返回给带宽分配方法管理模块2。使用带宽监控模块1包括使用带宽收集子模块11、使用带宽整合子模块12和网页前端显示子模块13。其中使用带宽收集子模块11位于各虚拟机内部,使用带宽整合子模块 12和网页前端显示子模块13位于宿主机上。使用带宽收集子模块11包括一个使用带宽监控守护进程,用于根据设定的时间间隔,从proc文件系统中计算出当前的带宽使用值,将带宽使用值存储到在当前虚拟机的数据库中,以供使用带宽整合子模块12提取。
使用带宽整合子模块12用于周期性地从当前宿主机上所有虚拟机的数据库中提取当前带宽使用值,将虚拟机的虚拟机号和带宽使用值进行组合,组合成虚拟机号为键、带宽使用值为值的键值数据对,对所有的数据对进行整合,整合成网页前端显示子模块13中图形显示控件可识别的轻量级数据交换格式数据集合,以供图形显示控件进行更新操作。网页前端显示子模块13用于绘制可视化的带宽监控界面,接收使用带宽整合子模块12的轻量级数据交换格式数据集合,并根据轻量级数据交换格式数据集合完成图形显示控件的实时更新。使用带宽监控模块1的信息流向使用带宽收集子模块11在各虚拟机内部,实时计算各虚拟机的带宽使用值,在各虚拟机的数据库中进行存储;使用带宽整合子模块12, 周期性地从当前宿主机上所有虚拟机的数据库中提取当前带宽使用值,虚拟机号和带宽使用值组合后进行整合,整合成网页前端显示子模块13中图形显示控件可识别的数据集,并传递给网页前端显示子模块13 ;网页前端显示子模块13,绘制客户化的带宽监控界面,接收使用带宽整合子模块12整合的数据集,完成图形显示控件的实时更新。带宽分配方法管理模块2是整个系统的枢纽,发挥着连接使用带宽监控模块和驱动层带宽调节模块的作用,包括交互子模块21、设备查找更新子模块22以及带宽调节触发子模块23,这三个模块均位于虚拟化平台的管理层。交互子模块21用于在虚拟化平台Xen的工具模块中添加控制台带宽调节调用命令,接收用户的带宽调节请求,解析带宽调节请求中的虚拟机号、虚拟网络接口号以及新带宽值,将它们传递给设备查找更新子模块22。本子模块还需从设备查找更新子模块22和带宽调节触发子模块23接收带宽调节的状态信息,将该状态信息返回给控制台,提示用户系统内部执行带宽调节的操作结果。设备查找更新子模块22用于接收交互子模块21发送来的虚拟机号、虚拟网络接口号和新带宽值,根据虚拟机号、虚拟网络接口号依次在宿主机上进行设备查找是否存在对应的虚拟机,以及对应的虚拟机的设备中是否存在对应的虚拟网络接口,在设备查找失败的情况下,返回交互子模块21出错信息,终止带宽调节操作,并在设备查找成功的情况下,用新带宽值对设备管理存储系统中该设备的带宽值进行更新。带宽调节触发子模块23用于在新带宽值成功写入设备管理存储系统中后,将宿主机上后端设备的状态从已连接状态修改为设备需要更新的状态,即可以触发驱动层的带宽调节操作。带宽调节触发子模块23还用于接收驱动层带宽调节的状态信息,并将该状态信息返回给交互子模块21。带宽分配方法管理模块2的信息流向分为两个方向用户接收到系统提示的方向,具体为交互子模块21接收设备查找更新子模块22 和带宽调节触发子模块23发送来的带宽调节操作的状态信息,将带宽调节操作的状态信息输出到控制台,提示用户系统内部执行带宽调节请求的操作结果;用户发出命令以供系统执行的方向,具体为交互子模块21具有接收用户控制台带宽调节请求的功能,请求统一接收后,解析带宽调节请求中的虚拟机号、虚拟网络接口号以及新带宽值,将虚拟机号、虚拟网络接口号以及新带宽值传递给设备查找更新子模块22, 设备查找更新子模块22根据虚拟机号、虚拟网络接口号查找设备成功的基础上,在设备管理存储系统中更新带宽值。更新的带宽值成功写入设备管理存储系统中后,带宽调节触发子模块23修改宿主机上后端设备的状态,并触发驱动层的带宽调节操作。驱动层带宽调节模块3是整个系统实现面向QoS虚拟机网络带宽动态分配的核心部分,其工作主要是基于以下两个原理(1)虚拟化平台前后端驱动模型下,前后端设备的状态监控机制前后端驱动模型下,前端驱动和后端驱动各有一个监控程序,监控的是对方的设备状态,即前端监控程序监控后端设备的状态,后端监控程序监控前端设备的状态。(2)虚拟化平台前后端驱动模型下,完备的设备参数更新交互流程前端驱动位于虚拟机内部,后端驱动位于宿主机上,各自只能修改自己的设备参数和状态,同时,前后端设备的状态监控机制基础上,一方设备状态的变化只能触发对方驱动执行相应的操作。在虚拟机创建成功后,前后端设备的状态均处于已连接状态,带宽调节触发子模块23,修改宿主机上后端设备的状态,从设备已连接状态到设备需要更新的状态,即可以触发驱动层的带宽调节操作。驱动层带宽调节模块3包括带宽调节子模块31和设备状态恢复子模块32,这两个模块均位于虚拟化平台的驱动层。带宽调节子模块31,用于响应带宽调节触发子模块23的触发,调用设备需要更新状态下的回调方法,从设备管理存储系统读取更新的带宽值,将更新的带宽值写入宿主机的后端驱动中,以完成带宽调节操作。设备状态恢复子模块32用于在带宽调节子模块31的带宽调节操作完成后,将设备的状态从设备需要更新状态修改为已连接状态,并将带宽调节操作的状态信息返回给带宽调节触发子模块23。实例为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,用各自部署了一个网络服务的三个虚拟机进行实验。服务器装载Xen虚拟机平台,三个虚拟机分别安装了 FTP文件下载服务,视频流媒体服务,Apache Web站点服务,详细实验环境配置如下表1所示。表1实验配置环境
配置\服务器虚拟机1虚拟机2虚拟机3CPU双路八核单核单核单核内存4G512MB512MB512MB网络lGB/slGB/slGB/slGB/s服务-FTP视频流媒体Web站点IP地址192.168.226.88192.168.226.214192.168.226.215192.168.226.216 在三个虚拟机中部署的使用带宽收集子模块11,在宿主机上部署的使用带宽整合模块12和网页前端显示子模块13,在虚拟化平台的管理层部署的带宽分配方法管理模块 2,在虚拟机平台的驱动层部署的驱动层带宽调节模块3。 同时访问三个虚拟机中的网络服务,使用带宽监控模块1监控各虚拟机带宽的使用情况,绘制可视化的带宽监控界面,并实时更新。用户根据QoS需求输入带宽调节请求, 带宽分配方法管理模块2接收用户带宽调节请求,解析带宽调节请求中的虚拟机号、虚拟网络接口号和新带宽值,在宿主机上根据虚拟机号、虚拟网络接口号进行设备查找,查找成功的情况下,将新带宽值写入设备管理存储系统中,修改后端设备的状态,触发驱动层执行带宽调节操作。驱动层带宽调节模块3,监测到设备状态的变化,在后端驱动中调用回调方法,从设备管理存储系统中读取新带宽值,写入后端驱动中,完成带宽调节操作,最后,恢复设备的状态并将带宽调节的状态信息返回给用户。
权利要求
1.一种面向QoS的虚拟机网络带宽分配系统,包括使用带宽监控模块(1)、带宽分配方法管理模块O)以及驱动层带宽调节模块(3),其特征在于所述使用带宽监控模块(1)用于实时监控虚拟机的带宽使用值,整合所述带宽使用值,用可视化的图形显示控件对整合结果进行显示,并根据整合结果对所述图形显示控件进行更新;所述带宽分配方法管理模块( 用于根据所述图形显示控件的显示结果接收用户的带宽调节请求,根据所述带宽调节请求中的设备信息在宿主机上进行设备查找,根据设备查找的结果触发所述驱动层带宽调节模块C3)执行带宽调节操作,从所述驱动层带宽调节模块(3)接收所述带宽调节操作的状态信息,并将所述带宽调节操作的状态信息返回给所述用户;所述驱动层带宽调节模块C3)用于响应所述带宽分配方法管理模块O)的触发,调用所述宿主机上后端设备的设备需要更新状态下的回调方法执行所述带宽调节操作,在带宽调节操作完成后恢复所述查找设备的状态,并将所述带宽调节操作的状态信息返回给所述带宽分配方法管理模块(2)。
2.根据权利要求1所述的虚拟机网络带宽分配系统,其特征在于所述使用带宽监控模块(1)包括使用带宽收集子模块(11)、使用带宽整合子模块(12) 以及网页前端显示子模块(13);所述使用带宽收集子模块(11)用于根据设定的时间间隔,从Proc文件系统中计算出当前的带宽使用值,将所述带宽使用值存储到在当前虚拟机的数据库中,以供所述使用带宽整合子模块(1 提取;所述使用带宽整合子模块(1 用于周期性地从所述宿主机上所有虚拟机的数据库中提取所述带宽使用值,将所述带宽使用值整合成所述网页前端显示子模块(1 中的图形显示控件可识别的数据集,以供所述图形显示控件进行更新操作;所述网页前端显示子模块(1 用于绘制可视化的带宽监控界面,从所述使用带宽整合子模块(1 接收所述数据集,根据所述数据集对所述带宽监控界面进行实时更新。
3.根据权利要求1所述的虚拟机网络带宽分配系统,其特征在于所述带宽分配方法管理模块( 包括交互子模块、设备查找更新子模块0 以及带宽调节触发子模块03);所述交互子模块用于根据所述带宽监控界面上显示的结果,在所述宿主机的控制台上接收所述用户的带宽调节请求,解析出所述带宽调节请求中的虚拟机号、虚拟网络接口号以及新带宽值,将所述虚拟机号、所述虚拟网络接口号以及所述新带宽值传递给所述设备查找更新子模块0 ,以执行设备查找,在设备查找出错的情况下,从所述设备查找更新子模块0 接收设备查找出错信息,并在设备查找成功的情况下从所述带宽调节触发子模块03)接收带宽调节操作的状态信息;所述设备查找更新子模块0 用于从所述交互子模块接收所述虚拟机号、所述虚拟网络接口号和所述新带宽值,根据所述虚拟机号和所述虚拟网络接口号在所述宿主机上进行查找,在查找失败的情况下将设备查找出错信息返回到所述交互子模块(21),并在查找成功的情况下对设备管理存储系统中、所述虚拟网络接口号对应的虚拟网络接口的带宽值进行更新;所述带宽调节触发子模块用于在所述设备查找更新子模块0 完成更新操作后,将所述宿主机上后端设备的状态从已连接状态修改为设备需要更新状态,触发所述驱动层带宽调节模块C3)执行带宽调节操作,从所述驱动层带宽调节模块C3)接收带宽调节操作的状态信息,并将所述带宽调节操作的状态信息返回给所述交互子模块(31)。
4.根据权利要求3所述的虚拟机网络带宽分配系统,其特征在于 所述驱动层带宽调节模块C3)包括带宽调节子模块(31)和设备状态恢复子模块 (32);所述带宽调节子模块(31)用于响应所述带宽调节触发子模块的触发,调用所述设备需要更新状态下的回调方法,从所述设备管理存储系统读取更新的带宽值,将所述更新的带宽值写入所述宿主机的后端驱动中,以完成带宽调节操作;所述设备状态恢复子模块(3 用于在所述带宽调节子模块(31)的带宽调节操作完成后,将所述设备的状态从设备需要更新状态修改为已连接状态,并将所述带宽调节操作的状态信息返回给所述带宽调节触发子模块03)。
全文摘要
本发明公开了一种面向QoS的虚拟机网络带宽分配系统,包括使用带宽监控模块、带宽分配方法管理模块以及驱动层带宽调节模块,使用带宽监控模块用于实时监控虚拟机的带宽使用值,整合带宽使用值,并根据整合结果对图形显示控件进行更新,带宽分配方法管理模块用于根据图形显示控件的显示结果接收用户的带宽调节请求,根据带宽调节请求在宿主机上进行设备查找,根据设备查找的结果触发驱动层带宽调节模块执行带宽调节操作,驱动层带宽调节模块用于响应带宽分配方法管理模块的触发,调用宿主机上后端设备的设备需要更新状态下的回调方法执行带宽调节操作。本发明动态地分配虚拟机的网络带宽,提高了服务的QoS,保证了虚拟化环境下带宽资源的合理利用。
文档编号H04L12/56GK102523204SQ20111039649
公开日2012年6月27日 申请日期2011年12月2日 优先权日2011年12月2日
发明者吴松, 周江福, 张剑寅, 石宣化, 金海 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1