CN103645957B - 一种虚拟机资源管控方法及装置 - Google Patents

一种虚拟机资源管控方法及装置 Download PDF

Info

Publication number
CN103645957B
CN103645957B CN201310729287.7A CN201310729287A CN103645957B CN 103645957 B CN103645957 B CN 103645957B CN 201310729287 A CN201310729287 A CN 201310729287A CN 103645957 B CN103645957 B CN 103645957B
Authority
CN
China
Prior art keywords
virtual machine
resource
control
parameter value
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310729287.7A
Other languages
English (en)
Other versions
CN103645957A (zh
Inventor
刘宇航
王帅
周星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201310729287.7A priority Critical patent/CN103645957B/zh
Publication of CN103645957A publication Critical patent/CN103645957A/zh
Application granted granted Critical
Publication of CN103645957B publication Critical patent/CN103645957B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种虚拟机资源管控方法,应用于采用不同虚拟化技术的多个虚拟机共存的平台,包括:通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值,解析资源管控请求得到目标虚拟机信息以及资源配置参数值,根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型,采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,实现了降低资源管控操作复杂度,及时有效对虚拟机进行资源管控的目的。另外,本发明还公开了一种虚拟机资源管控装置。

Description

一种虚拟机资源管控方法及装置
技术领域
本发明涉及虚拟机领域,特别涉及一种虚拟机资源管控方法及装置。
背景技术
目前,流行的虚拟化技术有Xen虚拟化技术、KVM虚拟化技术、以及LXC虚拟化技术等。由于不同的虚拟化技术具有不同的特点,因此,很多时候需要采用不同虚拟化技术的多个虚拟机共存于同一平台。而为了使共存于同一平台的多个虚拟机能够充分利用宿主机的资源,就需要对虚拟机占用宿主机资源的进行管控。
目前,通常由管理员通过虚拟机监控程序对虚拟机占用宿主机的资源进行控制。但是,虚拟机监控程序对不同虚拟化技术实现的虚拟机所支持的资源控制方式是不同的。因此,在不同虚拟化技术的多个虚拟机共存于同一平台时,即使针对一种管控需求,也需要管理员分别使用不同的资源控制方式分别对不同类型的虚拟机进行资源管控,导致资源管控操作复杂、失误时有发生。因此,现有技术无法使管理员对虚拟机资源进行及时有效的管控。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种虚拟机资源管控方法及装置以降低资源管控操作的复杂度,从而可以对虚拟机资源进行及时有效的管控的目的。
为了解决以上技术问题,本发明实施例采取的技术方案是:
第一方面,本发明实施例提供了一种虚拟机资源管控方法,应用于采用不同虚拟化技术的多个虚拟机共存的平台,所述方法包括:
通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
第二方面,本发明实施例提供了一种虚拟机资源管控装置,应用于采用不同虚拟化技术的多个虚拟机共存的平台,所述装置包括:
接收单元,用于通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
解析单元,用于解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
类型检测单元,用于根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
配置更细单元,用于采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
可见本发明具有如下有益效果:
由于本发明实施例在接收资源管控请求时,通过统一的接口接收对不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,因此,发出资源管控请求的一方无需关心哪种虚拟化技术的虚拟机所支持的资源控制方式是什么,只需调用参数要求相同的统一接口发出与资源管控需要对应的资源管控请求即可,简化了资源管控操作的复杂度,并且,由于不同虚拟化技术的虚拟机能够支持的资源控制方式不同,因此,本发明实施例在解析资源管控请求得到目标虚拟机信息以及资源配置参数值,根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型之后,采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,从而实现了降低资源管控操作的复杂度,对虚拟机资源进行及时有效的管控的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟机资源管控方法的流程示意图之一;
图2是本发明实施例提供的一种虚拟机资源管控方法的流程示意图之二;
图3是本发明实施例提供的一种虚拟机资源管控方法的流程示意图之三;
图4是本发明实施例提供的一种虚拟机资源管控装置的结构示意图之一;
图5是本发明实施例提供的一种虚拟机资源管控装置的结构示意图之二。
具体实施方式
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明实施例可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。
本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明实施例可以应用于不同虚拟化技术的多个虚拟机共存的平台,用于对平台中的虚拟机进行资源管控。其中,平台中的虚拟机的具体虚拟化技术的类型不限,例如,可以是Xen虚拟机,KVM虚拟机,或者LXC虚拟机等等。
例如,参见图1,示出了本发明实施例提供的一种虚拟机资源管控方法流程示意图之一。如图所示,该实施例可以包括:
S110、通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
其中,一种统一的接口可以用于接收不同虚拟化技术的多个虚拟机的一种资源管控请求,根据实施需要,可以根据不同的管控请求设置不同的统一的接口,当然,在某些可能的情形下,也可以为不同的管控请求设置统一的接口,在本发明中并不进行限制。
其中,本实施例所述的资源管控请求可以是与不同的资源管控需要分别对应的各种资源管控请求。例如:资源管控请求可以是CPU资源管控请求,Memory(内存)资源管控请求,DISK I/O(磁盘输入输出)资源管控请求,Network I/O(网络输入输出)资源管控请求等等,在本发明中并不进行限制。
更具体地,例如,对于CPU资源管控请求来说,通过统一接口接收的CPU资源管控请求可以是“set_cpu_set()”(设置与CPU绑定的虚拟机的请求)、“set_cpu_share()”(设置与CPU绑定的各虚拟机所占权重的请求)等。
需要说明的是,所述目标虚拟机信息可以是目标虚拟机名称等任何用于标识目标虚拟机的虚拟机信息。所述资源配置参数可以是与该资源管控请求相关资源被管控后应达到的资源范围,例如,CPU资源管控请求携带的资源配置参数可以是“vm_name”(虚拟机名称参数)、“cpu_num”(CPU数量参数)、“cpushare”(权重参数)、“is_live”(设置是否实时生效参数)。
S120、解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
在本发明实施例中,所述解析资源管控请求的具体实现例如可以为,根据资源管控请求的格式模板对资源管控请求进行解析。当然,也可以依据现有技术已有的其他实现方式,在本发明中并不进行限制。
S130、根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
例如,可以利用目标虚拟机名称、或者其他任何用于标识目标虚拟机的信息进行虚拟机类型检测确定目标虚拟机的虚拟化技术类型。
具体地,例如,在创建虚拟机时,虚拟机的名称或者其他用于标识虚拟机的信息可以与其具体采用的虚拟计划技术类型对应的添加在虚拟机的管理文件中,进而,在收到资源管控请求后,可以利用目标虚拟机名称、或者其他任何用于标识目标虚拟机的信息到相关的管理文件中进行匹配以确定虚拟化技术类型。再例如,如果目标虚拟机名称中包含虚拟化技术类型的信息,则可以直接根据目标虚拟机名称确定虚拟化技术类型。或者,还可以有其他根据目标虚拟机信息确定目标虚拟机的虚拟化技术类型的具体实现方式,在本发明中并不进行限制。
S140、采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
需要说明的是,目标虚拟机可以是一个虚拟机,也可以是多个相同虚拟化技术类型或者不同虚拟化技术类型的虚拟机。可以先按照虚拟化技术类型对目标虚拟机进行分类,再分别对每个虚拟化技术类型的目标虚拟机,采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
其中,所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,具体可以通过执行一段自动生成的资源管控命令实现,例如:该资源管控命令具体可以利用预先为目标虚拟机的虚拟化技术类型设置的与资源管控请求对应的命令生成器生成,其中,命令生成器具体用于将资源配置参数值作为待生成的命令的输入参数,生成能够在所针对的虚拟化技术类型的虚拟机中运行的、对资源管控请求实际要管控的资源进行资源管控的命令。例如,预先设置命令生成器的具体实现可以为:针对每个虚拟化技术类型,设置与资源管控请求对应的命令格式模板,并提供将资源配置参数添加到命令格式模板相应位置的功能模块。当然,还可以有其他实现方式,在本发明中并不进行限制。
另外,在采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中之后,还可以根据资源配置更新的情况返回需要的管控结果,例如,可以是管控命令自动返回的是否配置成功等结果,如果不同管控命令返回的结果的格式不同,也可以在统一为标准格式后返回。
可见,应用本发明实施例,由于本发明实施例在接收资源管控请求时,通过统一的接口接收对不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,因此,对于发出资源管控请求的一方来说,对多个虚拟机中任一目标虚拟机的资源管控请求的调用接口相同,无需关心各个虚拟化技术类型的区别,可以以相同的命令发出对多个虚拟机中任一目标虚拟机的资源管控请求,并且,本发明实施例采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,因此,本发明实施例相当于对异构的操作进行了同构的处理,上层调用与各个虚拟化技术类型各自的管控方式无关,降低了资源管控请求的复杂度。
在图1所示实施例的基础上,针对虚拟机动态修改资源配置的需要,本发明实施例可以在虚拟机运行过程中对虚拟机占用宿主机资源进行管控。具体地,参见图2,本发明实施例提供的一种虚拟机资源管控方法流程示意图之二。如图所示,该实施例可以包括:
S210、通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
S220、解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
S230、根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
S240、在所述目标虚拟机运行过程中,采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
在图1或图2所示实施例的基础上,下面结合几种具体的资源管控请求、虚拟化技术类型,对本发明实施例的具体实现进行详细介绍。例如,在本发明实施例中所述不同虚拟化技术类型的多个虚拟机可以至少包括Xen虚拟机、KVM虚拟机以及LXC虚拟机中的任意两种类型的虚拟机;所述资源管控请求可以包括以下任一种或多种:CPU资源管控请求、Memory(内存)资源管控请求、DISK I/O(磁盘输入输出)资源管控请求、或者Network I/O(网络输入输出)资源管控请求。优选地,本发明实施例所述不同虚拟化技术类型的多个虚拟机可以包括Xen虚拟机、KVM虚拟机以及LXC虚拟机三种,资源管控请求可以包括CPU资源管控请求、Memory(内存)资源管控请求、DISK I/O(磁盘输入输出)资源管控请求、或者Network I/O(网络输入输出)资源管控请求这四种,从而可以针对常见的几种主流虚拟化技术类型的虚拟机的资源进行全面有效的管控。
在本发明实施例中Xen、KVM以及LXC三种虚拟机设置的资源控制方式可以有以下几种,例如:
Xen虚拟机的CPU、内存资源、KVM虚拟机的内存资源可以使用现有的虚拟机监控程序提供的API(应用)进行控制;
Xen虚拟机的Disk I/O(磁盘输入输出)资源可以使用dm-ioband工具进行控制,当然,根据实施需要,也可以对dm-ioband工具进行适当修改;
LXC虚拟机的CPU、内存、Disk I/O、Network I/O资源、KVM虚拟机的CPU、Disk I/O、Network I/O资源可以使用宿主机上运行的Linux内核提供的Cgroup的子系统进行控制;
Xen虚拟机、KVM虚拟机、LXC虚拟机的Network I/O资源可以使用宿主机上运行的Linux内核提供的TC(Traffic control,流量控制)命令进行控制。
下面,对本发明实施例优选的资源控制方式进行详细介绍。例如:
(一)对于所述资源管控请求为CPU资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与CPU资源管控请求对应的资源控制方式可以为:将资源配置参数值作为应用domain.setVCPUCount()(设置虚拟机使用的虚拟cpu数量的应用)的输入参数,调用所述应用domain.set VCPUCount(),其中,所述应用domain.set VCPUCount()为所述目标虚拟机的宿主机上运行的xend提供的应用;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的CPU资源管控请求对应的资源控制方式可以为:将资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare,其中,所述子系统cpuset和cpushare为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
需要说明的是,由于需要使用Cgroup对目标虚拟机进行资源控制,因此,可以在启动目标虚拟机进程时就将目标虚拟机加入到Cgroup中,从而可以使用Cgroup进行资源控制。例如,使用Cgroup的子系统cpuset和cpushare进行资源控制,可以对CPU可用资源和使用优先级进行定义等。
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的CPU资源管控请求对应的资源控制方式可以为:将所述资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare。
具体地,例如,可以利用预先分别为Xen虚拟机、KVM虚拟机、LXC虚拟机设置的与CPU资源管控请求对应的命令生成器,生成命令例如:
“‘xm vcpu-set参数1参数2”(xm为xen的操作命令,命令语义为:设置虚拟机编号为由参数1确定的虚拟机绑定由参数2确定的cpu);
“virsh setvcpus参数3参数4”(virsh为libvirt的执行命令,命令语义为:设置虚拟机编号为由参数3确定的虚拟机绑定由参数4确定的cpu);
“lxc-cgroup-n name cpuset.cpus0-2”(lxc-cgroup是对lxc配置文件进行设定的命令,-n name为虚拟机容器的名称参数,cpuset.cpus为lxc虚拟机容器的设置值名称,0-2为设置可使用0-2的vcpu)。
通过执行所生成的命令,实现采用上述资源控制方式将资源配置参数值更新到目标虚拟机的资源配置中。
(二)对于所述资源管控请求为Memory(内存)资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为应用dom ain.set Memory Target()的输入参数,调用所述应用dom ain.set Memory Target(),其中,所述应用domain.set Memory Target()为目标虚拟机的宿主机上运行的xend提供的应用;
需要说明的是,对内存的资源配置是有限制的,一般在创建虚拟机时,通常配置为最大可用内存,在虚拟机运行过程中进行内存资源更新时,应大于目标虚拟机的最小内存量,否则,将会引起系统的异常或宕机。
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为通过console端口修改虚拟机占用内存资源的KVM命令的输入参数,调用所述通过console端口修改虚拟机占用内存资源的KVM命令;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为KVM虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将所述资源配置参数值写入目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的memory.limit_in_bytes文件中;
具体地,例如,可以利用预先分别为Xen虚拟机、KVM虚拟机、LXC虚拟机设置的与Memory(内存)资源管控请求对应的命令生成器,生成命令例如:
“xm mem-set guest参数5”(xm为xen的命令,mem-set为设置的分类为设置内存guest为虚拟机,参数5为设置的内存大小);
“balloon参数5”(此处执行的命令需要在kvm的monitor中执行,balloon为设置内存大小的命令,命令语义为设置kvm虚拟机的内存大小为参数5);
“lxc-cgroup-n name memory.limit_in_bytes参数6”(lxc-cgroup是对lxc配置文件进行设定的命令,-n name为虚拟机容器的名称参数,memory.limit_in_bytes为lxc虚拟机容器的设置值名称,参数6为设置的最大使用内存值)。
通过执行所生成的命令实现采用上述资源控制方式将资源配置参数值更新到目标虚拟机的资源配置中。
(三)对于所述资源管控请求为DISK I/O资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值作为dm-ioband工具中修改虚拟机占用DISK I/O资源的命令的输入参数,调用所述dm-ioband工具中修改虚拟机占用DISK I/O资源的命令;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值写入子系统blkio的文件中,其中,所述子系统blkio为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
例如,所述DISK I/O资源管控请求携带的资源配置参数值可以是目标虚拟机的IO权重设置或目标虚拟机各个磁盘的读写上限等。
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值写入子系统blkio的文件中。
具体地,例如,可以利用预先分别为Xen虚拟机、KVM虚拟机、LXC虚拟机设置的与DISK I/O资源管控请求对应的命令生成器,生成命令例如:
“echo"0$(blockdev--getsize/dev/sda1)ioband/dev/sda1100none weight0:80"|dmsetup create ioband1”(此处是对ioband的配置文件进行更改,并使其生效,设定为其磁盘读写的权重值);
“lxc-cgroup-n name blkio.throttle.read_iops_device参数7”(lxc-cgroup是对lxc配置文件进行设定的命令,-n name为虚拟机容器的名称参数,blkio.throttle.read_iops_device为lxc虚拟机容器的设置值名称,参数7为设置的blkio.throttle.read_iops_device的值);
“lxc-cgroup-n name blkio.throttle.read_iops_device参数7”(语义同上)。
通过执行所生成的命令实现采用上述资源控制方式将资源配置参数值更新到目标虚拟机的资源配置中。
(四)对于所述资源管控请求为Network I/O(网络输入输出)资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令,其中,所述TC命令为目标虚拟机的宿主机上运行的Linux内核提供的命令;
需要说明的是,在使用TC命令对Xen虚拟机进行网络流量的控制时,可以使用ipfilter的方式对IP进行流量控制,由于每个虚拟机具有唯一的IP,因此,可以对目标虚拟机进行单独的网络流量控制。
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令;
需要说明的是,在使用TC命令对KVM虚拟机或LXC虚拟机进行网络流量的控制时,可以使用Cgroup系统和TC命令协作实现,具体地,在创建KVM虚拟机或LXC虚拟机时,可以使用Cgroup对KVM虚拟机或LXC虚拟机的网络设置一个class_id,进而在虚拟机运行过程中,可以使用TC命令对class_id进行网络流量的控制,例如可以设置最大的可用带宽。
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将所述资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令。
具体地,例如,可以利用预先分别为Xen虚拟机、KVM虚拟机、LXC虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的命令生成器,生成命令例如:
“tc class add dev eth0parent1:1classid1:10htb rate参数8”(tc是对网络流量进行控制的命令,class是指对ip或虚拟机流量进行的分组,此处表明是对分组产生作用,此命令的语义是将eth0网卡添加到父class是1:1,子class1:10中,并设定速率为参数8)。
通过执行所生成的命令实现采用上述资源控制方式将资源配置参数值更新到目标虚拟机的资源配置中。
在本发明实施例一种可能的实现方式中,可以根据各个虚拟机在宿主机上的运行状态对虚拟机可使用的资源进行动态的调整,具体地,例如,参见图3所示的虚拟机资源管控方法的流程示意图之三,如图所示,该实施例可以包括:
S300、预先为所述目标虚拟机设置至少两种运行状态分别对应的资源管控请求以及资源配置参数值,所述资源配置参数值与对应的运行状态下的目标虚拟机的资源管控需要相适应;
S301、当所述目标虚拟机开始以第一运行状态运行时,将所述第一运行状态对应的资源配置参数值、以及所述目标虚拟机的信息携带在该第一运行状态对应的资源管控请求中,生成所述资源管控请求;
例如,在生成所述资源管控请求之后,可以调用所述的统一的接口,发出资源管控请求,进行资源配置的更新。
S310、通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
S320、解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
S330、根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
S340、采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
在本发明实施例中,考虑到不同类型的多个虚拟机共存的平台中,不同的虚拟机所承担的计算任务不同,因此,可以为承担不同任务的虚拟机,根据任务执行时段的需要,动态对其占用的资源进行调整,提高虚拟机运行效率以及资源利用率。例如,一些承担访问计算的虚拟机主要用于接收用户的访问并承担与访问有关的计算,其在白天的计算量较大,晚上的计算量较小、一些承担统计计算的虚拟机主要用于进行访问量的相关统计管理的计算,可以在晚上进行相关计算。因此,可以为虚拟机设置白天运行状态和晚上运行状态,其中,承担访问计算的虚拟机的白天运行状态可以对应设置要求占用资源范围较大的资源管控请求,晚上运行状态可以对应设置要求占用资源范围较小的资源管控请求,而承担统计计算的虚拟机按照相反的原则设置资源管控请求,从而可以在白天将大部分资源让给承担访问的虚拟机,提高虚拟机运行效率以及资源利用率。
与上述本发明实施例提供的方法相对应的,本发明实施例还提供了一种虚拟机资源管控装置,可以应用于采用不同虚拟化技术的多个虚拟机共存的平台。参见图4,示出了一种虚拟机资源管控装置的结构示意图之一,如图所示,该装置可以包括:
接收单元410,可以用于通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
其中,所述统一的接口可以用于接收一种资源管控请求,也可以用于接收多种资源管控请求,在本发明中并不进行限制。
其中,所述资源管控请求可以是与不同的资源管控需要分别对应的各种资源管控请求。例如:资源管控请求可以是CPU资源管控请求,Memory(内存)资源管控请求,DISK I/O(磁盘输入输出)资源管控请求,Network I/O(网络输入输出)资源管控请求等等,在本发明中并不进行限制。
解析单元420,可以用于解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
在本发明实施例中,所述解析资源管控请求的具体实现例如可以为,根据资源管控请求的格式模板对资源管控请求进行解析。当然,也可以依据现有技术已有的其他实现方式,在本发明中并不进行限制。
类型检测单元430,可以用于根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
例如,可以利用目标虚拟机名称、或者其他任何用于标识目标虚拟机的信息进行虚拟机类型检测确定目标虚拟机的虚拟化技术类型。
具体地,例如,在创建虚拟机时,虚拟机的名称或者其他用于标识虚拟机的信息可以与其具体采用的虚拟计划技术类型对应的添加在虚拟机的管理文件中,进而,在收到资源管控请求后,可以利用目标虚拟机名称、或者其他任何用于标识目标虚拟机的信息到相关的管理文件中进行匹配以确定虚拟化技术类型。再例如,如果目标虚拟机名称中包含虚拟化技术类型的信息,则可以直接根据目标虚拟机名称确定虚拟化技术类型。或者,还可以有其他根据目标虚拟机信息确定目标虚拟机的虚拟化技术类型的具体实现方式,在本发明中并不进行限制。
配置更新单元440,可以用于采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
需要说明的是,目标虚拟机可以是一个虚拟机,也可以是多个相同虚拟化技术类型或者不同虚拟化技术类型的虚拟机。可以先按照虚拟化技术类型对目标虚拟机进行分类,再分别对每个虚拟化技术类型的目标虚拟机,采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
其中,所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,具体可以通过执行一段自动生成的资源管控命令实现,例如:该资源管控命令具体可以利用预先为目标虚拟机的虚拟化技术类型设置的与资源管控请求对应的命令生成器生成,其中,命令生成器具体用于将资源配置参数值作为待生成的命令的输入参数,生成能够在所针对的虚拟化技术类型的虚拟机中运行的、对资源管控请求实际要管控的资源进行资源管控的命令。例如,预先设置命令生成器的具体实现可以为:针对每个虚拟化技术类型,设置与资源管控请求对应的命令格式模板,并提供将资源配置参数添加到命令格式模板相应位置的功能模块。当然,还可以有其他实现方式,在本发明中并不进行限制。
可见,应用本发明实施例,由于接收单元410在接收资源管控请求时,通过统一的接口接收对不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,因此,对于发出资源管控请求的一方来说,对多个虚拟机中任一目标虚拟机的资源管控请求的调用接口相同,无需关心各个虚拟化技术类型的区别,可以以相同的命令发出对多个虚拟机中任一目标虚拟机的资源管控请求,并且,配置更新单元440采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中,因此,本发明实施例相当于对异构的操作进行了同构的处理,上层调用与各个虚拟化技术类型各自的管控方式无关,降低了资源管控请求的复杂度。
下面结合几种具体的资源管控请求、虚拟化技术类型,对本发明实施例的具体实现进行详细介绍。例如,在本发明实施例中所述不同虚拟化技术类型的多个虚拟机可以至少包括Xen虚拟机、KVM虚拟机以及LXC虚拟机中的任意两种类型的虚拟机;所述资源管控请求可以包括以下任一种或多种:CPU资源管控请求、Memory(内存)资源管控请求、DISK I/O(磁盘输入输出)资源管控请求、或者Network I/O(网络输入输出)资源管控请求。优选地,本发明实施例所述不同虚拟化技术类型的多个虚拟机可以包括Xen虚拟机、KVM虚拟机以及LXC虚拟机三种,资源管控请求可以包括CPU资源管控请求、Memory(内存)资源管控请求、DISK I/O(磁盘输入输出)资源管控请求、或者Network I/O(网络输入输出)资源管控请求这四种,从而可以针对常见的几种主流虚拟化技术类型的虚拟机的资源进行全面有效的管控。
下面,对本发明实施例优选的资源控制方式进行详细介绍。例如:
对于所述资源管控请求为CPU资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与CPU资源管控请求对应的资源控制方式可以为:将资源配置参数值作为应用domain.setVCPUCount()的输入参数,调用所述应用domain.set VCPUCount(),其中,所述应用domain.set VCPUCount()为所述目标虚拟机的宿主机上运行的xend提供的应用;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的CPU资源管控请求对应的资源控制方式可以为:将资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare,其中,所述子系统cpuset和cpushare为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的CPU资源管控请求对应的资源控制方式可以为:将所述资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare。
对于所述资源管控请求为Memory(内存)资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为应用domain.set Memory Target()的输入参数,调用所述应用domain.set Memory Target(),其中,所述应用domain.set Memory Target()为目标虚拟机的宿主机上运行的xend提供的应用;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为通过console端口修改虚拟机占用内存资源的KVM命令的输入参数,调用所述通过console端口修改虚拟机占用内存资源的KVM命令;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为KVM虚拟机设置的与Memory(内存)资源管控请求对应的资源控制方式可以为:将所述资源配置参数值写入目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的memory.limit_in_bytes文件中;
对于所述资源管控请求为DISK I/O资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值作为dm-ioband工具中修改虚拟机占用DISK I/O资源的命令的输入参数,调用所述dm-ioband工具中修改虚拟机占用DISK I/O资源的命令;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值写入子系统blkio的文件中,其中,所述子系统blkio为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的与DISK I/O资源管控请求对应的资源控制方式可以为:将资源配置参数值写入子系统blkio的文件中。
对于所述资源管控请求为Network I/O(网络输入输出)资源管控请求的情况:
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则为Xen虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令,其中,所述TC命令为目标虚拟机的宿主机上运行的Linux内核提供的命令;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则为KVM虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则为LXC虚拟机设置的与Network I/O(网络输入输出)资源管控请求对应的资源控制方式可以为:将所述资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令。
在图4所示实施例的基础上,针对虚拟机动态修改资源配置的需要,本发明实施例可以在虚拟机运行过程中对虚拟机占用宿主机资源进行管控。具体地,例如,所述配置更新单元440,具体可以用于在所述目标虚拟机运行过程中将资源配置参数值更新到所述目标虚拟机的资源配置中。
在本发明实施例一种可能的实现方式中,可以根据各个虚拟机在宿主机上的运行状态对虚拟机可使用的资源进行动态的调整,具体地,例如,参见图5所示的虚拟机资源管控装置的结构示意图之二,如图所示,在如图4所示的结构的基础上,该装置还可以包括:
预置单元400,可以用于预先为所述目标虚拟机设置至少两种运行状态分别对应的资源管控请求以及资源配置参数值,所述资源配置参数值与对应的运行状态下的目标虚拟机的资源管控需要相适应;
请求生成单元401,可以用于在所述接收单元接收资源管控请求之前,当所述目标虚拟机开始以第一运行状态运行时,将所述第一运行状态对应的资源配置参数值、以及所述目标虚拟机的信息携带在该第一运行状态对应的资源管控请求中,生成所述资源管控请求。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
而且,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种虚拟机资源管控方法,其特征在于,应用于采用不同虚拟化技术的多个虚拟机共存的平台;预先为目标虚拟机设置至少两种运行状态分别对应的资源管控请求以及资源配置参数值,所述资源配置参数值与对应的运行状态下的目标虚拟机的资源管控需要相适应;
所述方法包括:
当所述目标虚拟机开始以第一运行状态运行时,将所述第一运行状态对应的资源配置参数值、以及所述目标虚拟机的信息携带在该第一运行状态对应的资源管控请求中,生成所述资源管控请求;
通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任意目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
2.根据权利要求1所述的方法,其特征在于,所述将资源配置参数值更新到所述目标虚拟机的资源配置中具体在所述目标虚拟机运行过程中更新。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述不同虚拟化技术类型的多个虚拟机至少包括Xen虚拟机、KVM虚拟机以及LXC虚拟机中的任意两种类型的虚拟机;
所述资源管控请求包括以下任一种或多种:
CPU资源管控请求、Memory(内存)资源管控请求、DISK I/O(磁盘输入输出)资源管控请求、或者Network I/O(网络输入输出)资源管控请求。
4.根据权利要求3所述的方法,其特征在于,所述资源管控请求为CPU资源管控请求;
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为应用domain.setVCPUCount()的输入参数,调用所述应用domain.setVCPUCount(),其中,所述应用domain.setVCPUCount()为所述目标虚拟机的宿主机上运行的xend提供的应用;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare,其中,所述子系统cpuset和cpushare为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为子系统cpuset和子系统cpushare的输入参数,调用所述子系统cpuset和子系统cpushare。
5.根据权利要求3所述的方法,其特征在于,所述资源管控请求为Memory(内存)资源管控请求;
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为应用domain.setMemoryTarget()的输入参数,调用所述应用domain.setMemoryTarget(),其中,所述应用domain.setMemoryTarget()为目标虚拟机的宿主机上运行的xend提供的应用;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为通过console端口修改虚拟机占用内存资源的KVM命令的输入参数,调用所述通过console端口修改虚拟机占用内存资源的KVM命令;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值写入目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的memory.limit_in_bytes文件中。
6.根据权利要求3所述的方法,其特征在于,所述资源管控请求为DISK I/O资源管控请求;
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为dm-ioband工具中修改虚拟机占用DISK I/O资源的命令的输入参数,调用所述dm-ioband工具中修改虚拟机占用DISK I/O资源的命令;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值写入子系统blkio的文件中,其中,所述子系统blkio为目标虚拟机的宿主机上运行的Linux内核提供的Cgroup的子系统;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值写入子系统blkio的文件中。
7.根据权利要求3所述的方法,其特征在于,所述资源管控请求为Network I/O(网络输入输出)资源管控请求;
如果所述目标虚拟机所属的虚拟化技术类型为Xen虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为TC(Trafficcontrol,流量控制)命令的输入参数,调用所述TC命令,其中,所述TC命令为目标虚拟机的宿主机上运行的Linux内核提供的命令;
如果所述目标虚拟机所属的虚拟化技术类型为KVM虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为TC(Trafficcontrol,流量控制)命令的输入参数,调用所述TC命令;
如果所述目标虚拟机所属的虚拟化技术类型为LXC虚拟机,则所述采用预先为目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值更新到所述目标虚拟机的资源配置中包括:将所述资源配置参数值作为TC(Traffic control,流量控制)命令的输入参数,调用所述TC命令。
8.一种虚拟机资源管控装置,其特征在于,应用于采用不同虚拟化技术的多个虚拟机共存的平台;
所述装置包括:
预置单元,用于预先为目标虚拟机设置至少两种运行状态分别对应的资源管控请求以及资源配置参数值,所述资源配置参数值与对应的运行状态下的目标虚拟机的资源管控需要相适应;
请求生成单元,用于在接收单元接收资源管控请求之前,当所述目标虚拟机开始以第一运行状态运行时,将所述第一运行状态对应的资源配置参数值、以及所述目标虚拟机的信息携带在该第一运行状态对应的资源管控请求中,生成所述资源管控请求;
接收单元,用于通过统一的接口,接收对所述不同虚拟化技术的多个虚拟机中任一目标虚拟机的资源管控请求,其中,所述资源管控请求中携带目标虚拟机信息,以及资源配置参数值;
解析单元,用于解析资源管控请求得到目标虚拟机信息以及资源配置参数值;
类型检测单元,用于根据所述目标虚拟机信息确定目标虚拟机的虚拟化技术类型;
配置更新单元,用于采用预先为所述目标虚拟机的虚拟化技术类型设置的与所述资源管控请求对应的资源控制方式,将所述资源配置参数值更新到所述目标虚拟机的资源配置中。
9.根据权利要求8所述的装置,其特征在于,所述配置更新单元,具体用于在所述目标虚拟机运行过程中将资源配置参数值更新到所述目标虚拟机的资源配置中。
CN201310729287.7A 2013-12-25 2013-12-25 一种虚拟机资源管控方法及装置 Active CN103645957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310729287.7A CN103645957B (zh) 2013-12-25 2013-12-25 一种虚拟机资源管控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310729287.7A CN103645957B (zh) 2013-12-25 2013-12-25 一种虚拟机资源管控方法及装置

Publications (2)

Publication Number Publication Date
CN103645957A CN103645957A (zh) 2014-03-19
CN103645957B true CN103645957B (zh) 2017-03-08

Family

ID=50251178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310729287.7A Active CN103645957B (zh) 2013-12-25 2013-12-25 一种虚拟机资源管控方法及装置

Country Status (1)

Country Link
CN (1) CN103645957B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103971064B (zh) * 2014-05-14 2016-09-21 中标软件有限公司 Linux 系统的用户权限控制方法
CN104951360A (zh) * 2015-06-30 2015-09-30 北京奇虎科技有限公司 基于Docker的配置管理方式及装置
CN105138389B (zh) * 2015-07-30 2019-01-11 北京京东尚科信息技术有限公司 一种集群中虚拟设备的管理方法及系统
CN106569842A (zh) * 2015-10-09 2017-04-19 中兴通讯股份有限公司 操作系统的启动方法及装置
CN106445632A (zh) * 2016-08-30 2017-02-22 广西电网有限责任公司 达梦数据库和Tomcat组合一键自动部署方法
CN106325952A (zh) * 2016-08-30 2017-01-11 广西电网有限责任公司 一种Tomcat单机一键自动部署方法
CN106648827A (zh) * 2016-09-20 2017-05-10 国云科技股份有限公司 一种在线添加虚拟机资源的方法
CN107193637A (zh) * 2017-05-27 2017-09-22 郑州云海信息技术有限公司 一种kvm虚拟机的cpu热添加方法及装置
CN110069338B (zh) * 2018-01-24 2024-03-19 中兴通讯股份有限公司 资源控制方法、装置及设备、计算机可读存储介质
CN111475277A (zh) * 2019-01-23 2020-07-31 阿里巴巴集团控股有限公司 一种资源分配方法、系统、设备及机器可读存储介质
CN110287017B (zh) * 2019-07-01 2022-06-10 北京首都在线科技股份有限公司 一种任务调度方法及任务调度装置
CN111124683A (zh) * 2019-12-25 2020-05-08 泰康保险集团股份有限公司 虚拟资源创建方法、装置及系统
CN111459606A (zh) * 2020-03-03 2020-07-28 山东汇贸电子口岸有限公司 一种虚拟化下快速创建虚拟机的方法及服务器
CN113312142B (zh) * 2021-02-26 2023-12-26 阿里巴巴集团控股有限公司 虚拟化处理系统、方法、装置及设备
CN116594739B (zh) * 2023-07-10 2023-10-10 武汉吧哒科技股份有限公司 虚拟机的控制方法、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111303B2 (en) * 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
CN102662733A (zh) * 2012-03-05 2012-09-12 郑州市景安计算机网络技术有限公司 基于服务器提供虚拟化服务的集中管理方法
CN103024022A (zh) * 2012-12-06 2013-04-03 中国电信股份有限公司云计算分公司 一种虚拟机应用服务的管控系统和方法
CN103036703A (zh) * 2011-10-04 2013-04-10 株式会社日立制作所 虚拟网络的逻辑拓扑的结构管理方法以及管理服务器
CN103051668A (zh) * 2012-09-21 2013-04-17 中国电信股份有限公司云计算分公司 一种服务器资源管理系统及管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111303B2 (en) * 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
CN103036703A (zh) * 2011-10-04 2013-04-10 株式会社日立制作所 虚拟网络的逻辑拓扑的结构管理方法以及管理服务器
CN102662733A (zh) * 2012-03-05 2012-09-12 郑州市景安计算机网络技术有限公司 基于服务器提供虚拟化服务的集中管理方法
CN103051668A (zh) * 2012-09-21 2013-04-17 中国电信股份有限公司云计算分公司 一种服务器资源管理系统及管理方法
CN103024022A (zh) * 2012-12-06 2013-04-03 中国电信股份有限公司云计算分公司 一种虚拟机应用服务的管控系统和方法

Also Published As

Publication number Publication date
CN103645957A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
CN103645957B (zh) 一种虚拟机资源管控方法及装置
US10880195B2 (en) RPS support for NFV by system call bypass
CN103780655B (zh) 一种消息传递接口任务和资源调度系统及方法
US11924117B2 (en) Automated local scaling of compute instances
US8776050B2 (en) Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
CN102759979B (zh) 一种虚拟机能耗估计方法及装置
US20160378554A1 (en) Parallel and Distributed Computing Using Multiple Virtual Machines
US11182713B2 (en) Methods and systems to optimize operating system license costs in a virtual data center
US8793688B1 (en) Systems and methods for double hulled virtualization operations
CN106385329B (zh) 资源池的处理方法、装置和设备
US20060206891A1 (en) System and method of maintaining strict hardware affinity in a virtualized logical partitioned (LPAR) multiprocessor system while allowing one processor to donate excess processor cycles to other partitions when warranted
US20180152392A1 (en) Hybrid cloud management
US20140373010A1 (en) Intelligent resource management for virtual machines
CN102262557A (zh) 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN104054054B (zh) 用于促进计算环境中的处理的方法、系统及存储介质
US11831410B2 (en) Intelligent serverless function scaling
US10671438B2 (en) Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
US10223164B2 (en) Execution of critical tasks based on the number of available processing entities
CN112306669A (zh) 一种基于多核系统的任务处理方法及装置
Chang et al. On construction and performance evaluation of a virtual desktop infrastructure with GPU accelerated
WO2017074469A1 (en) Cloud lifecycle management
KR20170031131A (ko) 가상 스트림 및 처리 에이전트를 이용한 스트림 기반 이벤트 처리 기법
US11954534B2 (en) Scheduling in a container orchestration system utilizing hardware topology hints
US10152341B2 (en) Hyper-threading based host-guest communication
US20240248739A1 (en) Automate suspension and redeployment of cloud resources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 100086 12, 1201, 3 building, 2 South Road, Haidian District Academy of Sciences, Beijing.

Patentee after: Beijing Sohu New Media Information Technology Co., Ltd.

Address before: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 9 building Sohu cyber Building 8 floor 802 room.

Patentee before: Beijing Sohu New Media Information Technology Co., Ltd.

CP02 Change in the address of a patent holder