CN107861792A - 一种基于Libvirt的虚拟机管理方法及装置 - Google Patents
一种基于Libvirt的虚拟机管理方法及装置 Download PDFInfo
- Publication number
- CN107861792A CN107861792A CN201711078949.3A CN201711078949A CN107861792A CN 107861792 A CN107861792 A CN 107861792A CN 201711078949 A CN201711078949 A CN 201711078949A CN 107861792 A CN107861792 A CN 107861792A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- configuration information
- machine configuration
- virtual
- modified
- 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/45595—Network integration; Enabling network access in 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的虚拟机管理方法及装置,上述方法包括以下步骤:根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;通过调用所述API函数,对所述虚拟机配置信息进行修改。上述技术方案中,通过调用API函数实现对虚拟机配置信息的修改,避免了在不通过libvirt修改虚拟机配置,造成虚拟机实际配置与libvirt保存的不一致的情况,从而避免了后续虚拟机计算迁移后虚拟机配置改变等情况。
Description
技术领域
本发明属于云计算技术领域,尤其涉及一种基于Libvirt的虚拟机管理方法及装置。
背景技术
Libvirt作为一种广泛使用的虚拟机管理软件,功能强大,操作简单,拥有完善的API,但对于服务器虚拟化平台很多功能不能很好地支持,比如:虚拟机存储迁移、虚拟机快照、虚拟机网卡热修改等。
在为虚拟机配置所属VLAN(Virtual Local Area Network,虚拟局域网)时有多种方式,例如:在创建虚拟机时指定所属VLAN;创建虚拟机时不指定VLAN,虚拟机启动后通过设置流表的方式设置VLAN;创建虚拟机交换机网桥OVS fakebridge并绑定VLAN,创建虚拟机时配置网桥为fakebridge。
若上述操作不经过Libvirt,则Libvirt就不能感知虚拟机配置的改变,则会造成虚拟机实际配置与libvirt保存的不一致,从而影响虚拟机的后续操作。
因此,迫切需要提供一种基于Libvirt来修改虚拟机配置的管理方案来解决上述技术问题。
发明内容
本发明提供一种基于Libvirt的虚拟机管理方法及装置,以解决上述问题。
本发明实施例提供一种基于Libvirt的虚拟机管理方法,包括以下步骤:
根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
通过调用所述API函数,对所述虚拟机配置信息进行修改。
本发明实施例还提供一种基于Libvirt的虚拟机管理装置,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
通过调用所述API函数,对所述虚拟机配置信息进行修改。
本发明实施例提供的技术方案:根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;通过调用所述API函数,对所述虚拟机配置信息进行修改。
上述技术方案中,通过调用API函数实现对虚拟机配置信息的修改,避免了在不通过libvirt修改虚拟机配置,造成虚拟机实际配置与libvirt保存的不一致的情况,从而避免了后续虚拟机计算迁移后虚拟机配置改变等情况。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的基于Libvirt的虚拟机管理方法流程图;
图2所示为本发明实施例2的基于Libvirt的虚拟机管理装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明通过扩展libvirt API(Application Programming Interface,应用程序编程接口)来将对OVS(Open vSwitch,虚拟交换机)的操作集成到libvirt中从而实现通过libvirt在线修改虚拟机网卡的功能。
具体实现步骤如下:
1)添加修改虚拟机配置信息的API函数,例如修改虚拟机网卡的API函数;其中,修改libvirt-python,添加对修改网卡的支持;
2)调用修改虚拟机配置信息的API函数,修改虚拟机配置,例如:调用修改虚拟机网卡的API函数,修改虚拟机网卡。
其中,通过python API调用API函数。
进一步地,所述虚拟机配置信息修改方式为:通过网桥切换,对所述虚拟机配置信息进行修改;或者,
若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述VLAN对所述虚拟机配置信息进行修改;或者,
若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机和VLAN,对所述虚拟机配置信息进行修改;或者,
若创建虚拟机时不存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机,对所述虚拟机配置信息进行修改。
本发明实施例通过扩展libvirt实现虚拟机网卡的热修改,避免了在不通过libvirt修改虚拟机配置,造成虚拟机实际配置与libvirt保存的不一致的情况,从而避免了后续虚拟机计算迁移后虚拟机配置改变等情况。
图1所示为本发明实施例1的基于Libvirt的虚拟机管理方法流程图,包括以下步骤:
步骤101:根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
进一步地,所述虚拟机配置信息修改方式为:通过网桥切换,对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述VLAN对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机和VLAN,对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时不存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机,对所述虚拟机配置信息进行修改。
优选地,所述虚拟机配置信息包括虚拟机网卡配置信息。
步骤102:通过调用所述API函数,对所述虚拟机配置信息进行修改。
本发明实施例在libvirt中实现修改虚拟机网卡的功能,用户通过libvirt API函数直接修改虚拟机配置,而不必在底层执行OVS命令。
图2所示为本发明实施例2的基于Libvirt的虚拟机管理装置结构图,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
通过调用所述API函数,对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:通过网桥切换,对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述VLAN对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机和VLAN,对所述虚拟机配置信息进行修改。
进一步地,所述虚拟机配置信息修改方式为:若创建虚拟机时不存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机,对所述虚拟机配置信息进行修改。
优选地,所述虚拟机配置信息包括虚拟机网卡配置信息。
本发明实施例提供的技术方案:根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;通过调用所述API函数,对所述虚拟机配置信息进行修改。
上述技术方案中,通过调用API函数实现对虚拟机配置信息的修改,避免了在不通过libvirt修改虚拟机配置,造成虚拟机实际配置与libvirt保存的不一致的情况,从而避免了后续虚拟机计算迁移后虚拟机配置改变等情况。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于Libvirt的虚拟机管理方法,其特征在于,包括以下步骤:
根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
通过调用所述API函数,对所述虚拟机配置信息进行修改。
2.根据权利要求1所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息修改方式为:通过网桥切换,对所述虚拟机配置信息进行修改。
3.根据权利要求1所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述VLAN对所述虚拟机配置信息进行修改。
4.根据权利要求1所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机和VLAN,对所述虚拟机配置信息进行修改。
5.根据权利要求1所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时不存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机,对所述虚拟机配置信息进行修改。
6.根据权利要求1-5中任一项所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息包括虚拟机网卡配置信息。
7.一种基于Libvirt的虚拟机管理装置,其特征在于,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
根据虚拟机配置信息修改方式,设置对应的应用程序编程接口函数即API函数;
通过调用所述API函数,对所述虚拟机配置信息进行修改。
8.根据权利要求7所述的虚拟机管理装置,其特征在于,所述虚拟机配置信息修改方式为:通过网桥切换,对所述虚拟机配置信息进行修改。
9.根据权利要求7所述的虚拟机管理装置,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述VLAN对所述虚拟机配置信息进行修改。
10.根据权利要求7所述的虚拟机管理装置,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机和VLAN,对所述虚拟机配置信息进行修改。
11.根据权利要求7所述的虚拟机管理装置,其特征在于,所述虚拟机配置信息修改方式为:若创建虚拟机时不存在指定的虚拟局域网VLAN,则通过修改所述虚拟机所属虚拟交换机,对所述虚拟机配置信息进行修改。
12.根据权利要求7-11中任一项所述的虚拟机管理方法,其特征在于,所述虚拟机配置信息包括虚拟机网卡配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711078949.3A CN107861792A (zh) | 2017-11-06 | 2017-11-06 | 一种基于Libvirt的虚拟机管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711078949.3A CN107861792A (zh) | 2017-11-06 | 2017-11-06 | 一种基于Libvirt的虚拟机管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107861792A true CN107861792A (zh) | 2018-03-30 |
Family
ID=61700814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711078949.3A Pending CN107861792A (zh) | 2017-11-06 | 2017-11-06 | 一种基于Libvirt的虚拟机管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861792A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108549572A (zh) * | 2018-04-08 | 2018-09-18 | 郑州云海信息技术有限公司 | 一种数据中心综合管理系统的异构服务器虚拟化管理系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473113A (zh) * | 2013-09-04 | 2013-12-25 | 国云科技股份有限公司 | 一种通用的虚拟机收养方法 |
CN106293697A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种实现virsh命令的方法及装置 |
CN106371895A (zh) * | 2016-09-04 | 2017-02-01 | 国云科技股份有限公司 | 一种升级kvm虚拟机去虚拟化的方法 |
CN106656867A (zh) * | 2016-11-10 | 2017-05-10 | 北京大学(天津滨海)新代信息技术研究院 | 一种基于虚拟网络的应用感知的动态sdn配置方法 |
CN106789363A (zh) * | 2017-02-20 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种向虚拟机配置网卡的方法及装置 |
CN106878082A (zh) * | 2017-02-28 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种虚拟网卡热迁移方法及其装置 |
US20170257266A1 (en) * | 2013-10-25 | 2017-09-07 | International Business Machines Corporation | Sharing a java virtual machine |
CN107222349A (zh) * | 2017-06-23 | 2017-09-29 | 北京三快在线科技有限公司 | 一种配置虚拟机网卡速率的方法及装置 |
-
2017
- 2017-11-06 CN CN201711078949.3A patent/CN107861792A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473113A (zh) * | 2013-09-04 | 2013-12-25 | 国云科技股份有限公司 | 一种通用的虚拟机收养方法 |
US20170257266A1 (en) * | 2013-10-25 | 2017-09-07 | International Business Machines Corporation | Sharing a java virtual machine |
CN106293697A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种实现virsh命令的方法及装置 |
CN106371895A (zh) * | 2016-09-04 | 2017-02-01 | 国云科技股份有限公司 | 一种升级kvm虚拟机去虚拟化的方法 |
CN106656867A (zh) * | 2016-11-10 | 2017-05-10 | 北京大学(天津滨海)新代信息技术研究院 | 一种基于虚拟网络的应用感知的动态sdn配置方法 |
CN106789363A (zh) * | 2017-02-20 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种向虚拟机配置网卡的方法及装置 |
CN106878082A (zh) * | 2017-02-28 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种虚拟网卡热迁移方法及其装置 |
CN107222349A (zh) * | 2017-06-23 | 2017-09-29 | 北京三快在线科技有限公司 | 一种配置虚拟机网卡速率的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108549572A (zh) * | 2018-04-08 | 2018-09-18 | 郑州云海信息技术有限公司 | 一种数据中心综合管理系统的异构服务器虚拟化管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636184B (zh) | 虚拟机实例的部署方法和装置及设备 | |
US10575121B2 (en) | System and method for instantiation of services at a location based on a policy | |
CN107515776A (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
US11757696B2 (en) | Methods for defining a network service descriptor (NSD) for a network service (NS), and network functions virtualization (NFV) orchestrator (NFVO) using said NSD | |
US20170337077A1 (en) | End-to-End Validation of Virtual Machines | |
US20200226173A1 (en) | Automated personalized identifier switching | |
CN106254471A (zh) | 一种异构云环境下资源统一调度方法及系统 | |
CN107749930A (zh) | 分别为主被呼叫方绑定虚拟号码的呼叫处理方法及服务器 | |
CN104714823B (zh) | 基于OpenStack的新建主机配置方法 | |
WO2020093976A1 (zh) | 一种资源变更的方法及装置、设备、存储介质 | |
US20240118926A1 (en) | Allocating resources for network function virtualization | |
WO2019153533A1 (zh) | 动态路由控制方法、装置、计算机设备及存储介质 | |
CN110262873A (zh) | 容器应用的配置修改方法、装置、计算机设备及存储介质 | |
CN107251069A (zh) | 一种近场通信支付方法及终端 | |
US11785054B2 (en) | Deriving system architecture from security group relationships | |
CN107861792A (zh) | 一种基于Libvirt的虚拟机管理方法及装置 | |
CN102984350A (zh) | 一种安卓操作系统移动终端里自定义主题的切换方法和装置 | |
CN109039697B (zh) | 虚拟机网卡配置方法及装置 | |
CN104751057B (zh) | 一种用于增强计算机系统安全性的方法及装置 | |
US20220405147A1 (en) | Task processing method, electronic device and storage medium | |
CN107679871A (zh) | 名单管理方法、装置、系统以及计算机可读存储介质 | |
CN108848155A (zh) | 一种控制物理机的功能的方法和装置 | |
CN109254805A (zh) | 一种应用自启动方法、终端装置及可读存储介质 | |
US11509730B1 (en) | Analyzing web service frontends to extract security-relevant behavior information | |
CN107506201A (zh) | 一种python框架生成方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180330 |