一种在线添加虚拟机资源的方法技术

技术编号:15329234 阅读:54 留言:0更新日期:2017-05-16 12:57
本发明专利技术涉及云计算技术领域,特别是一种在线添加虚拟机资源的方法。本发明专利技术首先是制作一个支持资源在线添加的虚拟机镜像,接着准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,最后在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加。本发明专利技术解决了虚拟机由于运行有非常重要的应用而出现性能严重不足却不能停机增加资源的问题;实现对处于运行中的虚拟机进行资源添加。

Method for on-line adding virtual machine resource

The invention relates to the technical field of cloud computing, in particular to a method for adding virtual machine resources online. The first is the virtual machine image to create a support resources online add, and then prepare the LIBVIRT configuration file and use the virtual machine image to start the virtual machine, finally the host above through the HYPERVISOR instruction of the virtual machine in the operation of adding resources. The invention solves the problem that the virtual machine has serious performance shortage due to the operation of the very important application, but can not stop increasing the resource, and realizes the resource addition to the running virtual machine.

【技术实现步骤摘要】
一种在线添加虚拟机资源的方法
本专利技术涉及云计算
,特别是一种在线添加虚拟机资源的方法。
技术介绍
云计算的兴起,让越来越多的用户开始将自己的应用和服务迁移到可弹性伸缩扩展的云服务器上运行。用户购买或租用虚拟机的时候很难确定自己所需要的虚拟机资源大小,通常都是先购买比较小的资源,等应用和服务的访问量上升之后选择扩展自己的虚拟机资源;因此,通常涉及到虚拟机资源的扩展问题。云服务提供商在为客户扩展虚拟机资源的时候很多都是等到凌晨通过暂停服务、关闭虚拟机、重新定义资源、重启虚拟机和服务的形式进行升级。这种扩展虚拟机资源的方式不能解决如下的应用场景:虚拟机运行的应用非常重要,不能停机而性能出现严重不足。针对此,虚拟机提供商急需要一种再现添加虚拟机资源的方法,以满足用户在虚拟机出现性能严重不足又无法暂停应用的情况下及时添加虚拟机资源。LIBVIRTLIBVRT是一套免费、开源的支持Linux下主流虚拟化工具的C函数库。当前流行的云平台都使用LIBVIRT来管理自己的虚拟机资源。LIBVIRT提供了一种XML格式的配置文件libvirt.xml用以定义虚拟机资源的各种配置信息。HYPERVISORHypervisors也可叫做VMM(虚拟机监视器),是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。QemuAgentQemuAgent,简称qga,是一个运行在虚拟机内部的普通应用程序,其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unixsocket文件(宿主机上)。qga通过读写串口设备与宿主机上的socket通道进行交互。
技术实现思路
本专利技术解决的技术问题在于提出了一种在线添加虚拟机资源的方法,克服了当前云平台提供商在为客户扩展虚拟机资源的时候所存在的需要关闭虚拟机而导致客户应用服务暂停的问题。本专利技术解决上述技术问题的技术方案是:所述的方法包括制作支持资源在线添加的虚拟机镜像,准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加操作。所述的虚拟机镜像包括自动加载虚拟化驱动模块、热插拔驱动模块和安装QEMU-AGENT代理并自启动代理服务;所述的虚拟化驱动包括VIRTIO半虚拟化驱动及VIRTBALLOON驱动,VIRTIO半虚拟化驱动用于提高虚拟机的I/O性能,VIRTBALLOON驱动用于管理虚拟机的内存资源;所述的热插拔驱动即带电插拔驱动程序,虚拟机镜像内核加载该模块之后可以保证虚拟机在运行的状态下,对系统添加外部资源设备;所述的QEMU-AGENT代理是QEMU提供的一个体积小、性能稳定的代理服务程序,当虚拟机中安装并启动所述代理服务后,宿主机即可通过其与虚拟机进行通信。所述的在线添加是指直接对处于运行状态下的虚拟机进行资源添加,虚拟机在整个过程中无需关机,虚拟机上所运行的应用也无需暂停。所述的LIBVIRT配置文件是一种XML格式的配置文件,可以利用其定义虚拟机资源的各种配置信息;所述的虚拟机资源包括CPU资源和内存资源;所述的准备LIBVIRT配置文件包括CPU资源的配置准备和内存资源的配置准备;所述的准备LIBVIRT配置文件进一步包括:执行virshsetvcpus命令修改虚拟机CPU个数;执行virshqemu-monitor-command命令修改虚拟机内存大小;调用QEMU-AGENT代理服务设置增加的CPU资源生效。本专利技术方案的有益效果如下:1、本专利技术提供一种在线添加虚拟机资源的方法,解决了当前云平台提供商在为客户扩展虚拟机资源的时候所普遍存在的关闭虚拟机导致客户应用服务暂停的问题。2、本专利技术的方法同时提供了限制虚拟机资源的最大值,保证了虚拟机之间的相互独立性,避免单个虚拟机资源的无限扩展所带来的对其他虚拟机的影响。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图;图2为本专利技术的模块图。具体实施方式请参见图1、2,为本专利技术实施例所提供的一种在线添加虚拟机资源的方法流程图。下面分别对其各个流程具体实现进行描述。利用虚拟机模板镜像文件启动一台虚拟机,然后通过VNC登录虚拟机并执行如下配置虚拟机模板镜像。镜像配置虚拟化驱动://备份原镜像cp-p/boot/initramfs-$(uname-r).img/boot/initramfs-$(uname-r).img.bak//生存新镜像,如果以前做过修改,也要加上增加的模块。dracut--add-drivers“virtiovirtio_ring--withvirtio_blk--withvirtio_net--withvirtio_pci”-f/boot/initramfs-$(uname-r).img$(uname-r)镜像配置加载热插拔模块驱动://开机启动挂载PCI热插拔模块vi/etc/modulesacpiphppci_hotplugin镜像配置代理服务://执行install.sh脚本安装qemu-agent程序sh/cdrom/linux-install/centos6/x8664/install.shchkconfigqemu-gaon镜像配置好之后,关闭模板虚拟机,之后可用通过对镜像模板创建外部快照的形式来进行后续虚拟机的启动。准备虚拟机配置文件启动虚拟机://针对虚拟机CPU资源编辑如下配置<vcpuplacement=’static’cpuset=″1-4,^3,6″current=″2″>10</vcpu>//针对虚拟机内存资源编辑如下配置<memballoonmodel=’virtio’><aliasname=’balloonO’/></memballoon>准备好LIBVIRT配置文件之后执行virshcreatelibvirt.xml启动虚拟机,当然也可以实现对镜像模板制作外部快照,然后利用快照文件启动虚拟机。宿主机上在线添加虚拟机CPU:virshsetvcpusCentos63--live宿主机上在线设置虚拟机内存:virshqemu-monitor-commandCentos6-hmp-cmdballoon4096宿主机上调用代理服务使添加的CPU生效:virshqemu-agent-commandCentos6’{″execute″:″guest-exec″,″arguments″:{″path″:″echo″,″arg″:[″1″,″>/sys/devices/system/cpu/cpu3/online″]}}’以上描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出实质性创造所本文档来自技高网
...
一种在线添加虚拟机资源的方法

【技术保护点】
一种在线添加虚拟机资源的方法,其特征在于,所述的方法包括制作支持资源在线添加的虚拟机镜像,准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加操作。

【技术特征摘要】
1.一种在线添加虚拟机资源的方法,其特征在于,所述的方法包括制作支持资源在线添加的虚拟机镜像,准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加操作。2.根据权利要求1所述的方法,其特征在于,所述的虚拟机镜像包括自动加载虚拟化驱动模块、热插拔驱动模块和安装QEMU-AGENT代理并自启动代理服务;所述的虚拟化驱动包括VIRTIO半虚拟化驱动及VIRTBALLOON驱动,VIRTIO半虚拟化驱动用于提高虚拟机的I/O性能,VIRTBALLOON驱动用于管理虚拟机的内存资源;所述的热插拔驱动即带电插拔驱动程序,虚拟机镜像内核加载该模块之后可以保证虚拟机在运行的状态下,对系统添加外部资源设备;所述的QEMU-AGENT代理是QEMU提供的一个体积小、性能稳定的代理服务程序,当虚拟机中安装并启动所述代理服务后,宿主机即可通过其与虚拟机进行通信。3.根据权利要求1所述的...

【专利技术属性】
技术研发人员:熊梦杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1