实现OpenStack高可用的方法与系统技术方案

技术编号:15541131 阅读:67 留言:0更新日期:2017-06-05 10:41
本发明专利技术公开了实现OpenStack高可用的方法与系统,其所基于的控制系统包括调度器、两台配置相同的控制节点和多台计算节点,调度器接收客户端的虚拟机处理请求,根据两台控制节点在各计算节点的负载情况,确定负载量小的控制节点为目标控制节点,将虚拟机处理请求发送给目标控制节点,目标控制节点根据多台计算节点的资源使用情况,确定目标计算节点,并将虚拟机处理请求发送给目标计算节点来响应数据请求。当任意一台控制节点或计算节点出现故障,其他正常运行的控制节点或计算节点接管故障节点的任务,并且各控制节点至少存在两台独立的数据库,各数据库保存的数据相同,若一台数据库故障,其他数据库接管此数据库任务。

Methods and systems for implementing OpenStack high availability

The invention discloses a method and system to realize OpenStack high availability, the control system includes two units based on the scheduler, the same configuration control node and multiple computing nodes, the scheduler receives the client virtual machine to process the request, according to the two control nodes in each node of the load calculation, determine the small amount of node load control as the target control node, the virtual machine processing request is sent to the target control node, control node according to multiple computing nodes of resource usage, determine the target node, and the virtual machine to handle the request sent to the target computing nodes in response to the data request. When any one control node or nodes failure, control node or other computing nodes running over the fault node task, and at least two independent database on each control node, the database stores the same data, if a database fails, the other to take over the task of database database.

【技术实现步骤摘要】
实现OpenStack高可用的方法与系统
本专利技术涉及OpenStack云计算平台领域,特别涉及一种实现OpenStack控制系统中任意一个控制节点上的数据库高可用的方法与装置、一种实现OpenStack高可用的方法与系统。
技术介绍
目前,随着物联网、移动应用的兴起,信息系统需要处理的数据量相比过去有几何级的提升,因此,企业的应用对数据库的要求已不再是简单某一时间内能够处理“增、删、改、查”等请求的效率及响应时间等性能;还需要解决的是,当数据库遇到故障时,对用户的服务不能间断,并且数据库应该具有更高的吞吐量(数据库在一定时间内成功处理更高数据量的数据)。面对上述需要解决的问题,越来越多的企业采用OpenStack来处理企业的业务,由于OpenStack可以将其控制节点中的多台数据库,组成一个数据库集群,当任何一台数据库出现故障时,数据库集群中的其他数据库可以接替此数据库的任务来为用户提供服务,因此可以不间断的为用户提供服务;此外,当客户端应用程序负载增加时,将新的数据库添加到数据库集群,实现对数据库集群的横向扩展,使得数据库集群对数据具有更高的吞吐量,进而满足企业的应用。现有技术中,采用Share-Disk架构来实现数据库集群,此数据库集群中数据库共享一个数据库来存储数据。此外,Share-Disk架构实现的数据库集群存在两种方式,一种方式为:集群中只有一台数据库对外提供服务,其他数据库作为冗余服务器(此种方式称为单活),当对外提供服务的数据库出现故障时,冗余服务器对外提供服务;另一种方式为:数据库集群中所有的数据库都对外提供服务(此种方式成称双活),典型的产品为RAC。
技术实现思路
专利技术人在研究过程中发现,现有技术中Share-Disk架构提供的两种数据库集群方式都存在一定问题。在前一种数据库集群中,由于,同一时间内集群中只有一台数据库对外提供服务,从而造成硬件资源的严重浪费,无法提升数据库集群对外提供服务的性能;在后一种数据库集群中,由于RAC的技术性非常高,因此需要水平较高的人来运维系统,并且,RAC需要与其相配的客户端应用程序来使用,若RAC与客户端应用程序不匹配,导致RAC的数据库性能极剧下降;此外,这两种方式实现的数据库集群,集群共享一个数据库来存储数据,存储方面存在单点故障,即当共享数据库出现问题时,整个数据库集群无法正常工作。有鉴于此,本专利技术的主要目的是克服现有技术中Share-Disk架构提供的两种数据库集群的缺点,实现符合企业应用的高可用数据库集群方案,进而实现用于企业OpenStack的高可用。为此,本专利技术解决上述问题的技术方案是:一种实现数据库高可用的方法,其特征在于,所述方法应用于基于OpenStack的控制系统的任意一个控制节点上,所述控制系统包括两个控制节点和多个计算节点;该方法包括:接收不同客户端发送的虚拟机处理请求;按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点;将所述虚拟机处理请求发送至所述目标计算节点,以便所述目标计算节点执行所述数据请求。优选地,一种实现数据库高可用的方法,其特征在于,还包括:获取所述虚拟机处理请求中的虚拟机处理信息,所述虚拟机处理信息包括:虚拟机创建信息、删除信息或修改信息;将所述客户端和与其对应的所述虚拟机处理信息存储至数据库的计算节点表中。优选地,一种实现数据库高可用的方法,其特征在于,还包括:监控所述多个计算节点上的虚拟机的运行状态;依据所述虚拟机的运行状态统计各计算节点的资源使用情况;将所述各计算节点的资源使用情况保存在数据库的计算节点表中。优选地,按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点,包括:将资源使用最少的计算节点确定为响应所述虚拟机处理请求的目标计算节点。本专利技术提供一种实现数据库高可用的装置,其特征在于,所述装置集成于基于OpenStack的控制系统的任意一个控制节点上,所述控制系统包括两个控制节点和多个计算节点;所述装置包括:接收请求单元,用于接收不同客户端发送的虚拟机处理请求;确定目标计算节点单元,用于按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点;发送请求单元,用于将所述虚拟机处理请求发送至所述目标计算节点,以便所述目标计算节点执行所述数据请求。优选地,所述实现数据库高可用的装置还包括:获取虚拟机处理信息单元,用于获取所述虚拟机处理请求中的虚拟机处理信息,所述虚拟机处理信息包括:虚拟机创建信息、删除信息或修改信息;存储虚拟机处理信息单元,用于将所述客户端和与其对应的所述虚拟机处理信息存储至数据库的计算节点表中。优选地,控制节点包括至少两个互相独立的数据库,所述存储虚拟机处理信息单元包括:存储模块,用于将所述客户端与对应的虚拟机处理信息存储至任意一个数据库的计算节点表中;复制模块,用于将所述客户端与对应的虚拟机处理信息复制至其他数据库的计算节点表中。优选地,所述实现数据库高可用的装置还包括:监控单元,用于监控所述多个计算节点上的虚拟机的运行状态;统计单元,用于依据所述虚拟机的运行状态统计各计算节点的资源使用情况;保存单元,用于将所述各计算节点的资源使用情况保存在数据库的计算节点表中。优选地,所述一种实现数据库高可用的装置,其中,确定目标计算节点单元,具体用于将资源使用最少的计算节点确定为响应所述虚拟机处理请求的目标计算节点。本专利技术还提供一种实现OpenStack高可用的方法,其特征在于,所述方法应用于基于OpenStack的控制系统,所述基于OpenStack的控制系统包括:调度器、两个配置相同的控制节点和多个计算节点,该方法包括:所述调度器接收客户端发送的虚拟机处理请求;所述调度器依据所述每个控制节点的负载情况,确定响应所述虚拟机处理请求的一个目标控制节点;所述调度器将所述虚拟机处理请求发送给所述目标控制节点;所述目标控制节点接收所述调度器发送的虚拟机处理请求,按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点,并将所述虚拟机处理请求发送至所述目标计算节点;所述目标计算节点执行所述数据请求。优选地,所述调度器依据所述每个控制节点的负载情况,确定响应所述虚拟机处理请求的目标控制节点,包括:所述调度器从内存中获取所述每个控制节点的负载情况,所述每个控制节点的负载情况保存在所述控制节点的各自内存中;所述调度器依据所述每个控制节点的负载情况,将最小负载量所对应的控制节点,确定为响应所述虚拟机处理请求的目标控制节点。本专利技术还提供一种实现OpenStack高可用的系统,其特征在于,所述系统集成于基于OpenStack的控制系统,所述基于OpenStack的控制系统包括:调度器、两个配置相同的控制节点和多个计算节点,所述调度器包括接收单元、确定目标控制节点单元和发送单元,所述接收单元用于接收客户端发送的虚拟机处理请求;所述确定目标控制节点单元,用于依据所述每个控制节点的负载情况,确定响应所述虚拟机处理请求的目标控制节点;所述发送单元,用于将所述虚拟机处理请求发送给所述目标控制节点;所述控制节点上集成上述任意一种数据库高可用的装置;所述计算节点用于执行所述数据请求。与现有技术相比,本专利技术具有以下有益效果:本专利技术在实现OpenStack控制节点中数据库集群高可用时本文档来自技高网
...
实现OpenStack高可用的方法与系统

【技术保护点】
一种实现数据库高可用的方法,其特征在于,所述方法应用于基于OpenStack的控制系统的任意一个控制节点上,所述控制系统包括两个控制节点和多个计算节点;该方法包括:接收不同客户端发送的虚拟机处理请求;按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点;将所述虚拟机处理请求发送至所述目标计算节点,以便所述目标计算节点执行所述数据请求。

【技术特征摘要】
1.一种实现数据库高可用的方法,其特征在于,所述方法应用于基于OpenStack的控制系统的任意一个控制节点上,所述控制系统包括两个控制节点和多个计算节点;该方法包括:接收不同客户端发送的虚拟机处理请求;按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点;将所述虚拟机处理请求发送至所述目标计算节点,以便所述目标计算节点执行所述数据请求。2.根据权利要求1所述的方法,其特征在于,还包括:获取所述虚拟机处理请求中的虚拟机处理信息,所述虚拟机处理信息包括:虚拟机创建信息、删除信息或修改信息;将所述客户端和与其对应的所述虚拟机处理信息存储至数据库的计算节点表中。3.根据权利要求2所述的方法,其特征在于,所述控制节点包括至少两个互相独立的数据库,则所述将所述虚拟机创建信息、删除信息或修改信息存储至数据库中,包括:所述控制节点将所述客户端与对应的虚拟机处理信息存储至任意一个数据库的计算节点表中;所述控制节点将所述客户端与对应的虚拟机处理信息复制至其他数据库的计算节点表中。4.根据权利要求1所述的方法,其特征在于,还包括:监控所述多个计算节点上的虚拟机的运行状态;依据所述虚拟机的运行状态统计各计算节点的资源使用情况;将所述各计算节点的资源使用情况保存在数据库的计算节点表中。5.根据权利要求4所述的方法,其特征在于,所述按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点,包括:将资源使用最少的计算节点确定为响应所述虚拟机处理请求的目标计算节点。6.一种实现OpenStack高可用的方法,其特征在于,所述方法应用于基于OpenStack的控制系统,所述基于OpenStack的控制系统包括:调度器、两个配置相同的控制节点和多个计算节点,该方法包括:所述调度器接收客户端发送的虚拟机处理请求;所述调度器依据所述每个控制节点的负载情况,确定响应所述虚拟机处理请求的一个目标控制节点;所述调度器将所述虚拟机处理请求发送给所述目标控制节点;所述目标控制节点接收所述调度器发送的虚拟机处理请求,按照预设的负载均衡算法确定响应所述虚拟机处理请求的目标计算节点,并将所述虚拟机处理请求发送至所述目标计算节点;所述目标计算节点执行所述数据请求。7.根据所述权利要求6所述的方法,其特征在于,所述调度器依据所述每个控制节点的负载情况,确定响应所述虚拟机处理请求的目标控制节点,包括:所述调度器从内存中获取所述每个控制节点的负载情况,所述每个控制节点的负载情况保存在所述控制节点的各自内存中;所述调度器依据所述每个控制节点的负载情况,将最小负载量所对应的控制节点,确定为响应所述虚拟机处理请求的目标控制节点。8...

【专利技术属性】
技术研发人员:李兴罗华永任荣桂胜杨永艳陈星
申请(专利权)人:北京中电普华信息技术有限公司国网信息通信产业集团有限公司国家电网公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1