一种高可用的虚拟化管理系统、方法及相关设备与流程

文档序号:25543254发布日期:2021-06-18 20:40阅读:91来源:国知局
一种高可用的虚拟化管理系统、方法及相关设备与流程

本发明属于云计算技术领域,尤其涉及一种高可用虚拟化管理系统、方法及相关设备。



背景技术:

虚拟化是一种人为创建的虚拟的计算环境,而不是物理环境,虚拟化通常包括硬件、操作系统和存储设备等的计算机生成版本,利用这种技术可以把单台物理计算机设备或者服务器设备划分为多个虚拟机,并在虚拟机上提供服务。随着多节点虚拟化平台的发展,多节点的高可用的要求逐渐增加,其运行在多节点主机上的虚拟化管理平台,也需要支持高可用的环境,即在单一节点失效的情况下,其运行的虚拟化管理平台能够实现不间断的运行。

现有技术由于管理平台通常为单点应用,或仅支持前端负载均衡的系统,由于多节点虚拟化平台的特殊性,单一节点失效时,负载均衡系统仍可能将不同的请求分发到已经失效的节点,即节点失效的状态不能及时反馈给负载均衡系统;同时,负载均衡节点本身也可能存在单点故障。



技术实现要素:

本发明实施例提供一种高可用虚拟化管理系统,旨在解决现有技术中虚拟化群集的单一节点失效导致的系统故障反馈慢、负载均衡不能使用的问题。

第一方面,本发明实施例提供一种高可用的虚拟化管理系统,包括多个分散的物理主机节点;每个所述物理主机节点包括:

负载均衡模块,用于提供虚拟访问地址并基于所述虚拟访问地址接受用户的访问请求;

虚拟化管理平台,通过开放端口提供服务;

数据库模块,为所述虚拟化管理平台提供数据;

所述负载均衡模块包括:

节点状态监控单元,用于动态监控每个所述物理主机节点的心跳状态以获取每个所述物理主机节点的状态信息;

主节点选取单元,用于在所述物理主机节点中的主节点失效的情况下基于预设的选取规则选取其中一个其他活跃的物理主机节点作为新主节点。

进一步地,所述一种高可用的虚拟化管理系统,其特征在于,多个所述物理主机节点处于同一局域网中,多个所述物理主机节点安装有虚拟机,所述负载均衡模块基于lvs和keepalived实现,且部署在所述虚拟机中。

进一步地,所述一种高可用的虚拟化管理系统,其特征在于,所述虚拟化管理平台基于nginx提供服务,所述nginx部署在所述虚拟机中,所述虚拟化管理平台通过所述nginx开放的端口和api对外提供web服务,所述web服务通过所述的虚拟访问地址对外提供服务。

进一步地,所述一种高可用的虚拟化管理系统,其特征在于,所述数据库模块基于mariadb数据库实现,所述数据库模块部署在所述虚拟机中,所述虚拟化管理平台的数据库访问地址为所述虚拟机中安装的所述数据库模块的逻辑地址。

进一步地,所述一种高可用的虚拟化管理系统,其特征在于,所述主节点选取单元包括:

优先级数据获取子单元,用于当所述主节点失效的情况下,获取其他所有活跃物理主机节点的优先级数据;

新主节点选取子单元,用于当所述主节点失效的情况下,选取优先级最高的其他活跃的所述物理主机节点作为新主节点。

第二方面,本发明实施例提供一种高可用虚拟化管理系统的主节点失效处理方法,包括以下步骤:

动态监控每个物理主机节点的心跳状态以获取每个物理主机节点的状态信息;

若所述主节点状态为失效状态,则基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点。

进一步地,所述动态监控每个物理主机节点的心跳状态以获取每个物理主机节点的状态信息,包括以下步骤:

所述负载均衡模块通过节点状态监控单元对所述虚拟化管理平台的网络地址和端口号进行监听和连通检测。

进一步地,所述基于预设的选取规则选取其中一个活跃的物理主机节点作为新主节点,包括以下步骤:

所述负载均衡模块通过优先级数据获取子单元获取其他所有活跃的所述物理主机节点的优先级;

所述负载均衡模块的新主节点选取子单元选取优先级最高的活跃的所述物理主机节点作为新主节点。

第三方面,本发明实施例提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例中任一项所述的高可用虚拟化管理系统的主节点失效处理方法中的步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中任一项所述的高可用虚拟化管理系统的主节点失效处理方法中的步骤。

本发明所达到的有益效果,由于采用了前端虚拟ip地址绑定负载均衡模块、虚拟化管理平台应用和分布式数据库模块的3层高可用体系,实现了在主节点失活即虚拟化节点失活和/或数据库节点失活的情况下,对虚拟化管理平台的可操作性。

附图说明

图1是本发明实施例提供的一种高可用的虚拟化管理系统结构图;

图2是本发明实施例提供的一种高可用的虚拟化管理系统的负载均衡模块图;

图3是本发明实施例提供的一种高可用的虚拟化管理系统拓扑图;

图4是本发明实施例提供的一种高可用的虚拟化管理系统网络地址图;

图5是本发明实施例提供的一种高可用的虚拟化管理系统网络主节点失效处理方法流程图;

图6是本发明实施例提供的获取每个所述物理主机节点的状态信息的流程图;

图7是本发明实施例提供的基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点的流程图;

图8是本发明实施例中的另一种所述基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点的流程图;

图9是本发明实施例提供的高可用虚拟化管理系统的主节点失效处理方法的计算机设备示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参见图1,图1是本发明实施例提供的一种高可用的虚拟化管理系统结构图,如图1所示,所述高可用的虚拟化管理系统包括负载均衡模块101、虚拟化管理平台102和数据库模块103,所述高可用的虚拟化管理系统部署于独立的物理计算机设备中,所述物理计算机设备具有处理器和存储器,并能够运行虚拟机软件100,所述虚拟机软件100可以是基于操作系统的kvm和vmwareworkstation,所述计算机设备能够接入局域网,并通过设定或者网络协议获得在该局域网的网络地址,其他计算机设备能够通过该网络地址与所述计算机设备进行网络传输。在本发明实施例中,高可用的虚拟化管理系统中存在多个分散的物理计算机设备,其中每一个物理计算机设备称为一个节点,所述节点中的所述负载均衡模块101、虚拟化管理平台102和数据库模块103能够不依赖于其他节点中的各模块独立提供服务。

所述负载均衡模块101可以是一种基于虚拟机的软件,所述负载均衡模块101基于lvs实现,所述lvs是一种基于linux操作系统的虚拟服务器,在本发明实施例中,所述lvs安装在所述虚拟机软件100中,并根据所述虚拟机分配的参数拥有独立的网络地址和硬件地址,并且所述lvs在运行时,其视为网络结构中一台独立的服务主机,其运行状况不受所述高可用的虚拟化管理系统中其他模块影响。

请参见图2,图2是本发明实施例提供的一种高可用的虚拟化管理系统的负载均衡模块图,如图2所示,所述负载均衡模块由节点状态监测单元201和主节点选取单元202组成,其中,所述主节点选取单元还包括优先级数据获取子单元202a和新主节点选取单元202b。

具体的,所述负载均衡模块可基于lvs+keepalived实现,所述keepalived是一种能够运行在操作系统中的软件,其主要作用是,通过vrrp网络协议实现网络结构中各部分的连通性检测和热备切换。具体的,所述节点状态监测单元201利用了keepalived的连通性检测反馈机制来监测所述虚拟化服务平台和所述数据库模块的活跃状态,其中,检测的对象包括网络地址和端口。参考图1,所述keepalived在设定时间内通过向同一节点的所述虚拟化管理平台102、所述数据库模块103、以及其他节点的负载均衡模块101发送具备校验数据的探测数据包,若所述虚拟化管理平台102和所述数据库模块103返回的数据没有通过预设的校验验证,或者没有在预设的时间内返回数据包,则判定所述虚拟化管理平台102和所述数据库模块103失去连接。

所述主节点选取单元202,可基于keepalived的热备切换机制来确保主节点失活的情况下,备用节点能够继续提供服务,所述主节点是在所述高可用的虚拟化管理系统设定时优先提供服务的节点。在所述节点状态监测单元201检测到所述虚拟化管理平台102和所述数据库模块103失去连接的情况下,所述优先级数据获取子单元202a会获取除了所述主节点中所述负载均衡模块101的keepalived设定的优先级,之后所述新主节点选取单元202b会从除了所述主节点的其他节点中选取优先级最高的节点作为新主节点,使其接替所述主节点的功能,并继续对外提供服务。

所述虚拟化管理平台102是一种可运行在操作系统上的应用程序,在本发明实施例中,所述虚拟化管理平台102安装在所述虚拟机软件100中,具体的,所述虚拟化管理平台102对外提供一种web服务,所述web服务基于nginx对外提供服务,所述nginx安装在所述虚拟机软件100中,所述nginx的web服务地址为所述虚拟机中所述虚拟化管理平台102所在的逻辑地址,并且对外开放提供服务的端口和api,所述虚拟化管理平台102通过接入所述nginx的api,通过开放的端口来提供服务。所述虚拟化管理平台102在本发明实施例中用于调用虚拟化、群集和存储的数据等操作。

所述数据库模块103具体可以是一种可运行在操作系统上的具有界面的数据库软件,所述数据库内容为实际需求中所设定的内容,具体的,所述数据库为mariadb数据库,所述mariadb数据库安装在所述虚拟机软件100中,所述虚拟化管理平台102通过配置数据库地址为所述mariadb数据库在所述虚拟机中的逻辑地址,并通过数据库操作方法从所述虚拟化管理平台102对所述mariadb数据库进行数据写入和读取。

请参见图3,图3是本发明实施例提供的一种高可用的虚拟化管理系统拓扑图,如图3所示,本发明实施例提供三个节点组成的高可用的虚拟化管理系统300,其中,所述三个节点中有一个主节点和两个备用节点,包括主节点301、第一备用节点302和第二备用节点303,主节点301包括第一负载均衡模块301a、第一虚拟化管理平台301b、以及第一数据库模块301c,第一备用节点302包括第二负载均衡模块302a、第二虚拟化管理平台302b、以及第二数据库模块302c,所述主节点301和所述备用节点通过lvs和keepalived的参数设置。具体的,所述主节点301和所述备用节点中各模块的连接情况相同,即,所述主节点301的负载均衡模块301a和所述备用节点中的所述负载均衡模块302a、负载均衡模块303a相互连接,各节点中的所述负载均衡模块101、所述虚拟化管理平台102和所述数据库模块103功能独立,但通过网络地址和端口号相互连接,最终成为交互顺序为所述负载均衡模块、所述虚拟化管理平台、所述数据库模块的逻辑顺序关系。

实施例二

请参见图4,图4是本发明实施例提供的一种高可用的虚拟化管理系统网络地址图,所述主节点301的所述第一负载均衡模块301a的网络地址为192.168.100.101,所述第一备用节点302的所述第二负载均衡模块302a网络地址为192.168.100.102,所述第二备用节点303的所述第三负载均衡模块303a网络地址为192.168.100.103,所述三个节点中的所述虚拟化管理平台所拥有的网络地址分别为192.168.100.201、192.168.100.202、192.168.100.203,在配置所述三个节点的lvs和keepalived参数时,还包括设定一个用于外部访问web服务的虚拟网络地址304,所述虚拟网络地址为192.168.100.100,所述主节点301在配置keepalived时,state类型为master,优先级为200,所述第一备用节点302和所述第二备用节点303的state类型为backup,优先级分别为150和100。

在如图4所示的一种高可用的虚拟化管理系统网络地址图的状态下,从外部通过所述虚拟网络地址192.168.100.100能够访问所述虚拟化管理平台进行数据的管理和查询,此时,所述主节点301的所述第一负载均衡模块301a将指定所述第一虚拟化管理平台301b为应答对象,即实际网络地址为192.168.100.201的所述第一虚拟化管理平台301b响应了此次连接请求,所述主节点301的所述第一数据库301c为提供服务的数据库。

实施例三

请同时参见图4、图5,图5是本发明实施例提供的一种高可用的虚拟化管理系统网络主节点失效处理方法流程图,包括以下步骤:

s401,动态监控每个物理主机节点的心跳状态以获取每个所述物理主机节点的状态信息;

所述动态监控每个物理主机节点的心跳状态通过所述负载均衡模块中的节点状态监测单元执行,具体的,请参照图6,图6是本发明实施例提供的获取每个所述物理主机节点的状态信息的流程图,包括以下步骤:

s401a,所述负载均衡模块通过节点状态监控单元对所述虚拟化管理平台的网络地址和端口号进行监听和连通检测。

每个所述负载均衡模块中的所述节点状态监测单元不断向其处于同一节点中的所述虚拟化管理平台和数据库模块发送校验数据包,所述各模块中有预设的校验值,所述各模块在接收到校验数据包后基于预设的校验值生成一个返回数据包,所述节点状态监测单元收到所述返回数据包后更新每个所述物理主机节点的整体状态信息,判断其为活跃状态或者失活状态。

s401b,所述负载均衡模块将外部请求转发至所述主节点真实地址的所述虚拟化管理平台处理。

上述步骤中若所述节点状态监测单元判断所述主节点301为活跃状态,则按照正常运作流程,所述主节点301的所述负载均衡模块将外部请求转发至所述主节点真实地址的所述虚拟化管理平台处理,即主节点中的所述第一负载均衡模块301a将外部请求转发至真实网络地址为192.168.100.202的第一虚拟化管理平台301b。

另一方面,若所述返回数据包的校验值出现错误,或者所述节点状态监测单元没有收到某一个所述主节点301中其中一个模块的返回数据包,则所述节点状态监测单元判断该所述主节点是失活状态(失效状态)。

s402,若所述主节点状态为失效状态,则基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点。

所述基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点,具体的,请参照图7,图7是本发明实施例提供的基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点的流程图,包括以下步骤:

s402a,所述主节点停止向所述虚拟化管理平台转发数据。

所述主节点301的所述第一虚拟化管理平台301b和第一数据库模块301c失活后,所述主节点301的第一负载均衡模块301a停止向所述第一虚拟化管理平台301b转发请求数据,此时,外部的访问请求不会被拒绝。

s402b,所述负载均衡模块通过所述优先级数据获取子单元获取其他所有活跃的所述物理主机节点的优先级。

每一个所述物理主机节点中的所述优先级数据获取子单元会获取其他所述物理主机的优先级,此时,每一个所述优先级数据获取子单元都有所有所述物理主机节点的优先级数据。

s402c,所述负载均衡模块的新主节点选取子单元选取所述优先级最高的活跃的所述物理主机节点作为新主节点。

三个节点的所述负载均衡模块中所述新主节点选取单元之间作出仲裁,选择除了失活了的所述主节点301以外的所有物理主机节点中优先级最高的活跃的所述物理主机节点作为新主节点,在所述第一备用节点302和所述第二备用节点303的优先级值设定中,所述第一备用节点302的值要高,在当前状态下,新主节点选取子单元将决定所述第一备用节点302承担所述主节点301的功能,响应所述虚拟网络地址的请求,并将访问请求转发至处于所述第一备用节点302中的所述虚拟化管理平台进行处理,即实际网络地址为192.168.100.202的所述第二虚拟化管理平台302b响应连接请求,对应的所述第二数据库302c为提供服务的数据库。

类似的,所述第二备用节点303的第二负载均衡模块303a在设定时设定了所述三个节点中最低的优先级值,在本发明实施例中所述第一主节点301和第一备用节点302中某模块失活的情况下,所述第二备用节点303将以同样的方式成为活跃节点,具体方式与本发明实施例中所述第一备用节点302的活跃方式相似,此处不再赘述。

实施例四

请同时参见图4、图5和图8,图8是本发明实施例中的另一种所述基于预设的选取规则选取其他一个活跃的物理主机节点作为新主节点流程图,包括以下步骤:

s501,所述主节点整体失活。

在上述情况下,所述主节点301中承担转发功能的所述负载均衡模块失活,或者主节点301整体失活,使得所述主节点301中的所述优先级数据获取子单元和所述新主节点选取子单元无法正常工作,此时所述主节点301的失活状态会被其他所述物理主机节点中的所述节点状态监测单元检测到。

s502,所述负载均衡模块通过所述优先级数据获取子单元获取其他所有活跃的所述物理主机节点的优先级。

除了主节点301的每一个所述物理主机节点中的所述优先级数据获取子单元会获取其他除了主节点301的所述物理主机的优先级,此时,每一个所述优先级数据获取子单元都有当前活跃的所述物理主机节点的优先级数据。

s503,所述负载均衡模块的新主节点选取子单元选取所述优先级最高的活跃的所述物理主机节点作为新主节点。

在本发明实施例情况下,所述第一备用节点302和所述第二备用节点303的所述负载均衡模块中的所述新主节点选取子单元之间作出仲裁,选择除了失活了的所述主节点301以外的所有物理主机节点中优先级最高的活跃的所述物理主机节点作为新主节点,在所述第一备用节点302和所述第二备用节点303的优先级值设定中,所述第一备用节点302的值要高,在当前状态下,新主节点选取子单元将决定所述第一备用节点302将承担所述主节点301的功能,响应所述虚拟网络地址的请求,并将访问请求转发至处于所述第一备用节点302中的所述虚拟化管理平台进行处理,即实际网络地址为192.168.100.202的所述第二虚拟化管理平台302b响应连接请求,对应的所述第二数据库302c为提供服务的数据库。

类似的,所述第二备用节点303的第二负载均衡模块303a在设定时设定了所述三个节点中最低的优先级值,在本发明实施例中所述第一主节点301和第一备用节点302整体失活的情况下,所述第二备用节点303将以同样的方式成为活跃节点,具体方式与本发明实施例中所述第一备用节点302的活跃方式相似,此处不再赘述。

实施例五

请参见图9,图9是本发明实施例提供的高可用虚拟化管理系统的主节点失效处理方法的计算机设备示意图,所述电子设备600包括:存储器602、处理器601及存储在所述存储器602上并可在所述处理器601上运行的计算机程序。

处理器601调用存储器602存储的计算机程序,执行以下步骤:

动态监控每个物理主机节点的心跳状态以获取每个物理主机节点的状态信息;

若多个物理主机节点中的所述主节点状态为失效状态,则基于预设的选取规则选取其中一个活跃的物理主机节点作为新主节点。

具体的,所述动态监控每个物理主机节点的心跳状态通过lvs+keepalived实现,执行如上述实施例中所述负载均衡模块的所述节点状态监控单元的功能;所述预设的选取规则基于keepalived设定时的优先级,执行如上述实施例中所述所述负载均衡模块的所述新主节点选取子单元的功能,所述节点状态监控单元和所述新主节点选取子单元的具体运作方式与上述实施例中的运作方式相同,此处不再赘述。

需要说明的是,上述实施例中各部分的实际网络地址、虚拟化管理平台提供服务的端口号、负载均衡模块的虚拟网络地址、lvs和keepalived的优先级(priority)等参数并不限制于本发明,在实际使用时可根据需要进行选择。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1