CN106648827A - 一种在线添加虚拟机资源的方法 - Google Patents
一种在线添加虚拟机资源的方法 Download PDFInfo
- Publication number
- CN106648827A CN106648827A CN201610834878.4A CN201610834878A CN106648827A CN 106648827 A CN106648827 A CN 106648827A CN 201610834878 A CN201610834878 A CN 201610834878A CN 106648827 A CN106648827 A CN 106648827A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- resource
- qemu
- resources
- addition
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及云计算技术领域,特别是一种在线添加虚拟机资源的方法。本发明首先是制作一个支持资源在线添加的虚拟机镜像,接着准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,最后在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加。本发明解决了虚拟机由于运行有非常重要的应用而出现性能严重不足却不能停机增加资源的问题;实现对处于运行中的虚拟机进行资源添加。
Description
技术领域
本发明涉及云计算技术领域,特别是一种在线添加虚拟机资源的方法。
背景技术
云计算的兴起,让越来越多的用户开始将自己的应用和服务迁移到可弹性伸缩扩展的云服务器上运行。用户购买或租用虚拟机的时候很难确定自己所需要的虚拟机资源大小,通常都是先购买比较小的资源,等应用和服务的访问量上升之后选择扩展自己的虚拟机资源;因此,通常涉及到虚拟机资源的扩展问题。云服务提供商在为客户扩展虚拟机资源的时候很多都是等到凌晨通过暂停服务、关闭虚拟机、重新定义资源、重启虚拟机和服务的形式进行升级。这种扩展虚拟机资源的方式不能解决如下的应用场景:虚拟机运行的应用非常重要,不能停机而性能出现严重不足。
针对此,虚拟机提供商急需要一种再现添加虚拟机资源的方法,以满足用户在虚拟机出现性能严重不足又无法暂停应用的情况下及时添加虚拟机资源。
LIBVIRT
LIBVRT是一套免费、开源的支持Linux下主流虚拟化工具的C函数库。当前流行的云平台都使用LIBVIRT来管理自己的虚拟机资源。LIBVIRT提供了一种XML格式的配置文件libvirt.xml用以定义虚拟机资源的各种配置信息。
HYPERVISOR
Hypervisors也可叫做VMM(虚拟机监视器),是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
Qemu Agent
Qemu Agent,简称qga,是一个运行在虚拟机内部的普通应用程序,其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unix socket文件(宿主机上)。qga通过读写串口设备与宿主机上的socket通道进行交互。
发明内容
本发明解决的技术问题在于提出了一种在线添加虚拟机资源的方法,克服了当前云平台提供商在为客户扩展虚拟机资源的时候所存在的需要关闭虚拟机而导致客户应用服务暂停的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括制作支持资源在线添加的虚拟机镜像,准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加操作。
所述的虚拟机镜像包括自动加载虚拟化驱动模块、热插拔驱动模块和安装QEMU-AGENT代理并自启动代理服务;
所述的虚拟化驱动包括VIRTIO半虚拟化驱动及VIRT BALLOON驱动,VIRTIO半虚拟化驱动用于提高虚拟机的I/O性能,VIRT BALLOON驱动用于管理虚拟机的内存资源;
所述的热插拔驱动即带电插拔驱动程序,虚拟机镜像内核加载该模块之后可以保证虚拟机在运行的状态下,对系统添加外部资源设备;
所述的QEMU-AGENT代理是QEMU提供的一个体积小、性能稳定的代理服务程序,当虚拟机中安装并启动所述代理服务后,宿主机即可通过其与虚拟机进行通信。
所述的在线添加是指直接对处于运行状态下的虚拟机进行资源添加,虚拟机在整个过程中无需关机,虚拟机上所运行的应用也无需暂停。
所述的LIBVIRT配置文件是一种XML格式的配置文件,可以利用其定义虚拟机资源的各种配置信息;
所述的虚拟机资源包括CPU资源和内存资源;
所述的准备LIBVIRT配置文件包括CPU资源的配置准备和内存资源的配置准备;
所述的准备LIBVIRT配置文件进一步包括:
执行virsh setvcpus命令修改虚拟机CPU个数;
执行virsh qemu-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“virtio virtio_ring--with virtio_blk--with virtio_net--with virtio_pci”-f/boot/initramfs-$(uname-r).img$(uname-r)
镜像配置加载热插拔模块驱动:
//开机启动挂载PCI热插拔模块
vi/etc/modules
acpiphp
pci_hotplugin
镜像配置代理服务:
//执行install.sh脚本安装qemu-agent程序
sh/cdrom/linux-install/centos6/x8664/install.sh
chkconfig qemu-ga on
镜像配置好之后,关闭模板虚拟机,之后可用通过对镜像模板创建外部快照的形式来进行后续虚拟机的启动。
准备虚拟机配置文件启动虚拟机:
//针对虚拟机CPU资源编辑如下配置
<vcpu placement=’static’cpuset=″1-4,^3,6″current=″2″>10</vcpu>
//针对虚拟机内存资源编辑如下配置
<memballoon model=’virtio’>
<alias name=’balloonO’/>
</memballoon>
准备好LIBVIRT配置文件之后执行virsh createlibvirt.xml启动虚拟机,当然也可以实现对镜像模板制作外部快照,然后利用快照文件启动虚拟机。
宿主机上在线添加虚拟机CPU:
virsh setvcpus Centos6 3--live
宿主机上在线设置虚拟机内存:
virsh qemu-monitor-command Centos6-hmp-cmd bal loon 4096
宿主机上调用代理服务使添加的CPU生效:
virsh qemu-agent-command Centos6’{″execute″:″guest-exec″,″arguments″:{″path″:″echo″,″arg″:[″1″,″>/sys/devices/system/cpu/cpu3/online″]}}’
以上描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出实质性创造所获得的方案,都属于本发明保护的范围。
Claims (6)
1.一种在线添加虚拟机资源的方法,其特征在于,所述的方法包括制作支持资源在线添加的虚拟机镜像,准备LIBVIRT配置文件并利用上述虚拟机镜像启动虚拟机,在宿主机上面通过HYPERVISOR指令对运行中的虚拟机进行资源添加操作。
2.根据权利要求1所述的方法,其特征在于,
所述的虚拟机镜像包括自动加载虚拟化驱动模块、热插拔驱动模块和安装QEMU-AGENT代理并自启动代理服务;
所述的虚拟化驱动包括VIRTIO半虚拟化驱动及VIRT BALLOON驱动,VIRTIO半虚拟化驱动用于提高虚拟机的I/O性能,VIRT BALLOON驱动用于管理虚拟机的内存资源;
所述的热插拔驱动即带电插拔驱动程序,虚拟机镜像内核加载该模块之后可以保证虚拟机在运行的状态下,对系统添加外部资源设备;
所述的QEMU-AGENT代理是QEMU提供的一个体积小、性能稳定的代理服务程序,当虚拟机中安装并启动所述代理服务后,宿主机即可通过其与虚拟机进行通信。
3.根据权利要求1所述的方法,其特征在于,所述的在线添加是指直接对处于运行状态下的虚拟机进行资源添加,虚拟机在整个过程中无需关机,虚拟机上所运行的应用也无需暂停。
4.根据权利要求2所述的方法,其特征在于,所述的在线添加是指直接对处于运行状态下的虚拟机进行资源添加,虚拟机在整个过程中无需关机,虚拟机上所运行的应用也无需暂停。
5.根据权利要求1至4任一项所述的方法,其特征在于,
所述的LIBVIRT配置文件是一种XML格式的配置文件,可以利用其定义虚拟机资源的各种配置信息;
所述的虚拟机资源包括CPU资源和内存资源;
所述的准备LIBVIRT配置文件包括CPU资源的配置准备和内存资源的配置准备。
6.根据权利要求5所述的方法,其特征在于,所述的准备LIBVIRT配置文件进一步包括:
执行virsh setvcpus命令修改虚拟机CPU个数;
执行virsh qemu-monitor-command命令修改虚拟机内存大小;
调用QEMU-AGENT代理服务设置增加的CPU资源生效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610834878.4A CN106648827A (zh) | 2016-09-20 | 2016-09-20 | 一种在线添加虚拟机资源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610834878.4A CN106648827A (zh) | 2016-09-20 | 2016-09-20 | 一种在线添加虚拟机资源的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648827A true CN106648827A (zh) | 2017-05-10 |
Family
ID=58852149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610834878.4A Pending CN106648827A (zh) | 2016-09-20 | 2016-09-20 | 一种在线添加虚拟机资源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648827A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368353A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
CN107766122A (zh) * | 2017-09-28 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN108287806A (zh) * | 2018-01-25 | 2018-07-17 | 曙光云计算集团有限公司 | 一种云服务器系统 |
CN109284166A (zh) * | 2017-07-20 | 2019-01-29 | 上海木鸡网络科技有限公司 | 执行程序的方法及装置、存储介质、工作站、终端 |
CN110516468A (zh) * | 2019-07-18 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种虚拟机内存快照加密的方法和装置 |
CN111290833A (zh) * | 2020-01-21 | 2020-06-16 | 山东超越数控电子股份有限公司 | 一种云平台管控方法 |
CN111414236A (zh) * | 2020-03-23 | 2020-07-14 | 佳讯飞鸿(北京)智能科技研究院有限公司 | Cpu和内存的在线调整方法、装置和虚拟电子设备 |
CN112286638A (zh) * | 2020-11-04 | 2021-01-29 | 浪潮云信息技术股份公司 | 一种Openstack虚拟机CPU与内存热插拔的实现方法 |
CN114237831A (zh) * | 2022-02-25 | 2022-03-25 | 阿里巴巴(中国)有限公司 | 虚拟中央处理器热插拔方法、物理主机和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645957A (zh) * | 2013-12-25 | 2014-03-19 | 北京搜狐新媒体信息技术有限公司 | 一种虚拟机资源管控方法及装置 |
CN103810422A (zh) * | 2014-02-20 | 2014-05-21 | 东莞中国科学院云计算产业技术创新与育成中心 | 一种基于镜像智能管理的安全虚拟化隔离方法 |
-
2016
- 2016-09-20 CN CN201610834878.4A patent/CN106648827A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645957A (zh) * | 2013-12-25 | 2014-03-19 | 北京搜狐新媒体信息技术有限公司 | 一种虚拟机资源管控方法及装置 |
CN103810422A (zh) * | 2014-02-20 | 2014-05-21 | 东莞中国科学院云计算产业技术创新与育成中心 | 一种基于镜像智能管理的安全虚拟化隔离方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284166A (zh) * | 2017-07-20 | 2019-01-29 | 上海木鸡网络科技有限公司 | 执行程序的方法及装置、存储介质、工作站、终端 |
CN107368353A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
CN107368353B (zh) * | 2017-07-26 | 2020-12-01 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
CN107766122A (zh) * | 2017-09-28 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN107766122B (zh) * | 2017-09-28 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种宿主机的可用内存空间设置方法和装置 |
CN108287806A (zh) * | 2018-01-25 | 2018-07-17 | 曙光云计算集团有限公司 | 一种云服务器系统 |
CN108287806B (zh) * | 2018-01-25 | 2021-04-06 | 曙光云计算集团有限公司 | 一种云服务器系统 |
CN110516468A (zh) * | 2019-07-18 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种虚拟机内存快照加密的方法和装置 |
CN111290833A (zh) * | 2020-01-21 | 2020-06-16 | 山东超越数控电子股份有限公司 | 一种云平台管控方法 |
CN111414236A (zh) * | 2020-03-23 | 2020-07-14 | 佳讯飞鸿(北京)智能科技研究院有限公司 | Cpu和内存的在线调整方法、装置和虚拟电子设备 |
CN112286638A (zh) * | 2020-11-04 | 2021-01-29 | 浪潮云信息技术股份公司 | 一种Openstack虚拟机CPU与内存热插拔的实现方法 |
CN114237831A (zh) * | 2022-02-25 | 2022-03-25 | 阿里巴巴(中国)有限公司 | 虚拟中央处理器热插拔方法、物理主机和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648827A (zh) | 一种在线添加虚拟机资源的方法 | |
Graziano | A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project | |
CN102207896B (zh) | 虚拟机崩溃文件生成技术 | |
US8830228B2 (en) | Techniques for enabling remote management of servers configured with graphics processors | |
US8990806B2 (en) | Customized virtual machine creation | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US20100262722A1 (en) | Dynamic Assignment of Graphics Processing Unit to a Virtual Machine | |
US8776053B2 (en) | System and method to reconfigure a virtual machine image suitable for cloud deployment | |
US20200057627A1 (en) | Simulating end-to-end upgrade process in production environment | |
Kozuch et al. | Migration without Virtualization. | |
US20120167090A1 (en) | Hypervisor for starting a virtual machine | |
MXPA06001711A (es) | Sistemas y metodos para procesamiento de intercepcion del nivel multiple en un ambiente de maquina virtual. | |
US10620963B2 (en) | Providing fallback drivers for IO devices in a computing system | |
US9495181B2 (en) | Creating a virtual appliance | |
JP2021536652A (ja) | クラウドプラットフォームのための仮想マシン管理方法および装置 | |
US11875174B2 (en) | Method and apparatus for virtual machine emulator upgrading virtualization emulator | |
CN114138423B (zh) | 基于国产gpu显卡的虚拟化构建系统及方法 | |
CN103793242A (zh) | 一种基于虚拟计算环境的信息系统快速部署方法 | |
EP2466459A1 (en) | Seamless application integration apparatus and method | |
Kooburat et al. | The Best of Both Worlds with {On-Demand} Virtualization | |
US9519489B2 (en) | Boot from modified image | |
CN111459606A (zh) | 一种虚拟化下快速创建虚拟机的方法及服务器 | |
CN103246544A (zh) | 虚拟硬件驱动终端及驱动方法 | |
CN110941408A (zh) | 一种kvm虚拟机图形界面输出方法及装置 | |
CN114237814A (zh) | 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |