CN115878384A - 一种基于备份容灾系统的分布式集群及构建方法 - Google Patents
一种基于备份容灾系统的分布式集群及构建方法 Download PDFInfo
- Publication number
- CN115878384A CN115878384A CN202211680635.1A CN202211680635A CN115878384A CN 115878384 A CN115878384 A CN 115878384A CN 202211680635 A CN202211680635 A CN 202211680635A CN 115878384 A CN115878384 A CN 115878384A
- Authority
- CN
- China
- Prior art keywords
- cluster
- service
- node
- disaster recovery
- storage
- 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.)
- Pending
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 137
- 238000010276 construction Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 claims abstract description 92
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 238000007726 management method Methods 0.000 claims description 112
- 238000000034 method Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 238000013467 fragmentation Methods 0.000 claims description 3
- 238000006062 fragmentation reaction Methods 0.000 claims description 3
- 238000013475 authorization Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 19
- 238000011161 development Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 239000002699 waste material Substances 0.000 description 4
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于备份容灾系统的分布式集群及构建方法,属于分布式集群技术领域,包括:通信管理单元用于提供虚拟IP地址实现备份容灾系统中业务信息交互;主控集群管理单元;存储服务器集群管理单元,用于管理存储服务器上存储介质、备份容灾业务存储信息以及上报存储节点信息;分布式存储,该基于备份容灾系统的分布式集群及构建方法,增加负载均衡功能,提升备份容灾业务吞吐量,分布式集群内每个节点都可以提供备份容灾服务,每个节点均衡处理业务量,提升并发处理业务能力,减少单节点压力,提高单节点运行效率;并对备份容灾系统进行解耦,便于开发和维护,提供服务信息集群节点内共享功能,提高备份容灾服务容错性。
Description
技术领域
本发明属于分布式集群技术领域,具体涉及基于备份容灾系统的分布式集群及构建方法。
背景技术
随着网络与信息化的深入和各种新技术的广泛应用,国家政策对于数据安全倾斜,企业不断加大对生产数据保护的重视程度,备份容灾系统迎来了高速发展的曙光,在为企业带来高效便捷和数据安全的同时,也带来了不可忽视的备份容灾系统自身数据安全问题:
生产信息化建设过程中,生产信息系统的稳定运行与数据层面的安全保护都是不可忽视的重中之重,生产信息系统的数据需要备份容灾系统进行保护,但很少会给备份容灾系统进行除自备份外的数据保护,保护力度比较弱,当传统的备份容灾一体机发生自身软硬件故障时,如CPU烧毁,硬盘坏道过多,网络传输线路异常,或操作系统内核文件丢失导致系统奔溃,数据库引擎损坏等软硬件故障,导致备份容灾一体机无法正常提供备份容灾服务;
同样随着数据的日益资产化、价值化、复杂化,数据呈现几何位数的增长趋势,由此也带来了对存储容量的无限扩大的需求和备份容灾系统的容量可扩展性的要求,传统的本地备份容灾一体机无法满足企业存储容量和备份容灾服务性能无限扩大的需求;
需求并发备份容灾服务要求高,如在同一时间点对大量生产虚拟机发起备份容灾服务,或是需要并发处理高网络负载窄带宽时,备份容灾系统产生大量传输接口消息等大量高并发场景下,导致一体机备份容灾消息处理出现阻塞异常;
客户对于机器资源利用比较重视,备份容灾系统高可用集群的资源浪费,用户无法接受;
目前普遍的技术方案:
传统备份容灾系统,由主控服务器、介质服务器和多个代理组成,其中主控服务器和介质服务器可以部署在同一台机器上,即灾备一体机,提供数据保护服务,也可以分开部署多个介质服务器,即一个主控服务器和多个介质服务器,扩展存储容量,但是弊端为没有自身的容灾保护措施,当一个机器损坏就会丢失存储的相关数据,且备份业务处理性能局限于一个主控服务器机器性能;代理安装到对应的生产系统中,提供备份容灾数据收集和业务进度追踪等服务;
基于传统备份容灾系统构建的高可用集群,是利用Keepalived服务实现备份容灾系统的高可用集群容灾方法,其中两台备份容灾服务器,软硬件配置相同,利用Keepalived服务提供公用虚拟网络IP地址,虚拟网络IP地址和VRRP心跳机制实现两台备份容灾服务高可用集群,当其中主机备份容灾服务异常后,结束自身进程,终止提供服务,由备机上线继续为代理提供服务,实现备份容灾系统自身容灾机制,但是依旧存在局限性,业务处理性能上限依然还是单机服务器性能;需要备机正常在线监测主机确无法提供正常的服务,造成资源浪费,且备机越多浪费的越多;
现有技术的缺点:
1.现有备份容灾系统提供单机服务和主备的高可用服务运行,现有技术提升备份容灾服务性能只能不断堆高服务器的配置,成本高,性能提升有限,备份容灾系统高可用方法只能应用两个节点上的备份容灾系统高可用,可扩展性比较差;
2. 现有技术备份容灾服务实际为单机提供服务,备份容灾业务吞吐能力小,随着用户业务量扩大,单机已无法支撑备份容灾服务高并发运转,无法实现消息负载,应对高并发场景与备份容灾一体机上限一致,所有消息处理都由主机单机完成,备机无法提供服务;
3. 切换过程中,从节点部分服务需要重新启动重新加载缓存,导致服务切换过程中耗时会比较高;
4.现有技术下对于备份容灾系统自身故障时,容灾性能差,少则会丢失部分缓存数据,多则无法提供服务,无法应对高并发或高负荷窄带宽情形;
5.服务器资源浪费。
发明内容
本发明的目的在于提供一种基于备份容灾系统的分布式集群及构建方法,以解决备份容灾消息无法负载均衡的问题。
为实现上述目的,本发明提供如下技术方案:一种基于备份容灾系统的分布式集群,包括:
通信管理单元;提供统一化虚拟IP地址用于备份容灾系统中业务信息交互,便于备份容灾客户端部署和连接备份容灾系统,利用高可用服务保障业务通信,原本节点异常后,虚拟IP地址和负载均衡模块可以在集群其他节点上切换并提供正常通信服务。
主控集群管理单元;实现备份容灾系统日志管理、备份容灾业务消息处理、存储服务器信息管理、代理信息管理、授权信息管理等功能。
存储服务器集群管理单元,用于管理存储服务器上存储介质、备份容灾业务存储信息以及上报存储节点信息;
分布式存储,用于存储服务器提供共享介质,所述主控集群管理单元通知添加到每个存储节点上;利用Ceph存储技术整合存储服务器上磁盘资源,提供存储服务器集群存储数据的共享介质,为集群数据高可用提供技术支持
其中,所述通信管理单元包括:
Keepalived服务;用于配置虚拟网络IP地址,即备份容灾客户端和备份容灾服务器业务使用虚拟网络IP地址通信,提供服务高可用管理功能,保障负载均衡管理模块高可用;
负载均衡管理模块,用于备份容灾客户端下发的备份容灾消息负载均衡.
优选的,所述主控集群管理单元包括:
数据库集群,用于构建数据库集群使备份容灾系统集群中节点之间索引和备份集共享;
缓存组件集群,用于通过Redis集群使主控服务管理模块间缓存数据共享;
主控服务管理模块,用于轮询处理消息,并提供定时检测服务。
优选的,所述负载均衡管理模块包括:
Nginx服务,用于网络端口层的消息负载均衡;保证通过的消息可以平均分配到集群每个节点上
RabbitMQ服务,用于备份容灾系统业务通信服务,构建RabbitMQ集群,保障接收到的消息高可用;
定时检测模块,用于检测负载均衡状态和切换接口,保障负载均衡模块状态正常。
优选的,所述存储服务器集群管理单元包括:存储服务管理模块,用于管理存储服务和功能;
本发明另提供一种基于备份容灾系统的分布式集群的构建方法,包括:
配置Keepalived服务,设定每个节点上Keepalived服务中非抢占式配置文件,构建检测脚本检测当前节点是否存在虚拟网络地址,并启动Keepalived服务开启检测,若存在虚拟网络地址时,检测Nginx服务状态;
配置Nginx负载配置文件,配置端口消息负载,监听虚拟网络IP地址端口,分发消息到集群内部节点IP地址,重新加载配置文件,设置RabbitMQ集群,设置监听集群内部节点IP地址消息,分发消息到集群节点上主控服务管理模块,完成负载均衡模块设置;
配置MongoDB数据库集群,设置分片和副本集模式集群,共享对象存储元数据信息,使备份业务的存储元数据在每个节点上高可用;
构建Redis集群,设定缓存组件在集群各个节点上数据共享,编写缓存组件集群基本配置文件,构建缓存组件集群,使集群各个节点上服务模块间缓存信息共享;
构建Mariadb数据库集群,设定主控管理模块数据各节点同步,并将集群信息同步到每个节点中;
重新启动各个备份容灾系统模块的服务,使用虚拟网络地址进行连接注册RabbitMQ消息队列;完成集群构建配置。
优选的,所述虚拟网络地址进行连接注册RabbitMQ消息队列完成后,更新数据库中集群信息的各个组件状态设置为已同步,开启定时检测线程,监测集群内组件服务状态以及系统服务状态。
优选的,所述配置Keepalived服务之前还包括:
生成自动化构建集群对象信息并记录数据库中;
配置防火墙,根据数据库中记录的节点信息数据和IP地址,构建集群内部防火墙配置信息;
采集和同步集群节点内部所有的MAC地址并记录;
同步服务器时间。
优选的,所述完成集群构建配置后运行步骤包括:
备份容灾客户端通过业务管理网络访问负载均衡管理模块发起备份容灾业务;
负载均衡管理模块轮询分发备份容灾业务控制消息到主控服务管理模块,所述主控服务管理模块接收到消息后根据存储服务管理模块的负载状态分配存储管理节点信息并通知对应存储服务管理模块,启动备份服务对象创建和监听,通知备份容灾客户端本次备份所用存储管理节点及模块通信信息;主控服务管理模块会根据存储服务管理模块上报的当前的繁忙状态选择对应的存储节点,作为本次备份容灾的实际存储服务提供节点
由备份容灾客户端连接存储服务管理模块监听接口,启动数据传输网络连接,开始备份数据传输,存储服务管理模块连接分布式存储介质和数据库进行数据存储。
优选的,所述负载均衡模块高可用切换方法包括:
主负载节点中Keepalived服务推送心跳消息到其他节点,并接收其他节点返回的接收成功消息,接收失败或自身服务异常时,中断消息,并移除虚拟网络地址地址,定时服务线程检测当前节点丢失虚拟网络地址后,检查当前节点异常信息,并输出日志,中断所有备份容灾服务;
从负载节点接收到消息并回复消息,当消息中断时,重试并判定主负载节点离线;
根据权重最大的剩余节点Keepalived服务获取虚拟网络地址地址,升级为新的主负载节点,启动推送心跳消息线程,其他节点接收消息并返回确认心跳;
新主负载节点启动负载均衡模块接管流程,重新加载负载均衡模块,连接RabbitMQ集群,提供负载均衡服务;
新主负载节点上调用脚本设定当前节点中Redis服务为主服务节点,缓存组件集群为Redis集群并提供共享缓存服务,在Redis集群中指定虚拟网卡IP地址存在的节点为新主负载节点,此节点的Redis作为Redis集群中的主节点,其他节点作为备用节点;
在新主负载节点启动定时服务检测线程。
本发明的技术效果和优点:该基于备份容灾系统的分布式集群及构建方法,增加负载均衡功能,提升备份容灾业务吞吐量,分布式集群内每个节点都可以提供备份容灾服务,每个节点均衡处理业务量,提升并发处理业务能力,减少单节点压力,提高单节点运行效率;并对备份容灾系统进行解耦,便于开发和维护,提供服务信息集群节点内共享功能,提高备份容灾服务容错性,即使出现单节点故障时,集群其他节点可以同步接管备份容灾业务;相比于目前存在使用HAProxy或者LVS替代Nginx实现四层消息负载转发,实现负载均衡器,本方案中使用Nginx的反向代理实现网页界面访问,如果使用LVS或者 HAProxy就需要更换页面访问框架,或引入新的公共组件,增加开发和维护成本,使用Nginx安装配置相对简单,且修改配置后无需重新启动服务,对网络依赖小,仅需要修改自身配置文件即可完成负载功能;提供备份容灾系统的可扩展性,增加消息负载能力,提供更大容量生产数据的备份容灾服务,提高正在备份容灾服务节点自身异常时容错能力和减少业务接管时间消耗,并实现了机器资源充分且合理分配使用,减少资源浪费;相比于目前备份容灾高可用集群相比,本发明的优点:
1.搭建过程中,增加了网络安全性要求,增加防火墙绑定,以及实际服务端口绑定IP地址功能,集群数据库等内部通信时仅可以集群节点内部之间通信,外部无法访问;
2.备份容灾高可用集群使用的是两个节点,一台机器作为主机,一台作为备机,备机无法实际参与到备份容灾业务中,只能作为备用节点等待接管服务。构建分布式灾备集群,增加了消息处理负载能力,多个节点之间并发处理备份业务,极大减少单节点压力,同时也减少接管业务时时间消耗,对于用户基本无感知;
3.增加了节点横向扩展能力,当备份容灾业务达到节点性能上线时,可以通过增加集群节点,提升集群性能上限,便于维护和扩展。并且当节点损坏时,维护人员只需要关心损坏节点,如若出现最坏情形损坏节点无法修复,可以直接删除原本节点,动态增加新集群节点,即可完成集群维护工作;
4.增加缓存组件集群,极大减少负载节点接管损坏节点业务时时间消耗,便于提升集群业务处理整体性能。
附图说明
图1为本发明分布式集群的框架图;
图2为本发明构建方法的流程图;
图3为本发明正常备份容灾服务运行流程图;
图4为本发明负载均衡模块高可用切换方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1中所示的一种基于备份容灾系统的分布式集群,包括:
通信管理单元、主控集群管理单元、存储服务器集群管理单元、分布式存储;
通信管理单元,用于提供统一化虚拟IP地址用于备份容灾系统中业务信息交互,便于备份容灾客户端部署和连接备份容灾系统,本实施例中,代理即为备份容灾客户端,利用高可用服务保障业务通信,原本节点异常后,虚拟IP地址和负载均衡模块可以在集群其他节点上切换并提供正常通信服务;
存储服务器集群管理单元用于管理存储服务器上存储介质、备份容灾业务存储信息以及上报存储节点信息;
其中通信管理单元包括Keepalived服务以及负载均衡管理模块;
Keepalived服务,用于配置虚拟网络IP地址,即代理和备份容灾服务器业务使用虚拟网络IP地址通信,提供服务高可用管理功能,保障负载均衡管理模块高可用;
负载均衡管理模块,用于代理下发的备份容灾消息负载均衡;主控集群管理单元包括:数据库集群、缓存组件集群,以及主控服务管理模块;本实施例中,使用三台备份容灾一体机搭建分布式灾备集群,在每一个节点上面配置Keepalived、Nginx和RabbitMQ集群服务,搭建负载均衡管理模块;实现备份容灾消息负载均衡,各个节点主控服务管理模块负责轮询处理消息,分摊各个节点备份容灾消息负载压力,利用数据库集群和缓存组件集群,并自定义缓存组件的统一实现备份容灾业务的数据共享,防止单个节点损坏时,剩余节点可以顺利接管业务,并获取所有数据信息;
负载均衡模块主要包括:Nginx服务和RabbitMQ服务、定时检测模块;
Keepalived服务配置提供统一虚拟网络IP地址,备份容灾业务代理和服务器业务通信时使用统一虚拟网络IP地址,便于节点故障接管和管理代理,Nginx利用1.9版本后的特性Stream实现端口网络负载均衡,管理RabbitMQ消息入口统一,并利用RabbitMQ服务集群化,构建负载均衡管理模块高可用;
定时检测模块,用于检测负载均衡状态和切换接口;
所述存储服务器集群管理单元包括:存储服务管理模块,用于管理存储服务和功能;存储服务管理模块:实现了存储服务的提供和管理功能,包含了对象管理模块和虚拟块管理模块,提供介质管理功能、数据传输、存储数据的加密和压缩、存储数据恢复、块设备挂载管理等功能;
元数据:主要录入存储服务管理模块所用对象数据、索引数据和管理信息等;
数据库集群实现数据库的集群管理和数据库集群两个模块,构建数据库集群实现备份容灾系统集群中各节点之间索引和备份集共享;
缓存组件集群利用Redis集群特性实现主控服务管理模块间缓存数据共享,解决分布式集群中同步锁,和接管节点获取缓存等问题,减少接管消耗时间;
存储服务器集群实现了元数据共享和存储服务管理模块,存储管理服务实现管理自身介质节点信息和处理由主控服务管理模块分配的备份容灾业务,使用元数据共享形式;
使用分布式存储为存储服务器提供共享介质,由主控服务管理模块统一通知添加到每个介质节点上,综合提升存储介质的存储容量、速度和安全性,同时提升了介质可扩展性;
本申请中使用Keepalived、Nginx、RabbitMQ服务构建负载均衡器和主控服务管理模块搭配完成备份容灾业务消息的负载压力,实现可高并发处理备份容灾业务,多条备份策略同步下发时,由负载均衡器轮询分发各个节点,并由各节点主控服务管理模块同步消费完消息;
使用数据库集群、Redis集群、主控服务管理模块实现分布式灾备集群中各节点间数据共享和节点间业务处理互斥锁效果,极大减少接管业务时消耗时间,并支持了节点服务独立运行,减少升级维护难度,提升业务处理整体性能和吞吐量;
分布式灾备集群可扩展性,扩展节点时,只需要实现对公共组件例如Keepalived、RabbitMQ、数据库等进行添加节点配置,极大减少了维护和开发成本,提升集群的稳定性;
备份容灾系统模块间解耦结构,为实现备份容灾系统可分布式部署方案提供依据,极大提高备份容灾系统性能上限,解耦节点上模块服务间依赖关联,便于开发和维护;
本发明另提供如图2所示一种基于备份容灾系统的分布式集群的构建方法,包括:
步骤1: 生成自动化构建集群对象信息并记录数据库中。便于自动化配置集群时,查询相关记录数据;
步骤2: 配置防火墙,根据步骤1记录的节点信息数据和IP地址,构建集群内部防火墙配置信息。提高集群安全性要求,仅允许集群节点内部之间通过指定的IP地址和端口进行相互通信和同步数据;
步骤3: 采集和同步集群节点内部所有的MAC地址,记录下地址后以便于后期备份容灾服务系统自身运行时同步各个节点信息进行校验时使用;
步骤4: 同步服务器时间,为了便于维护和管理集群各个节点。采用第一个节点为配置节点,并设定ntp时间同步服务器,设置集群内其他节点默认同步改节点的时间。保证集群节点间时间没有太大误差,极大减少后期维护难度和降低维护的成本;
步骤5: 配置Keepalived服务,设定各个节点上面Keepalived非抢占式配置文件,构建检测脚本当前节点是否存在虚拟网络IP地址,启动Keepalived服务开启检测,当存在虚拟网络IP地址进一步检测Nginx服务状态;
步骤6: 配置Nginx负载配置文件,配置端口消息负载,监听虚拟网络IP地址端口,分发消息到集群内部节点IP地址,配置监听虚拟网络IP地址接收的5672端口消息负载均衡发送给集群内所有节点。并重新加载配置文件,设置RabbitMQ集群,设置监听集群内部节点IP地址消息,分发消息到集群节点上主控服务管理模块,完成负载均衡器设置;
步骤7: 配置MongoDB数据库集群,设置分片和副本集模式集群,共享对象存储元数据信息,确保实际备份业务的存储元数据在每个节点上高可用;
步骤8: 构建Redis集群,设定缓存组件在集群各个节点上数据共享,并编写缓存组件集群基本配置文件,构建缓存组件集群,使集群各个节点上服务模块间缓存信息共享,提供其他模块使用公共缓存组件API接口;
步骤9: 构建Mariadb数据库集群,设定主控管理模块数据各节点同步,并将集群信息同步到每个节点中;
步骤10: 重新启动各个备份容灾系统模块的服务,使用虚拟网络IP地址进行连接注册RabbitMQ消息队列,完成集群构建的最后配置,保证集群的业务统一使用虚拟网络IP地址通信;
步骤11:更新数据库中集群信息的各个组件状态设置为已同步,并开启定时检测线程,监测集群内组件服务状态,以及系统服务状态,增加集群服务可视化功能,提高运维人员检测效率,便于维护集群服务;
分布式灾备集群运行流程图如图3所示:
代理通过业务管理网络比如虚拟网络IP地址访问负载均衡模块发起备份容灾业务;
负载均衡模块轮询分发备份容灾业务控制消息到主控管理模块,主控管理模块接收到消息后根据存储服务管理模块的繁忙程度分配存储管理节点信息并通知对应存储服务管理模块,启动备份服务对象创建和监听,最后通知代理本次备份所用存储管理节点及模块通信信息;
在由代理连接存储服务管理模块监听接口,启动数据传输网络连接,开始备份数据传输,存储服务管理模块连接分布式存储介质和数据库进行数据存储;
其中,负载均衡模块高可用切换步骤如图4所示:
高可用切换实际分成两步,第一步在Keepalived服务中提供,由其内部的vrrp协议心跳检测,将虚拟网络IP地址设定在某一台集群节点上,并在我们的主控服务管理模块中提供的定时检测服务,检测当前是否存在虚拟网络IP地址,如果存在IP地址时,判断当前节点是否为有负载均衡管理模块,不存在则拉起负载均衡管理模块的进程,存在则跳过;
主负载节点中Keepalived推送心跳消息到其他节点,并接收其他节点返回的接收成功消息,接收失败或自身服务异常时,中断消息,并移除虚拟网络IP地址,定时服务线程检测当前节点丢失虚拟网络IP地址后,检查当前节点异常信息,并输出日志,中断所有备份容灾服务;
从负载节点接收到消息并回复消息,当消息中断时,进行重试并判定主负载节点离线;
根据权重最大的剩余节点Keepalived服务获取虚拟网络IP地址,升级为新的主负载节点,并启动推送心跳消息线程,其他节点接收消息并返回确认心跳;
新主负载节点启动负载均衡模块接管流程,重新加载负载均衡模块,连接RabbitMQ集群,正式对外提供负载均衡服务;
新主负载节点上调用脚本设定当前节点中Redis服务为主服务节点,缓存组件集群为Redis集群并提供共享缓存服务,在Redis集群中指定虚拟网卡IP地址存在的节点为新主负载节点,此节点的Redis作为Redis集群中的主节点,其他节点作为备用节点。
该基于备份容灾系统的分布式集群及构建方法,增加负载均衡功能,提升备份容灾业务吞吐量,分布式集群内每个节点都可以提供备份容灾服务,每个节点均衡处理业务量,提升并发处理业务能力,减少单节点压力,提高单节点运行效率;并对备份容灾系统进行解耦,便于开发和维护,提供服务信息集群节点内共享功能,提高备份容灾服务容错性,即使出现单节点故障时,集群其他节点可以同步接管备份容灾业务;相比于目前存在使用HAProxy或者LVS替代Nginx实现四层消息负载转发,实现负载均衡器,本方案中使用Nginx的反向代理实现网页界面访问,如果使用LVS或者 HAProxy就需要更换页面访问框架,或引入新的公共组件,增加开发和维护成本,使用Nginx安装配置相对简单,且修改配置后无需重新启动服务,对网络依赖小,仅需要修改自身配置文件即可完成负载功能;提供备份容灾系统的可扩展性,增加消息负载能力,提供更大容量生产数据的备份容灾服务,提高正在备份容灾服务节点自身异常时容错能力和减少业务接管时间消耗,并实现了机器资源充分且合理分配使用,减少资源浪费;相比于目前备份容灾高可用集群相比,本发明的优点:
1.搭建过程中,增加了网络安全性要求,增加防火墙绑定,以及实际服务端口绑定IP地址功能,集群数据库等内部通信时仅可以集群节点内部之间通信,外部无法访问;
2.备份容灾高可用集群使用的是两个节点,一台机器作为主机,一台作为备机,备机无法实际参与到备份容灾业务中,只能作为备用节点等待接管服务。构建分布式灾备集群,增加了消息处理负载能力,多个节点之间并发处理备份业务,极大减少单节点压力,同时也减少接管业务时时间消耗,对于用户基本无感知;
3.增加了节点横向扩展能力,当备份容灾业务达到节点性能上线时,可以通过增加集群节点,提升集群性能上限,便于维护和扩展。并且当节点损坏时,维护人员只需要关心损坏节点,如若出现最坏情形损坏节点无法修复,可以直接删除原本节点,动态增加新集群节点,即可完成集群维护工作;
4.增加缓存组件集群,极大减少负载节点接管损坏节点业务时时间消耗,便于提升集群业务处理整体性能。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于备份容灾系统的分布式集群,其特征在于:包括:
通信管理单元,用于备份容灾系统中业务信息交互;
主控集群管理单元:用于管理备份容灾系统日志、备份容灾业务消息、存储服务器信息、代理信息以及授权信息;
存储服务器集群管理单元:用于管理存储服务器上存储介质、备份容灾业务存储信息以及上报存储节点信息;
分布式存储:用于提供存储服务器集群存储数据的共享介质;
其中,所述通信管理单元包括:
Keepalived服务:用于配置虚拟网络IP地址;
负载均衡管理模块:用于备份容灾客户端下发的备份容灾消息负载均衡。
2.根据权利要求1所述的基于备份容灾系统的分布式集群,其特征在于:
所述主控集群管理单元包括:
数据库集群:用于使备份容灾系统集群中节点之间索引和备份集共享;
主控服务管理模块,用于轮询处理消息以及定时检测服务;
缓存组件集群,用于通过Redis集群使主控服务管理模块间缓存数据共享。
3.根据权利要求1所述的基于备份容灾系统的分布式集群,其特征在于:所述负载均衡管理模块包括:
Nginx服务,用于网络端口层的消息负载均衡;
RabbitMQ服务,用于备份容灾系统业务通信服务,构建RabbitMQ集群,保障接收到的消息高可用;
定时检测模块,用于检测负载均衡状态和切换接口。
4.根据权利要求1所述的基于备份容灾系统的分布式集群,其特征在于:
所述存储服务器集群管理单元包括:
存储服务管理模块,用于管理存储服务和功能;
所述存储服务管理模块包括:
对象管理模块和虚拟块管理模块;
元数据:用于录入存储服务管理模块所用对象数据、索引数据和管理信息。
5.基于权利要求3或4中所述的基于备份容灾系统的分布式集群的构建方法,其特征在于:包括:
配置Keepalived服务,设定每个节点上Keepalived服务中非抢占式配置文件,构建检测脚本检测当前节点是否存在虚拟网络地址,启动Keepalived服务开启检测,若存在虚拟网络地址时,检测Nginx服务状态;
配置Nginx负载配置文件,配置端口消息负载,监听虚拟网络IP地址端口,分发消息到集群内部节点IP地址,重新加载配置文件;
配置RabbitMQ集群,设置监听集群内部节点IP地址消息,分发消息到集群节点上主控服务管理模块,完成负载均衡模块设置;
配置MongoDB数据库集群,设置分片和副本集模式集群,共享对象存储元数据信息,使备份业务的存储元数据在每个节点上高可用;
构建Redis集群,设定缓存组件在集群各个节点上数据共享,编写缓存组件集群配置文件,构建缓存组件集群,使集群各个节点上服务模块间缓存信息共享;
构建Mariadb数据库集群,设定主控管理模块数据各节点同步,并将集群信息同步到每个节点中;
重新启动各个备份容灾系统模块的服务,使用虚拟网络地址进行连接注册RabbitMQ消息队列,完成集群构建配置。
6.根据权利要求5所述的一种构建方法,其特征在于:所述虚拟网络地址进行连接注册RabbitMQ消息队列完成后,更新数据库中集群信息的各个组件状态并设置为已同步,开启定时检测线程,监测集群内组件服务状态以及系统服务状态。
7.根据权利要求5所述的一种构建方法,其特征在于:所述配置Keepalived服务之前还包括:
生成自动化构建集群对象信息并记录数据库中;
配置防火墙,根据数据库中记录的节点信息数据和IP地址,构建集群内部防火墙配置信息;
采集和同步集群节点内部所有的MAC地址并记录;
同步服务器时间。
8.根据权利要求5所述的一种构建方法,其特征在于:所述完成集群构建配置后运行步骤包括:
备份容灾客户端通过业务管理网络访问负载均衡管理模块发起备份容灾业务;
负载均衡管理模块轮询分发备份容灾业务控制消息到主控服务管理模块,所述主控服务管理模块接收到消息后根据存储服务管理模块的负载状态分配存储管理节点信息,并通知对应存储服务管理模块启动备份服务对象创建和监听,通知备份容灾客户端本次备份所用存储管理节点及模块通信信息;
由备份容灾客户端连接存储服务管理模块监听接口,启动数据传输网络连接,开始备份数据传输,存储服务管理模块连接分布式存储介质和数据库进行数据存储。
9.根据权利要求5所述的一种构建方法,其特征在于:
所述负载均衡模块高可用切换方法包括:
主负载节点中Keepalived服务推送心跳消息到其他节点,并接收其他节点返回的接收成功消息,接收失败或自身服务异常时,中断消息,并移除虚拟网络地址地址,定时服务线程检测当前节点丢失虚拟网络地址后,检查当前节点异常信息,并输出日志,中断所有备份容灾服务;
从负载节点接收到消息并回复消息,当消息中断时,重试并判定主负载节点离线;
根据权重最大的剩余节点Keepalived服务获取虚拟网络地址地址,升级为新的主负载节点,启动推送心跳消息线程,其他节点接收消息并返回确认心跳;
新主负载节点启动负载均衡模块接管流程,重新加载负载均衡模块,连接RabbitMQ集群,提供负载均衡服务;
新主负载节点上调用脚本设定当前节点中Redis服务为主服务节点,缓存组件集群为Redis集群并提供共享缓存服务,在Redis集群中指定虚拟网卡IP地址存在的节点为新主负载节点,此节点的Redis作为Redis集群中的主节点,其他节点作为备用节点;
在新主负载节点启动定时服务检测线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680635.1A CN115878384A (zh) | 2022-12-27 | 2022-12-27 | 一种基于备份容灾系统的分布式集群及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680635.1A CN115878384A (zh) | 2022-12-27 | 2022-12-27 | 一种基于备份容灾系统的分布式集群及构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878384A true CN115878384A (zh) | 2023-03-31 |
Family
ID=85755606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211680635.1A Pending CN115878384A (zh) | 2022-12-27 | 2022-12-27 | 一种基于备份容灾系统的分布式集群及构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878384A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272329A (zh) * | 2023-11-21 | 2023-12-22 | 明阳时创(北京)科技有限公司 | 一种基于分布式虚拟化漏洞扫描方法及系统 |
CN117271671A (zh) * | 2023-11-24 | 2023-12-22 | 华信咨询设计研究院有限公司 | 一种基于raft算法数据库双节点模式下的高可用系统 |
CN117667515A (zh) * | 2023-12-08 | 2024-03-08 | 广州鼎甲计算机科技有限公司 | 主备集群的备份管理方法、装置、计算机设备及存储介质 |
-
2022
- 2022-12-27 CN CN202211680635.1A patent/CN115878384A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272329A (zh) * | 2023-11-21 | 2023-12-22 | 明阳时创(北京)科技有限公司 | 一种基于分布式虚拟化漏洞扫描方法及系统 |
CN117271671A (zh) * | 2023-11-24 | 2023-12-22 | 华信咨询设计研究院有限公司 | 一种基于raft算法数据库双节点模式下的高可用系统 |
CN117667515A (zh) * | 2023-12-08 | 2024-03-08 | 广州鼎甲计算机科技有限公司 | 主备集群的备份管理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
CA2284376C (en) | Method and apparatus for managing clustered computer systems | |
JP4307673B2 (ja) | マルチクラスタ化コンピュータ・システムを構成及び管理する方法及び装置 | |
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
CN103226502B (zh) | 一种数据灾备控制系统及数据恢复方法 | |
US9535907B1 (en) | System and method for managing backup operations of virtual machines | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
CN115878384A (zh) | 一种基于备份容灾系统的分布式集群及构建方法 | |
US5822531A (en) | Method and system for dynamically reconfiguring a cluster of computer systems | |
CN105814544B (zh) | 用于支持分布式数据网格中的持久化分区恢复的系统和方法 | |
US7590683B2 (en) | Restarting processes in distributed applications on blade servers | |
EP1117040A2 (en) | Method and apparatus for resolving partial connectivity in a clustered computing system | |
CN105262820A (zh) | 一种基于Linux操作系统的集群多机互备的方法 | |
CN111949444A (zh) | 一种基于分布式服务集群的数据备份与恢复系统及方法 | |
US8527454B2 (en) | Data replication using a shared resource | |
US20040210888A1 (en) | Upgrading software on blade servers | |
CN105389231A (zh) | 一种数据库双机备份方法及系统 | |
CN107357800A (zh) | 一种数据库高可用零丢失解决方法 | |
CN113254275A (zh) | 一种基于分布式块设备的MySQL高可用架构方法 | |
CN111935244A (zh) | 一种业务请求处理系统及超融合一体机 | |
US20040210887A1 (en) | Testing software on blade servers | |
JP5154843B2 (ja) | クラスタシステム、計算機、および障害回復方法 | |
CN109739685A (zh) | 一种主从热备份数据同步方法和存储介质 | |
US5961650A (en) | Scheme to perform event rollup | |
WO2022227719A1 (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building 1, 6th Floor, Changfeng Building, No.14 Xinghuo Road, Research and Innovation Park, Jiangbei New District, Nanjing City, Jiangsu Province, 210000 Applicant after: Aerospace One System (Jiangsu) Information Technology Co.,Ltd. Address before: 210000 floor 3, building B, building C, building 5, Baixia high tech Industrial Park, No. 5, Yongzhi Road, Qinhuai District, Nanjing, Jiangsu Province Applicant before: NANJING UNARY INFORMATION TECHNOLOGY Co.,Ltd. |