CN113766005B - 一种基于rdma的批量创建云主机的方法、系统 - Google Patents
一种基于rdma的批量创建云主机的方法、系统 Download PDFInfo
- Publication number
- CN113766005B CN113766005B CN202110861840.7A CN202110861840A CN113766005B CN 113766005 B CN113766005 B CN 113766005B CN 202110861840 A CN202110861840 A CN 202110861840A CN 113766005 B CN113766005 B CN 113766005B
- Authority
- CN
- China
- Prior art keywords
- rdma
- component
- service component
- computing
- cloud host
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 claims abstract description 72
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003818 cinder Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于RDMA的批量创建云主机的方法、系统,所述方法包括如下步骤:在集群各组件中安装HCA卡并设置RDMA接口;接收创建云主机的请求;请求中包括云主机配置信息和token;调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息;计算节点将获取到的所有资源信息传输给虚拟机创建模块进行虚拟机的创建。减少频繁读取数据库,进而提高创建云主机效率。
Description
技术领域
本发明涉及云主机创建技术领域,具体涉及一种基于RDMA的批量创建云主机的方法、系统。
背景技术
OpenStack作为开源的云计算操作系统,已经有很多厂商将其作为自己私有云和公有云的云操作系统,而创建云主机是他对外提供计算、网络、存储的基础单元,随着新基建和人工智能发展的推动,以开源OpenStack为云计算操作系统或者以开源OpenStack为基础自主开发云计算操作系统是很多公司发展自己云计算的途径,所以,OpenStack已经成为当前的热点技术之一。
云主机作为云计算对外提供计算、网络、存储的最基本的单元,是云计算的基础,所以,创建云主机也是云计算中非常重要的功能。批量创建云主机是具有实际应用场景的需求,他能满足为一个租户(组织、部门或者公司)内的用户快速创建云主机提供便利,方便租户管理员对云主机的创建、减轻管理员压力。
当前批量创建云主机的过程:(1)基于主流TCP/IP协议进行传输,并且主要传输的消息类型是短消息,此类消息的发送端和接受端的处理开销占整个通信的主导地位,所以处理开销非常大,导致创建性能非常低下;(2)一般都使用同一种配置信息或者有限的几种配置信息,但创建流程中需要频繁读取数据库,取得相同或者有限的几种配置信息,导致效率低下;(3),创建流程中对token信息进行身份验证需要频繁读取数据库,取得相同的token信息,导致效率低下。
发明内容
针对当前批量创建云主机的过程:(1)基于主流TCP/IP协议进行传输,并且主要传输的消息类型是短消息,此类消息的发送端和接受端的处理开销占整个通信的主导地位,所以处理开销非常大,导致创建性能非常低下;(2)一般都使用同一种配置信息或者有限的几种配置信息,但创建流程中需要频繁读取数据库,取得相同或者有限的几种配置信息,导致效率低下;(3),创建流程中对token信息进行身份验证需要频繁读取数据库,取得相同的token信息,导致效率低下的问题,本发明提供一种基于RDMA的批量创建云主机的方法、系统。
本发明的技术方案是:
一方面,本发明技术方案提供一种基于RDMA的批量创建云主机的方法,包括如下步骤:
在集群各组件中安装HCA卡并设置RDMA接口和RDMA缓存;
接收创建云主机的请求;请求中包括云主机配置信息和token;
调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息;
计算节点将获取到的所有资源信息传输给虚拟机创建模块进行虚拟机的创建。
直接实现内存到内存的复制,既减少了复制次数,又节省处理器资源,从而大大提升创建效率。
优选地,集群各组件包括计算服务组件、认证服务组件、镜像服务组件、网络服务组件、存储服务组件;
所述的计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息的步骤包括:
计算节点调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息。
减少现在流程中频繁读取数据库,进而提高创建云主机效率。
优选地,所述的调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存的步骤中,调用RDMA接口通过HCA卡发送token进行验证的步骤包括:
计算组件接口将接收到的token调用RDMA接口通过HCA卡传输到认证服务组件进行验证,验证通过后,生成token信息并存储到认证服务组件的数据库中;同时,调用RDMA接口通过HCA卡返回验证成功信息到计算组件接口。
优选地,所述的获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点的步骤具体包括:
计算组件接口将创建云主机的请求通过计算服务组件的消息队列传输到宿主机;
宿主机将获取云主机配置信息的请求发送给计算服务组件数据库;
计算服务组件数据库根据请求将云主机配置信息传输给宿主机;
宿主机根据接收到的云主机配置信息确定创建云主机的计算节点。
优选地,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和镜像请求到镜像服务组件;
镜像服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,镜像服务组件收到token验证通过后将本组件RDMA缓存的镜像信息传输给发出镜像请求的计算节点。
优选地,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和网络资源请求到网络服务组件;
网络服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,网络服务组件收到token验证通过后将本组件RDMA缓存的网络资源信息传输给发出网络资源请求的计算节点。
优选地,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和存储资源请求到存储服务组件;
存储服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,存储服务组件收到token验证通过后将本组件RDMA缓存的存储资源信息传输给发出存储资源请求的计算节点。
短消息直接内存传输,不需要内核态用户态的上下文切换,提升数据传输效率;高频使用的相同数据的RDMA缓存机制,减少数据库的读取次数,进而提升取得数据的效率。
优选地,调用RDMA接口通过HCA卡发送token进行验证的步骤之前包括:
认证服务组件将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存。
优选地,所述的认证服务组件将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存的步骤包括:
发送缓存申请到本地RDMA缓存;
判断RDMA缓存剩余容量是否大于新增用户token信息总量;
若是,将新增用户token信息放入申请到的RDMA缓存页面中;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;
若否,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;执行步骤:将新增用户token信息放入申请到的RDMA缓存页面中;
判断容量是否超RDMA缓存总容量的设定百分比;
若是,将RDMA缓存中权重低的页面清除;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;
若否,结束。
保持RDMA缓存中数据容量不超过总容量设定百分比。清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于或等于新增用户token信息的总量。
优选地,所述的将数据库新增的云主机配置信息同步到RDMA缓存的步骤包括:
发送缓存申请到本地RDMA缓存;
判断RDMA缓存剩余容量是否大于新增云主机配置信息的总量;
若是,将新增云主机配置信息放入申请到的RDMA缓存页面中;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;
若否,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;执行步骤:将新增云主机配置信息放入申请到的RDMA缓存页面中;
判断容量是否超RDMA缓存总容量的设定百分比;若是,将RDMA缓存中权重低的页面清除;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;若否,结束。
集群各组件中使用支持RDMA协议的HCA卡替换常规TCP/IP网卡,计算服务组件中增加基于RDMA接口的高频数据存取机制及RDMA缓存的缓存池中使用LRU算法(LeastRecently Used最近最久未使用算法)调度RDMA缓存页面; 认证服务组件中增加基于RDMA接口的高频数据存取机制及RDMA缓存的缓存池中使用LRU算法调度RDMA缓存页面。
另一方面,本发明技术方案还提供一种基于RDMA的批量创建云主机的系统,包括OpenStack集群,集群各组件安装有HCA卡,集群各组件设置有RDMA接口和RDMA缓存,集群各组件调用RDMA接口通过HCA卡进行数据传输;
集群各组件包括计算服务组件、用于提供认证服务的认证服务组件、用于提供镜像服务的镜像服务组件、用于提供网络服务的网络服务组件、用于提供存储服务的存储服务组件;
计算服务组件包括计算组件接口、宿主机、计算节点、数据库和虚拟机创建模块;
计算组件接口,用于接收创建云主机的请求;请求中包括云主机配置信息和token;调用RDMA接口通过HCA卡发送token到认证服务组件进行验证,接收到验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
宿主机,用于获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
计算节点,用于调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件的RDMA缓存的镜像信息;调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件的RDMA缓存的网络资源信息;调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡的通信,获取存储服务组件的RDMA缓存的存储资源信息;将获取到的所有资源信息传输给虚拟机创建模块;
虚拟机创建模块,用于根据接收到的资源信息创建云主机。
优选地,计算组件接口,还用于将创建云主机的请求通过计算服务组件的消息队列传输到宿主机;
宿主机,用于将获取云主机配置信息的请求发送给计算服务组件数据库;并接收计算服务组件数据库根据请求返回的云主机配置信息;根据接收到的云主机配置信息确定创建云主机的计算节点。
优选地,计算节点,用于调用RDMA接口通过计算服务组件HCA卡传输token和镜像请求到镜像服务组件;
镜像服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的镜像信息传输给发出镜像请求的计算节点。
优选地,计算节点,还用于调用RDMA接口通过计算服务组件HCA卡传输token和网络资源请求到网络服务组件;
网络服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的网络资源信息传输给发出网络资源请求的计算节点。
优选地,计算节点,用于调用RDMA接口通过计算服务组件HCA卡传输token和存储资源请求到存储服务组件;
存储服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的存储资源信息传输给发出存储资源请求的计算节点。
优选地,认证服务组件,用于将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存;
认证服务组件,具体用于发送缓存申请到本地RDMA缓存;判断RDMA缓存剩余容量是否大于新增用户token信息总量;将新增用户token信息放入申请到的RDMA缓存页面中,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;判断容量是否超RDMA缓存总容量的设定百分比。保持RDMA缓存中数据容量不超过总容量设定百分比。清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于或等于新增用户token信息的总量。
优选地,计算服务组件,用于将数据库新增的云主机配置信息同步到RDMA缓存;具体用于发送缓存申请到本地RDMA缓存;判断RDMA缓存剩余容量是否大于新增云主机配置信息的总量;将新增云主机配置信息放入申请到的RDMA缓存页面中;计算RDMA缓存中页面权重并排序;将RDMA缓存中权重低的页面清除;判断容量是否超RDMA缓存总容量的设定百分比。
从以上技术方案可以看出,本发明具有以下优点:使用远程直接内存访问技术,使得现在流程中频繁传输的短消息不需要操作系统层的复制,直接实现内存到内存的复制,既减少了复制次数,又节省处理器资源,从而大大提升创建效率;并且,将高频信息(云主机配置信息和用户token信息)写入到RDMA缓存,减少频繁读取数据库,进而提高创建云主机效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的创建云主机流程总览图。
图3是本发明一个实施例中将token写入RDMA缓存的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。本申请中缩略语和关键术语定义如下:
RDMA(Remote Direct Memory Access) 远程直接内存访问;
HCA(Host Channel Adapter) 主机通道适配器;
Keystone 为其他各组件提供认证服务,本申请中同认证服务组件;
Neutron 为nova提供网络服务,本申请中同网络服务组件;
Glance 为nova提供镜像服务,本申请中同镜像服务组件;
dashboard控制面板;
nova是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源,nova 组件在本申请中同计算服务组件;
nova-api 负责接收和响应用户请求,本申请中同计算组件接口;
nova-scheduler 负责选择虚拟机的宿主机,本申请中同宿主机;
nova-compute 管理虚拟机的整个生命周期(从创建到删除),并实现虚拟机迁移、快照等功能,本申请中同计算节点;
OpenStack 云计算操作系统。
如图1所示,本发明实施例提供一种基于RDMA的批量创建云主机的方法,包括如下步骤:
步骤11:在集群各组件中安装HCA卡并设置RDMA接口和RDMA缓存;
步骤12:接收创建云主机的请求;请求中包括云主机配置信息和token;
步骤13:调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
步骤14:获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
步骤15:计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息;
步骤16:计算节点将获取到的所有资源信息传输给虚拟机创建模块进行虚拟机的创建。
直接实现内存到内存的复制,既减少了复制次数,又节省处理器资源,从而大大提升创建效率。
如图2所示,需要说明的是,集群各组件包括计算服务组件、认证服务组件、镜像服务组件、网络服务组件、存储服务组件;
所述的计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息的步骤包括:
计算节点调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息。
减少现在流程中频繁读取数据库,进而提高创建云主机效率。
在有些实施例中,步骤13中,调用RDMA接口通过HCA卡发送token进行验证的步骤包括:
计算组件接口将接收到的token调用RDMA接口通过HCA卡传输到认证服务组件进行验证,验证通过后,生成token信息并存储到认证服务组件的数据库中;同时,调用RDMA接口通过HCA卡返回验证成功信息到计算组件接口。
在有些实施例中,步骤14中,所述的获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点的步骤具体包括:
步骤141:计算组件接口将创建云主机的请求通过计算服务组件的消息队列传输到宿主机;
步骤142:宿主机将获取云主机配置信息的请求发送给计算服务组件数据库;
步骤143:计算服务组件数据库根据请求将云主机配置信息传输给宿主机;
步骤144:宿主机根据接收到的云主机配置信息确定创建云主机的计算节点。
在有些实施例中,步骤15中,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息的步骤包括:
步骤15-11:计算节点调用RDMA接口通过计算服务组件HCA卡传输token和镜像请求到镜像服务组件;
步骤15-12:镜像服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
步骤15-13:认证服务组件通过本组件的HCA卡返回验证结果,镜像服务组件收到token验证通过后将本组件RDMA缓存的镜像信息传输给发出镜像请求的计算节点。
步骤15中,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息的步骤包括:
步骤15-21:计算节点调用RDMA接口通过计算服务组件HCA卡传输token和网络资源请求到网络服务组件;
步骤15-22:网络服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
步骤15-23:认证服务组件通过本组件的HCA卡返回验证结果,网络服务组件收到token验证通过后将本组件RDMA缓存的网络资源信息传输给发出网络资源请求的计算节点。
步骤15中,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息的步骤包括:
步骤15-31:计算节点调用RDMA接口通过计算服务组件HCA卡传输token和存储资源请求到存储服务组件;
步骤15-32:存储服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
步骤15-33:认证服务组件通过本组件的HCA卡返回验证结果,存储服务组件收到token验证通过后将本组件RDMA缓存的存储资源信息传输给发出存储资源请求的计算节点。
短消息直接内存传输,不需要内核态用户态的上下文切换,提升数据传输效率;高频使用的相同数据的RDMA缓存机制,减少数据库的读取次数,进而提升取得数据的效率。
在有些实施例中,步骤13中,调用RDMA接口通过HCA卡发送token进行验证的步骤之前包括步骤123:认证服务组件将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存。
需要说明的是,如图3所示,步骤123的步骤具体包括:
步骤1231:发送缓存申请到本地RDMA缓存;
步骤1232:判断RDMA缓存剩余容量是否大于新增用户token信息总量; 若是,执行步骤1234,若否,执行步骤1233;
步骤1233:计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;执行步骤1234;
步骤1234:将新增用户token信息放入申请到的RDMA缓存页面中;
步骤1235:判断容量是否超RDMA缓存总容量的设定百分比;若是,执行步骤1236,若否,执行步骤1237;
步骤1236:将RDMA缓存中权重低的页面清除;执行步骤1235;
步骤1237:结束。
保持RDMA缓存中数据容量不超过总容量设定百分比。清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于或等于新增用户token信息的总量。
在有些实施例中,步骤13中,所述的将数据库新增的云主机配置信息同步到RDMA缓存的步骤包括:
发送缓存申请到本地RDMA缓存;
判断RDMA缓存剩余容量是否大于新增云主机配置信息的总量;
若是,将新增云主机配置信息放入申请到的RDMA缓存页面中;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;
若否,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;执行步骤:将新增云主机配置信息放入申请到的RDMA缓存页面中;
判断容量是否超RDMA缓存总容量的设定百分比;若是,将RDMA缓存中权重低的页面清除;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;若否,结束。
集群各组件中使用支持RDMA协议的HCA卡替换常规TCP/IP网卡,nova组件中增加基于RDMA接口的高频数据存取机制及RDMA缓存的缓存池中使用LRU算法(Least RecentlyUsed最近最久未使用算法)调度RDMA缓存页面; 认证服务组件中增加基于RDMA接口的高频数据存取机制及RDMA缓存的缓存池中使用LRU算法调度RDMA缓存页面。
需要说明的是,本申请中首先通过dashboard登录页面,传输账号密码到keystone,进行身份验证。keystone验证通过后,生成token信息并存储在数据库中,并传输返回token给该用户,这一过程采用原有的TCP/IP 协议完成。然后nova接收创建云主机的请求。
本发明在OpenStack的各个组件上增加RDMA接口;其中,nova组件的RDMA接口中,实现对数据缓存池的淘汰调整算法,将新增的云主机配置信息写入RDMA缓存中,并通过RDMA网络可以直接读取配置信息数据到本节点缓存; Keystone组件的RDMA接口中,实现对数据缓存池的淘汰调整算法,将新增的用户token信息写入RDMA缓存中,并通过RDMA网络将配置信息数据直接读取到本节点缓存; OpenStack集群中使用支持RDMA协议的HCA卡替换常规网卡,打通源节点与目标节点网络通道。主要实现方法:
OpenStack的各个组件中设计增加RDMA接口和RDMA缓存;nova组件将数据库中新增的云主机配置信息同步写入RDMA缓存,具体流程如上述实施例所述,需要说明的是,设定百分比为总容量90%,清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于等于新增云主机配置信息的容量;将新增云主机配置信息放入申请到的RDMA缓存页面中,保持数据容量不超过总容量90%;
同样,Keystone组件将数据库新增的用户token信息同步写入RDMA缓存缓存池,设定百分比为总容量90%;清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于等于新增用户token信息的容量;将新增云用户token信息放入申请到的RDMA缓存页面中,保持数据容量不超过总容量90%。OpenStack各个组件(即 nova、glance、neutron、cinder)通过RDMA网络可以直接读取到云主机配置信息和用户token信息。
如图2所示,本发明技术方案还提供一种基于RDMA的批量创建云主机的系统,包括OpenStack集群,集群各组件安装有HCA卡,集群各组件设置有RDMA接口和RDMA缓存,集群各组件调用RDMA接口通过HCA卡进行数据传输;
集群各组件包括计算服务组件、用于提供认证服务的认证服务组件、用于提供镜像服务的镜像服务组件、用于提供网络服务的网络服务组件、用于提供存储服务的存储服务组件;
计算服务组件包括计算组件接口、宿主机、计算节点、数据库和虚拟机创建模块;
计算组件接口,用于接收创建云主机的请求;请求中包括云主机配置信息和token;调用RDMA接口通过HCA卡发送token到认证服务组件进行验证,接收到验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
宿主机,用于获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
计算节点,用于调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件的RDMA缓存的镜像信息;调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件的RDMA缓存的网络资源信息;调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡的通信,获取存储服务组件的RDMA缓存的存储资源信息;将获取到的所有资源信息传输给虚拟机创建模块;
虚拟机创建模块,用于根据接收到的资源信息创建云主机。
在有些实施例中,计算组件接口,还用于将创建云主机的请求通过计算服务组件的消息队列传输到宿主机;
宿主机,用于将获取云主机配置信息的请求发送给计算服务组件数据库;并接收计算服务组件数据库根据请求返回的云主机配置信息;根据接收到的云主机配置信息确定创建云主机的计算节点。
在有些实施例中,计算节点,用于调用RDMA接口通过计算服务组件HCA卡传输token和镜像请求到镜像服务组件;
镜像服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的镜像信息传输给发出镜像请求的计算节点。
需要说明的是,镜像服务组件中镜像服务模块将本组件数据库中的镜像信息调用本组件的RDMA接口通过HCA卡返回给计算节点。
在有些实施例中,计算节点,还用于调用RDMA接口通过计算服务组件HCA卡传输token和网络资源请求到网络服务组件;
网络服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的网络资源信息传输给发出网络资源请求的计算节点。
需要说明的是,网络服务组件中网络服务模块将本组件数据库中的网络资源信息调用本组件的RDMA接口通过HCA卡返回给计算节点。
在有些实施例中,计算节点,用于调用RDMA接口通过计算服务组件HCA卡传输token和存储资源请求到存储服务组件;
存储服务组件,用于通过本组件的HCA卡传输token到认证服务组件进行验证;接收到认证服务组件通过本组件的HCA卡返回验证结果后,将本组件RDMA缓存的存储资源信息传输给发出存储资源请求的计算节点。
需要说明的是,存储服务组件中存储服务模块将本组件数据库中的存储资源信息调用本组件的RDMA接口通过HCA卡返回给计算节点。
在有些实施例中,认证服务组件,用于将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存;
认证服务组件,具体用于发送缓存申请到本地RDMA缓存;判断RDMA缓存剩余容量是否大于新增用户token信息总量;将新增用户token信息放入申请到的RDMA缓存页面中,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;判断容量是否超RDMA缓存总容量的设定百分比。保持RDMA缓存中数据容量不超过总容量设定百分比。清除页面选择计算方法:选择页面权重最低的N个页面,N个页面的容量大于或等于新增用户token信息的总量。
计算服务组件,用于将数据库新增的云主机配置信息同步到RDMA缓存;具体用于发送缓存申请到本地RDMA缓存;判断RDMA缓存剩余容量是否大于新增云主机配置信息的总量;将新增云主机配置信息放入申请到的RDMA缓存页面中;计算RDMA缓存中页面权重并排序;将RDMA缓存中权重低的页面清除;判断容量是否超RDMA缓存总容量的设定百分比。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种基于RDMA的批量创建云主机的方法,其特征在于,包括如下步骤:
在集群各组件中安装HCA卡并设置RDMA接口和RDMA缓存;
接收创建云主机的请求;请求中包括云主机配置信息和token;
调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息;
计算节点将获取到的所有资源信息传输给虚拟机创建模块进行虚拟机的创建;
集群各组件包括计算服务组件、认证服务组件、镜像服务组件、网络服务组件、存储服务组件;
所述的计算节点分别调用RDMA接口通过HCA卡与集群各组件HCA卡通信,获取相应的资源信息的步骤包括:
计算节点调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息;
计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息。
2.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的调用RDMA接口通过HCA卡发送token进行验证,验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存的步骤中,调用RDMA接口通过HCA卡发送token进行验证的步骤包括:
计算组件接口将接收到的token调用RDMA接口通过HCA卡传输到认证服务组件进行验证,验证通过后,生成token信息并存储到认证服务组件的数据库中;同时,调用RDMA接口通过HCA卡返回验证成功信息到计算组件接口。
3.根据权利要求2所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点的步骤具体包括:
计算组件接口将创建云主机的请求通过计算服务组件的消息队列传输到宿主机;
宿主机将获取云主机配置信息的请求发送给计算服务组件数据库;
计算服务组件数据库根据请求将云主机配置信息传输给宿主机;
宿主机根据接收到的云主机配置信息确定创建云主机的计算节点。
4.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件RDMA缓存的镜像信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和镜像请求到镜像服务组件;
镜像服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,镜像服务组件收到token验证通过后将本组件RDMA缓存的镜像信息传输给发出镜像请求的计算节点。
5.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件RDMA缓存的网络资源信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和网络资源请求到网络服务组件;
网络服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,网络服务组件收到token验证通过后将本组件RDMA缓存的网络资源信息传输给发出网络资源请求的计算节点。
6.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的计算节点调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡通信,获取存储服务组件RDMA缓存的存储资源信息的步骤包括:
计算节点调用RDMA接口通过计算服务组件HCA卡传输token和存储资源请求到存储服务组件;
存储服务组件通过本组件的HCA卡传输token到认证服务组件进行验证;
认证服务组件通过本组件的HCA卡返回验证结果,存储服务组件收到token验证通过后将本组件RDMA缓存的存储资源信息传输给发出存储资源请求的计算节点。
7.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,调用RDMA接口通过HCA卡发送token进行验证的步骤之前包括:
认证服务组件将本组件数据库中新增的用户token信息同步写入认证服务组件RDMA缓存。
8.根据权利要求1所述的基于RDMA的批量创建云主机的方法,其特征在于,所述的将数据库新增的云主机配置信息同步到RDMA缓存的步骤包括:
发送缓存申请到本地RDMA缓存;
判断RDMA缓存剩余容量是否大于新增云主机配置信息的总量;
若是,将新增云主机配置信息放入申请到的RDMA缓存页面中;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;
若否,计算RDMA缓存中页面权重并排序,将RDMA缓存中权重低的页面清除;执行步骤:将新增云主机配置信息放入申请到的RDMA缓存页面中;
判断容量是否超RDMA缓存总容量的设定百分比;若是,将RDMA缓存中权重低的页面清除;执行步骤:判断容量是否超RDMA缓存总容量的设定百分比;若否,结束。
9.一种基于RDMA的批量创建云主机的系统,其特征在于,包括OpenStack集群,集群各组件安装有HCA卡,集群各组件设置有RDMA接口并设置RDMA缓存,集群各组件调用RDMA接口通过HCA卡进行数据传输;
集群各组件包括计算服务组件、用于提供认证服务的认证服务组件、用于提供镜像服务的镜像服务组件、用于提供网络服务的网络服务组件、用于提供存储服务的存储服务组件;
计算服务组件包括计算组件接口、宿主机、计算节点、数据库和虚拟机创建模块;
计算组件接口,用于接收创建云主机的请求;请求中包括云主机配置信息和token;调用RDMA接口通过HCA卡发送token到认证服务组件进行验证,接收到验证通过后,将云主机配置信息写入数据库,同时将数据库新增的云主机配置信息同步到RDMA缓存;
宿主机,用于获取云主机配置信息并根据获取的云主机配置信息确定创建云主机的计算节点;
计算节点,用于调用RDMA接口获取计算服务组件RDMA缓存的云主机配置信息;调用RDMA接口通过计算服务组件HCA卡与镜像服务组件的HCA卡通信,获取镜像服务组件的RDMA缓存的镜像信息;调用RDMA接口通过计算服务组件HCA卡与网络服务组件的HCA卡通信,获取网络服务组件的RDMA缓存的网络资源信息;调用RDMA接口通过计算服务组件HCA卡与存储服务组件的HCA卡的通信,获取存储服务组件的RDMA缓存的存储资源信息;将获取到的所有资源信息传输给虚拟机创建模块;
虚拟机创建模块,用于根据接收到的资源信息创建云主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861840.7A CN113766005B (zh) | 2021-07-29 | 2021-07-29 | 一种基于rdma的批量创建云主机的方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861840.7A CN113766005B (zh) | 2021-07-29 | 2021-07-29 | 一种基于rdma的批量创建云主机的方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113766005A CN113766005A (zh) | 2021-12-07 |
CN113766005B true CN113766005B (zh) | 2023-04-28 |
Family
ID=78788222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861840.7A Active CN113766005B (zh) | 2021-07-29 | 2021-07-29 | 一种基于rdma的批量创建云主机的方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113766005B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212116A (zh) * | 2019-12-24 | 2020-05-29 | 湖南舜康信息技术有限公司 | 一种基于容器云的高性能计算集群创建方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440202B (zh) * | 2013-08-07 | 2016-12-28 | 华为技术有限公司 | 一种基于rdma的通信方法、系统及通信设备 |
CN110071900B (zh) * | 2018-01-23 | 2020-11-17 | 华为技术有限公司 | 数据发送的方法及设备 |
CN108614726B (zh) * | 2018-03-22 | 2022-06-10 | 华为云计算技术有限公司 | 虚拟机创建方法及装置 |
CN112468545A (zh) * | 2020-11-12 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种云主机创建方法、装置、系统、设备及可读存储介质 |
CN112463035B (zh) * | 2020-11-12 | 2022-08-09 | 苏州浪潮智能科技有限公司 | 一种基于云平台使用存储设备的方法、系统、设备及介质 |
CN112463296B (zh) * | 2020-11-25 | 2022-06-03 | 苏州浪潮智能科技有限公司 | 一种创建虚拟机的方法及装置 |
-
2021
- 2021-07-29 CN CN202110861840.7A patent/CN113766005B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212116A (zh) * | 2019-12-24 | 2020-05-29 | 湖南舜康信息技术有限公司 | 一种基于容器云的高性能计算集群创建方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113766005A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102782670B (zh) | 存储器高速缓存数据中心 | |
CN106469085B (zh) | 虚拟机在线迁移方法、装置及系统 | |
US20170264610A1 (en) | Data processing method and apparatus based on mobile application entrance and system | |
CN106487742B (zh) | 用于验证源地址有效性的方法及装置 | |
CN109684414B (zh) | 区块数据的同步方法、装置、设备及存储介质 | |
US11550713B1 (en) | Garbage collection in distributed systems using life cycled storage roots | |
CN103180842A (zh) | 云计算系统和用于该云计算系统的数据同步方法 | |
WO2019237594A1 (zh) | 会话保持方法、装置、计算机设备及存储介质 | |
EP3441884B1 (en) | Method for managing translation lookaside buffer and multi-core processor | |
CN103412822B (zh) | 操作非易失性内存和数据操作的方法和相关装置 | |
US10817327B2 (en) | Network-accessible volume creation and leasing | |
US11068461B1 (en) | Monitoring key access patterns for nonrelational databases | |
EP4071609A1 (en) | Node management method, device and apparatus, storage medium, and system | |
CN112445570A (zh) | 一种云平台资源迁移方法及其装置、存储介质 | |
WO2023016414A1 (zh) | 凭据的轮转方法、计算设备及存储介质 | |
CN115604120B (zh) | 一种多云集群资源共享方法、装置、设备及存储介质 | |
US11106551B1 (en) | Compute capacity reservations for disaster recovery scenarios | |
CN114710263B (zh) | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 | |
CN113138972A (zh) | 数据迁移方法及装置、存储介质及电子设备 | |
US20230224216A1 (en) | System and method for subscription limitation enforcement in distributed system | |
CN113766005B (zh) | 一种基于rdma的批量创建云主机的方法、系统 | |
CN101777979B (zh) | 一种智能密钥设备的工作方法和系统 | |
CN112711469A (zh) | 云主机迁移方法、装置、计算机设备和存储介质 | |
CN111638976A (zh) | 基于共享内存的数据传输方法及系统 | |
CN107943664B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |