一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于国产平台虚拟机和容器的超融合调度方法与流程

2022-02-20 00:43:11 来源:中国专利 TAG:


1.本发明属于虚拟化和容器领域,具体涉及一种基于国产平台虚拟机和容器的超融合调度方法。


背景技术:

2.随着互联网技术、云计算和大数据技术的蓬勃发展,越来越多的政府、企业选择将业务上云,解决传统模式下基础设施重复建设、信息孤岛、数据壁垒等问题,实现资源的高效利用。近几年随着数据中心云平台规模及资源需求不断提升,云计算平台上的资源高效调度成为关键技术问题,为实现企业云资源的快速供给,亟需解决云资源的高效调度问题。
3.在进行云平台资源调度时,采用虚拟化技术进行资源抽象,形成可以按照不同配额进行分配的资源池,进而提升数据中心的应用密度,在等量资源情况下为更多用户提供服务。虚拟机和容器是当前主流的虚拟化技术。虚拟机是通过软件模拟的、具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。容器技术则是一种沙盒技术,可以将应用运行在其中,实现与外界隔离,本质上,容器是一种特殊的进程。由于虚拟机是硬件级的虚拟化,而容器是内核级的虚拟化,使得虚拟机隔离性强但资源损耗较高;容器则轻便,开销小,易于快速部署但隔离性不够。基于两者技术优势的不同,且虚拟机和容器作为数据中心共存的两种服务承载形态,发挥两者技术优势,实现虚拟机和容器的融合部署和高效调度是实现云平台资源高效利用的关键。
4.目前数据中心所采取的虚拟机和容器技术融合方案可以分为两大类,第一类是容器运行于虚拟机之上,第二类是将容器和虚拟机分别运行在不同物理服务器上。第一类方案是虚拟机监视器hypervisor运行于物理服务器之上,物理服务器资源被分配给多台虚拟机,在虚拟机之上运行docker容器引擎,实现一台虚拟机上运行一个或多个容器,由虚拟机为容器提供资源。第二类方案是将虚拟机和容器在物理资源层面分开,前端提供统一资源请求接口,用户可通过统一资源申请界面上申请虚拟机资源或容器资源,而后台会将请求分发给对应的服务器来处理请求。
5.但两种方案都存在一定的弊端,在虚拟机中运行容器虽然使得容器中的应用既实现了轻量化,又具备良好的隔离性,但由于虚拟化的嵌套使得资源利用效率受到很大影响。第二类方案仅是在逻辑层面的融合,是一种“逻辑共存,物理隔离”的融合方案,对用户而言,虽然可以同时使用虚拟机和容器的服务,但在物理层面,虚拟机和容器并没有融合,虚拟机和容器智能调度仅能在各自指定的服务器上运行,在各自预留的资源总量各自分配,导致资源调度不够灵活且资源利用率低。
6.综上所述,上述两种方案虽各有优点,但都存在资源利用率不高的问题。


技术实现要素:

7.(一)要解决的技术问题
8.本发明要解决的技术问题是如何提供一种基于国产平台虚拟机和容器的超融合
调度方法,以解决传统使用“虚拟化嵌套”或“逻辑融合”方式导致的资源利用率低下的问题。
9.(二)技术方案
10.为了解决上述技术问题,本发明提出一种基于国产平台虚拟机和容器的超融合调度方法,该方法包括如下步骤:
11.s1、发送创建虚拟机请求
12.用户首先通过restfulapi向keystone组件获取认证,然后向nova-api进程发送一个创建虚拟机的请求,并携带获取的认证信息和创建虚拟机的参数;
13.s2、nova-api接收并解析请求
14.nova-api将认证信息发送到keystone里确认认证信息是否有效,认证通过后且nova-api检查权限通过后向数据库写入新建虚拟机的数据库记录;
15.s3、placement选择主机节点
16.nova-api让nova-conductor去创建虚拟机,nova-conductor让nova-scheduler请求placement,placement根据请求的资源数量和特征选择用于创建虚拟机的一个或多个主机节点;
17.s4、返回目标主机节点
18.nova-scheduler对placement返回的用于创建虚拟机的主机节点进行筛选,根据策略选择一个拟运行虚拟机的目标宿主机返回给nova-conductor;
19.s5、更新资源清单
20.placement更新目标主机节点的可用资源(r1,r2,
……rn
)=原资源总量(o1,o2,
……on
)-分配的虚拟机资源(av1,av2,
……
avn);
21.s6、创建虚拟机
22.nova-conductor让拟运行虚拟机的目标宿主机的nova-compute服务创建虚拟机,nova-compute根据要创建的虚拟机的元数据信息为虚拟机分配资源,并请求镜像服务获取新建虚拟机的镜像信息和创建镜像文件,初始化虚拟网络设备并启动虚拟机;
23.s7、发送创建容器请求
24.用户通过zun组件发出一个创建容器的restful请求到zun-api服务;
25.s8、zun-api接收并解析请求
26.zun-api服务接收到创建容器的请求,并将请求通过消息队列发送到placement组件;
27.s9、placement选择主机节点
28.zun-api服务接收到终端发送过来的请求后,通过消息队列请求placement,placement根据当前存储的节点资源信息(r1,r2,
……rn
)选择一个或多个计算节点来作为创建容器的主机节点;
29.s10、返回目标主机节点
30.zun-api对placement返回的用于创建容器的主机节点进行筛选,根据策略选择一个拟运行容器的目标宿主机,并返回给zun-compute;
31.s11、更新资源清单
32.placement更新目标主机的可用资源(r1’
,r2’

……rn’)=原资源总量(r1,r2,
……rn
)-分配的容器资源(ac1,ac2,
……
acn),并向拟运行容器的目标宿主机上的zun-compute服务发送一个创建容器的消息;
33.s12、创建容器
34.拟运行容器的目标宿主机上的zun-compute接收到消息后,向docker引擎发送一个创建容器的请求,容器引擎响应并创建一个容器。
35.进一步地,所述步骤s3中nova-api通过发消息到消息队列让nova-conductor去创建虚拟机;nova-conductor通过发消息到消息队列让nova-scheduler请求placement。
36.进一步地,placement组件中存储整个集群主机节点的资源清单。
37.进一步地,资源包括vcpu、硬盘和内存。
38.进一步地,当创建虚拟机的请求到来后,placement根据资源请求量按需分配资源(a1,a2,
……an
)给虚拟机。
39.进一步地,所述步骤s6中的元数据信息包括内存和cpu。
40.进一步地,所述步骤s6中,在请求镜像服务获取新建虚拟机的镜像信息和创建镜像文件之后,如果有网卡和数据盘创建请求,则会分别向neutron和cinder服务请求创建对应的资源;最后初始化虚拟网络设备并启动虚拟机。
41.进一步地,所述步骤s7中,用户通过zun组件的命令行终端或web界面发出一个创建容器的restful请求到zun-api服务。
42.进一步地,所述步骤s12具体包括:拟运行容器的目标宿主机上的zun-compute接收到消息后,向neutron服务获取一个可用的网络,然后通过docker引擎再向容器网络组件kuryr发送一个创建网络的消息,随后kuryr创建一个网络,并返回该网络;zun-compute再向docker引擎发送一个创建容器的请求,容器引擎响应并创建一个容器;zun-compute再次向docker引擎发送一个将容器连接到网络的请求,然后docker引擎从kuryr服务获取一个网络,进而将容器连接到网络上。
43.进一步地,placement组件根据虚拟机和容器的创建需求动态维护集群的可用资源列表,根据请求资源的大小和特点根据资源碎片最小化原则选择相应的目标主机进行创建。
44.(三)有益效果
45.本发明提出一种基于国产平台虚拟机和容器的超融合调度方法,本发明针对虚拟机和容器共存的计算环境,为了打破原生框架下对虚拟机和容器资源分别单独管理的结构,基于openstack中用于云平台资源统一管理的placement组件建立统一的资源管理模型。在placement组件中定制开发资源联合调度的数据接口,建立虚拟机与容器资源信息共享的管理机制,当触发虚拟机活动和容器活动时,计算节点的资源使用信息将实时同步,从而实现容器和虚拟机的资源使用量可以互相感知,保证虚拟机和容器使用的资源互相不冲突。本发明实现虚拟机与容器共享物理机资源,以及虚拟机和容器资源的统一管理,从而减少性能损耗,解决传统使用“虚拟化嵌套”或“逻辑融合”方式导致的资源利用率低下的问题。
附图说明
46.图1为本发明处理过程方法流程图;
47.图2为本发明创建虚拟机流程图;
48.图3为本发明虚拟机和容器超融合调度架构示意图。
具体实施方式
49.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
50.本发明的目的在于提供一种基于国产平台虚拟机和容器的超融合调度方法,将虚拟机和容器部署于同一物理节点,且容器直接运行于物理机之上。基于openstack placement组件,修改placement资源调度模块,定制化开发对容器资源的调度管理。实现虚拟机与容器共享物理机资源,以及虚拟机和容器资源的统一管理,从而减少性能损耗,解决传统使用“虚拟化嵌套”或“逻辑融合”方式导致的资源利用率低下的问题。
51.图1是本发明技术方案的主流程图。如图1所示,本发明提出的基于国产平台的虚拟机和容器的超融合调度方法,用于包括国产服务器、国产存储设备和国产交换机构建的系统。
52.针对虚拟机和容器共存的计算环境,为了打破原生框架下对虚拟机和容器资源分别单独管理的结构,基于openstack中用于云平台资源统一管理的placement组件建立统一的资源管理模型。在placement组件中定制开发资源联合调度的数据接口,建立虚拟机与容器资源信息共享的管理机制,当触发虚拟机活动和容器活动时,计算节点的资源使用信息将实时同步,从而实现容器和虚拟机的资源使用量可以互相感知,保证虚拟机和容器使用的资源互相不冲突。
53.本发明方法包括下列步骤:
54.s1、发送创建虚拟机请求
55.用户首先通过restful api向keystone组件(身份认证)获取认证,然后向nova-api进程发送一个创建虚拟机的请求,并携带获取的认证信息和创建虚拟机的参数。
56.s2、nova-api接收并解析请求
57.nova-api将认证信息发送到keystone里确认认证信息是否有效,认证通过后且nova-api检查权限通过后向数据库写入新建虚拟机的数据库记录。
58.s3、placement选择主机节点
59.nova-api通过发消息到消息队列让nova-conductor去创建虚拟机,nova-conductor通过发消息到消息队列让nova-scheduler请求placement,placement根据请求的资源数量和特征选择用于创建虚拟机的一个或多个主机节点。
60.s4、返回目标主机节点
61.nova-scheduler对placement返回的用于创建虚拟机的主机节点进行筛选,根据策略选择一个拟运行虚拟机的目标宿主机返回给nova-conductor。
62.s5、更新资源清单
63.由于placement组件中存储整个集群主机节点的资源清单,包括vcpu、硬盘、内存等信息,当上述创建虚拟机的请求到来后,placement根据资源请求量按需分配资源(a1,a2,
……an
)给虚拟机,同时,placement更新目标主机节点的可用资源(r1,r2,
……rn
)=原资源总量(o1,o2,
……on
)-分配的虚拟机资源(av1,av2,
……
avn)。
64.s6、创建虚拟机
65.nova-conductor通过发消息到消息队列请求让拟运行虚拟机的目标宿主机的nova-compute服务创建虚拟机,nova-compute根据要创建的虚拟机的元数据信息,如内存、cpu等信息,为虚拟机分配资源,并请求镜像服务获取新建虚拟机的镜像信息和创建镜像文件,如果有网卡和数据盘创建请求,则会分别向neutron和cinder服务请求创建对应的资源;最后初始化虚拟网络设备并启动虚拟机。
66.创建虚拟机流程图如图2所示。
67.s7、发送创建容器请求
68.用户通过zun组件的命令行终端或web界面发出一个创建容器的restful请求到zun-api服务。
69.s8、zun-api接收并解析请求
70.zun-api服务接收到创建容器的请求,并将请求通过消息队列发送到placement组件。
71.s9、placement选择主机节点
72.zun-api服务接收到终端发送过来的请求后,通过消息队列请求placement,placement根据当前存储的节点资源信息(r1,r2,
……rn
)选择一个或多个计算节点来作为创建容器的主机节点(若创建虚拟机的节点上可用资源满足创建容器的资源需求,则也可返回该目标主机节点)。
73.s10、返回目标主机节点
74.zun-api对placement返回的用于创建容器的主机节点进行筛选,根据策略选择一个拟运行容器的目标宿主机,并返回给zun-compute。
75.s11、更新资源清单
76.placement更新目标主机的可用资源(r1’
,r2’

……rn’)=原资源总量(r1,r2,
……rn
)-分配的容器资源(ac1,ac2,
……
acn)。并向拟运行容器的目标宿主机上的zun-compute服务发送一个创建容器的消息。
77.s12、创建容器
78.拟运行容器的目标宿主机上的zun-compute接收到消息后,向neutron服务获取一个可用的网络,然后通过docker引擎再向kuryr(容器网络组件)发送一个创建网络的消息,随后kuryr创建一个网络,并返回该网络。zun-compute再向docker引擎发送一个创建容器的请求,容器引擎响应并创建一个容器。zun-compute再次向docker引擎发送一个将容器连接到网络的请求,然后docker引擎从kuryr服务获取一个网络,进而将容器连接到网络上。
79.此后,根据虚拟机和容器的创建需求,placement组件动态维护集群的可用资源列表,根据请求资源的大小和特点根据资源碎片最小化原则选择相应的目标主机进行创建,相比传统方式提高了资源利用率。
80.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献