[发明专利]一种单节点同时运行不同类型虚拟机的方法及系统有效
申请号: | 201410080648.4 | 申请日: | 2014-03-06 |
公开(公告)号: | CN103870314B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 张章;王旻;汤学海;周薇;韩冀中;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 同时 运行 不同类型 虚拟机 方法 系统 | ||
技术领域
本发明涉及计算机虚拟化领域,尤其涉及一种单节点上同时运行不同类型虚拟机的方法及系统。
背景技术
近年来,随着计算资源种类日益增加、规模不断扩大、计算能力不断加大以及应用需求日渐多样化的背景下,新型的计算模式迫在眉睫。面对这些场景以及需求,虚拟化技术渐渐复兴。虚拟化是一个相对广义的术语,在本文指的虚拟化技术更多涉及的是服务器虚拟化,其本质是将一个物理机资源虚拟出不同的资源组合,即将物理机的资源划分成虚拟机提供给用户使用的技术。这些虚拟机上面可以安装其他客户操作系统。
虚拟化可以帮助提高系统资源的利用率,实现动态、弹性的运行系统架构。目前,云计算大行其道,而云计算平台的基石即为虚拟化技术。正是由于虚拟化技术的重要性,目前涌现出了多种比较成熟的虚拟化技术。目前主流的虚拟化技术主要可以分为三类:全虚化技术KVM,半虚拟化技术Xen以及轻量级虚拟化技术LXC。
在目前的云计算中心中,半虚拟化技术Xen由于其要求修改运行于其上的操作系统,因此,其流行和使用程度在大幅下降。现在使用最多虚拟化技术是全虚拟化KVM和轻量级虚拟化技术LXC,而且它们是目前唯一进入Linux内核主线的虚拟化技术,但是它们使用不同的“语言”描述与控制资源,这个也就造成了它们机制的不兼容。当它们在同一个服务器上运行的时候,并不能在整体上为这两种虚拟化技术分配并限制合适的资源。在有不同虚拟化技术需求的时候,通常会要求在一个物理机上运行一种虚拟化技术,并使用另外的服务器使用其他的虚拟化技术,但是在这种情况下,不同种虚拟化技 术不能同时运行在单个物理节点上,造成了极大的资源浪费,资源利用率比较低。
另外,目前很多云平台的应用对于I/O带宽资源管理也提出了需求。比如现在的很多编程模型应用,对于网络I/O带宽的无管制的竞争会影响其任务执行的速度,也影响了云平台整体的可用性,这就对网络I/O资源的隔离性和独占性提出了实际的需求,但现有技术中没有关于I/O宽带资源控制的技术。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种单节点上同时运行不同类型虚拟机的方法及系统,实现但节点上不同类型虚拟机的共存及合理分配资源,同时可实现多维度、细粒度的资源管理及控制。
本发明解决上述技术问题的技术方案如下:一种单节点同时运行不同类型虚拟机的方法,包括如下步骤:
步骤101:单个物理节点接收任务请求,并解析任务请求中包含的对运行虚拟机的资源需求;
步骤102:判断任务请求中要求的虚拟机类型,如果是轻量级虚拟机,则直接执行步骤103;如果是全虚拟机,则执行步骤104;
步骤103:将资源需求中的第一类资源需求传递给底层cgroup框架,cgroup框架根据第一类资源需求直接建立并启动轻量级虚拟机,执行步骤105;
步骤104:将资源需求中的第一类资源需求传递给底层cgroup框架,cgroup框架根据第一类资源需求创建一个容器,在容器中建立所需的全虚拟机;
步骤105:利用网桥技术框架将建立的轻量级虚拟机或全虚拟机接入局域网;
步骤106:将资源需求中的第二类资源需求传递给网桥技术框架,根据第二类资源需求及TBF令牌桶过滤器技术进行网络I/O控制。
本发明的有益效果是:多种虚拟机可以同时运行在同一物理机上;所有虚拟机的CPU资源、内存资源和I/O磁盘资源可以正确的被分配使用;可以同时满足用户对于不同操作系统运行环境的要求以及对于性能的要求;可以限制不同种虚拟机的网络I/O资源;对于底层不同虚拟化技术透明,即虚拟化技术不用作任何的修改;操作系统性能开销小,资源利用率高;本发明使得不同种虚拟机可以共享一台物理机的资源,并提供给用户一种简单、透明、统一使用虚拟机的接口,提高了资源利用率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述资源需求信息包括第一类资源需求和第二类资源需求,所述第一类资源需求包括CPU参数、内存参数、磁盘I/O参数,所述第二类资源需求包括网络I/O参数。
进一步,将第一类资源需求中的CPU参数传递给底层cgroup框架之前,需将CPU参数转换成cgroup框架可识别的参数类型。
进一步,将资源需求中的CPU参数转换成cgroup框架可识别的参数类型的具体实现为:
步骤201:预先为每个物理节点设定CPU比例因子k,其用于表示CPU映射比例份额;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410080648.4/2.html,转载请声明来源钻瓜专利网。