[发明专利]一种通过nova调用qemu guest agent接口的方法在审
申请号: | 202010064474.8 | 申请日: | 2020-01-20 |
公开(公告)号: | CN111274053A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 申嘉童;谢涛涛;宋伟 | 申请(专利权)人: | 山东汇贸电子口岸有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 nova 调用 qemu guest agent 接口 方法 | ||
本发明提供一种通过nova调用qemu guest agent接口的方法,属于云计算技术领域,本发明通过nova‑compute代理qemu guest agent(QGA)请求,用户通过调用nova api的接口的方式,将需要执行的指令以json字符串的形式传入。nova‑api将待执行的QGA命令通过RPC形式传递给指定的nova‑compute组件,nova‑compute通过执行libvirt的函数触发QGA命令,获取指令的结果,并将返回值传递给前端。在保证nova代码没有很大调整的基础上,增加了调用QGA命令的功能。
技术领域
本发明涉及云计算技术,尤其涉及一种通过nova调用qemu guest agent接口的方法,拓展openstack的nova组件的功能,支持调用Qemu Guest Agent命令。
背景技术
Nova是OpenStack中创建、管理、删除虚拟机的组件。该组件包括了nova-api、nova-conductor、nova-scheduler和nova-compute在内的4个核心组件和一些插件。其中nova-api提供了一组标准REST API接口,用于和用户进行交互。nova-conductor组件用户流程控制和数据库的访问,nova-conductor将其他几个关键部件组合起来,并实现了数据库调用的解耦。nova-scheduler是调度组件,通过和OpenStack placement-api的交互,获取节点资源的信息,根据调度策略的不同,选择出最合适的一组计算节点,并最终通过nova-conductor将创建虚拟机的请求代理到指定的计算节点上,当在某个计算节点失败时,conductor会从待选主机集合中,选择另一个节点继续尝试,直到用尽了节点。nova-compute负责和本地的libvirt进程进行交互,并根据用户请求的信息,定义符合要求的libvirt xml配置文件。并调用libvirt接口,创建由QEMU进行管理的虚拟机。
这种方式对一般性的管理操作,如关机、重启、增加删除设备等,比较方便。同时也可以通过libvirt获取一些基本的参数。但是其问题是,这些操作或指标都是宿主机可见的、间接的数据,具体的虚拟机内部操作系统的数据是无法获取的。这个问题直接导致一些高级的功能无法实现,如在虚拟机内部执行一些指令,获取程序的CPU占用数据等功能。
这些功能已经通过QGA接口的形式暴露出来,并可以通过在guest中注入QGA的形式暴露出来。同时libvirt也暴露了API支持了和QGA的交互。但是当前nova并没有集成这个功能。这导致了管理源和用户的功能受限。
发明内容
为了解决以上技术问题,本发明提出了一种通过nova调用qemu guest agent接口的方法,拓展nova的接口,丰富了nova-api、nova-compute的接口,使用户可以直接调用REST API,触发QGA指令,并将返回值传递给用户。通过引入QGA的调用,使系统管理员和用户对虚拟机进行更细粒度的操作、获取更准确的数据成为可能。
本发明的技术方案是:
一种通过nova调用qemu guest agent接口的方法,
通过拓展OpenStack nova的接口,通过nova-compute代理qemu guest agent(QGA)请求,用户通过调用nova api的接口的方式,将需要执行的指令以json字符串的形式传入。nova-api将待执行的QGA命令通过RPC形式传递给指定的nova-compute组件,nova-compute通过执行libvirt的函数触发QGA命令,获取指令的结果,并将返回值传递给前端。
具体步骤如下:
1)在创建镜像时,设置属性hw_qemu_guest_agent=yes,这样通过该镜像创建的虚拟机的时候即会在创建的时候,增加对QGA的支持。(虚拟机中需要安装QGA的软件)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东汇贸电子口岸有限公司,未经山东汇贸电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010064474.8/2.html,转载请声明来源钻瓜专利网。