CN112181660A - 一种基于服务器集群的高可用方法 - Google Patents

一种基于服务器集群的高可用方法 Download PDF

Info

Publication number
CN112181660A
CN112181660A CN202011083292.1A CN202011083292A CN112181660A CN 112181660 A CN112181660 A CN 112181660A CN 202011083292 A CN202011083292 A CN 202011083292A CN 112181660 A CN112181660 A CN 112181660A
Authority
CN
China
Prior art keywords
node
server cluster
application
takeover
fault
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
Application number
CN202011083292.1A
Other languages
English (en)
Inventor
赵博颖
申玉京
谭智敏
詹少博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202011083292.1A priority Critical patent/CN112181660A/zh
Publication of CN112181660A publication Critical patent/CN112181660A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种基于服务器集群的高可用方法,其中,包括:当服务器集群中存在某节点出现故障进行应急切换时,首先选择当前集群中空闲可用的节点作为接管节点,接管节点通知出现故障的节点停止其所有应用服务,并释放资源,同时接管节点在获得被释放的资源后启动故障节点上运行的应用服务,释放的资源包括共享存储设备以及IP地址,以避免故障节点与接管节点同时使用产生冲突;当故障发生时,故障节点实时将数据库实例和业务访问数据库的服务路由切换到接管节点;故障解除时,将原故障节点加入到可用序列中,将数据实时备份到接管节点,达到数据库数据完全自愈。

Description

一种基于服务器集群的高可用方法
技术领域
本发明涉及服务器集群技术领域,特别是涉及一种基于服务器集群的高可用实现方法。
背景技术
服务器集群中处理核心任务的节点一旦出现故障,会导致数据链的断裂,信息的丢失,极有可能造成灾难性的后果。为保证平台不间断提供服务,保障信息安全,本发明提出一种高可用管理方法。主要用于对平台内所有计算节点的协同管理,解决由于单个计算或控制单元失效引起的***故障。可实现对各个节点的关键业务、运行状态进行监测,对服务故障进行恢复,必要时基于冗余的计算和控制单元,进行主备节点的业务迁移,从而提高业务***的稳定性、可用性、负载均衡能力,提升***对软硬件故障的容错能力。
发明内容
本发明的目的在于提供一种基于服务器集群的高可用方法,用于解决上述业务***的高可用性与不间断性已经成为计算机等诸多领域亟需解决的关键问题。。
本发明一种基于服务器集群的高可用方法,其中,包括:当服务器集群中存在某节点出现故障进行应急切换时,首先选择当前集群中空闲可用的节点作为接管节点,接管节点通知出现故障的节点停止其所有应用服务,并释放资源,同时接管节点在获得被释放的资源后启动故障节点上运行的应用服务,释放的资源包括共享存储设备以及IP地址,以避免故障节点与接管节点同时使用产生冲突;当故障发生时,故障节点实时将数据库实例和业务访问数据库的服务路由切换到接管节点;故障解除时,将原故障节点加入到可用序列中,将数据实时备份到接管节点,达到数据库数据完全自愈。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,定期将节点或应用的实时状态信息作为心跳信号通过心跳网络传递给所有节点,各节点若在一定时间内未收到某节点的心跳信号,则认为该某节点发生故障。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,包括三种节点状态检测机制,检查通信状态的ping机制、报告资源状态的register机制以及可由用户定制脚本的health check机制。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,接管节点通过STONITH设备让故障节点重新启动以释放资源。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,心跳信号中的状态信息,包括应用服务状态、节点到外网络的连通性、操作***状态以及资源占用情况,用于判定节点是否正常以及应用切换时选择接管节点。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,在心跳信号传输时,进行加密和认证。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,当确定一个提供服务的节点故障或失效时,将根据既定策略将故障节点上应用切换到另一个节点上继续提供服务。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,***最下一层是心跳层,服务器集群中各个节点之间实时互相监测,心跳层组件发送心跳信息及资料,向上层发布自己的工作状态;中间层是应用分配层,负责对***运行的应用进行管理调度,应用分配层每一个动作都通过***应用管理,最上层是应用层,通过shell脚本方式实现应用的启动、停止以及监测控制。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,中间层包括应用管理、信息基准以及调度策略组件,应用管理负责对节点上运行的应用进行管理调度;信息基准用于存储集群配置、状态、节点、资源以及限制条件;调度策略提供了节点的故障迁移策略,包括定向策略以及负载均衡策略。
根据本发明的基于服务器集群的高可用方法的一实施例,其中,通过自定义的应用代理脚本对应用服务监测。
本发明服务器集群对平台的高可用性以及可靠性存在很高的需求,基于此,本发明提出一种基于三层体系架构的通用高可用实现方法。主要步骤包括:构建高可用集群***的体系结构;基于三种检测机制实现节点的故障监测;基于资源隔离机制实现节点的故障切换;基于数据库实时同步机制实现数据的高可用。
附图说明
图1为高可用集群***分层结构图;
图2为数据库高可用结构图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明中为高可用***的实现设计了一个分层结构,见图1所示,最下一层是心跳层,服务器集群中各个节点之间实时互相监测,确保第一时间获取节点或服务的故障状态,这一层包含的组件发送心跳信息及其资料,来向上层发布自己的工作状态。第二层是应用分配层,主要由应用管理、信息基准、调度策略等组件构成,负责对***运行的应用进行管理调度。应用分配层的每一个动作都通过***应用管理,它是保持***信息的基础。第三层是应用层,主要是一些应用代理,这里通过shell脚本方式实现应用的启动、停止以及监测控制。
本发明中通过心跳机制进行故障监测。高可用***定期将节点或应用的实时状态信息作为心跳信号通过心跳网络传递给其它所有节点,其它节点若在一定时间内未收到该节点的心跳信号,则认为该节点发生故障。为提高故障监测的准确性与快速性,提出以下优化措施:
提供了三种节点状态检测机制:检查通信状态的ping机制、报告资源状态的register机制以及可由用户定制脚本的health check机制。同时通过自定义的应用代理脚本实现对应用服务的监测。
为减少误警的情况出现,心跳信号中增加多种状态信息,包括应用服务状态、节点到外网络的连通性、操作***状态、资源占用情况等,这些可用于判定节点是否正常以及应用切换时选择接管节点的依据。
为保证节点间通信安全,在心跳信号传输时,采用加密、认证等机制,防止重要数据被窃取,避免未经授权的节点加入到高可用***中或未经授权的节点状态信息影响到节点的切换。
当确定一个提供服务的节点故障或失效时,高可用***将根据既定策略将故障节点上应用自动透明地切换到另一个节点上继续提供服务。本发明在故障切换实现中提出以下改进策略:
接管节点首先通知当前节点停止其所有应用服务、释放资源,接管节点在获得被释放的资源后才能启动服务,释放的资源主要包括共享存储设备、IP地址等,从而避免两个节点同时使用产生冲突;接管节点通过STONITH设备让故障节点重新启动以释放资源,STONITH是一种用于给服务器节点提供电源的智能电源设备,可通过串口线或网线向STONITH设备发出断开或复位指令来控制节点的电源;
为防止故障节点资源无法挂起、释放,引入资源隔离机制,接管节点通过智能电源设备让故障节点重新启动以释放资源。
本发明针对数据高可用的需求提供数据库实时同步机制,业务***产生的业务数据在入库的同时,数据实时地备份到其它节点。数据库实时同步机制见图2所示。当故障发生时,服务器节点实时将数据库实例和业务访问数据库的服务路由切换到备份节点;故障解除时,***自动将故障恢复节点加入到可用序列中,同时将数据实时备份到故障备份节点,最终达到数据库数据完全自愈。
本发明服务器集群对平台的高可用性以及可靠性存在很高的需求,基于此,本发明提出一种基于三层体系架构的通用高可用实现方法。主要步骤包括:构建高可用集群***的体系结构;基于三种检测机制实现节点的故障监测;基于资源隔离机制实现节点的故障切换;基于数据库实时同步机制实现数据的高可用。
本发明并针对目前高可用***中普遍存在的虚警情况、通信安全、资源迁移等问题,提出几种改进策略:基于三种检测机制的故障监测、基于资源隔离机制的故障切换、基于数据库实时同步机制的数据高可用等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于服务器集群的高可用方法,其特征在于,包括:
当服务器集群中存在某节点出现故障进行应急切换时,首先选择当前集群中空闲可用的节点作为接管节点,接管节点通知出现故障的节点停止其所有应用服务,并释放资源,同时接管节点在获得被释放的资源后启动故障节点上运行的应用服务,释放的资源包括共享存储设备以及IP地址,以避免故障节点与接管节点同时使用产生冲突;
当故障发生时,故障节点实时将数据库实例和业务访问数据库的服务路由切换到接管节点;故障解除时,将原故障节点加入到可用序列中,将数据实时备份到接管节点,达到数据库数据完全自愈。
2.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,定期将节点或应用的实时状态信息作为心跳信号通过心跳网络传递给所有节点,各节点若在一定时间内未收到某节点的心跳信号,则认为该某节点发生故障。
3.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,包括三种节点状态检测机制,检查通信状态的ping机制、报告资源状态的register机制以及可由用户定制脚本的health check机制。
4.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,接管节点通过STONITH设备让故障节点重新启动以释放资源。
5.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,心跳信号中的状态信息,包括应用服务状态、节点到外网络的连通性、操作***状态以及资源占用情况,用于判定节点是否正常以及应用切换时选择接管节点。
6.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,在心跳信号传输时,进行加密和认证。
7.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,当确定一个提供服务的节点故障或失效时,将根据既定策略将故障节点上应用切换到另一个节点上继续提供服务。
8.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,***最下一层是心跳层,服务器集群中各个节点之间实时互相监测,心跳层组件发送心跳信息及资料,向上层发布自己的工作状态;中间层是应用分配层,负责对***运行的应用进行管理调度,应用分配层每一个动作都通过***应用管理,最上层是应用层,通过shell脚本方式实现应用的启动、停止以及监测控制。
9.如权利要求8所述的基于服务器集群的高可用方法,其特征在于,中间层包括应用管理、信息基准以及调度策略组件,应用管理负责对节点上运行的应用进行管理调度;信息基准用于存储集群配置、状态、节点、资源以及限制条件;调度策略提供了节点的故障迁移策略,包括定向策略以及负载均衡策略。
10.如权利要求1所述的基于服务器集群的高可用方法,其特征在于,通过自定义的应用代理脚本对应用服务监测。
CN202011083292.1A 2020-10-12 2020-10-12 一种基于服务器集群的高可用方法 Pending CN112181660A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011083292.1A CN112181660A (zh) 2020-10-12 2020-10-12 一种基于服务器集群的高可用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011083292.1A CN112181660A (zh) 2020-10-12 2020-10-12 一种基于服务器集群的高可用方法

Publications (1)

Publication Number Publication Date
CN112181660A true CN112181660A (zh) 2021-01-05

Family

ID=73948161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011083292.1A Pending CN112181660A (zh) 2020-10-12 2020-10-12 一种基于服务器集群的高可用方法

Country Status (1)

Country Link
CN (1) CN112181660A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698992A (zh) * 2021-03-23 2021-04-23 腾讯科技(深圳)有限公司 一种云集群的容灾管理方法以及相关装置
CN113315653A (zh) * 2021-04-30 2021-08-27 新华三大数据技术有限公司 网络设备的管理方法及装置、网络设备、计算机设备
CN113515349A (zh) * 2021-07-28 2021-10-19 中国工商银行股份有限公司 一种高性能应急回切方法及装置
CN113596190A (zh) * 2021-07-23 2021-11-02 浪潮云信息技术股份公司 基于Kubernetes的应用分布式多活***及方法
CN114697191A (zh) * 2022-03-29 2022-07-01 浪潮云信息技术股份公司 一种资源迁移方法、装置、设备及存储介质
CN114978875A (zh) * 2021-02-23 2022-08-30 广州汽车集团股份有限公司 一种车载节点管理方法、装置及存储介质
CN115134219A (zh) * 2022-06-29 2022-09-30 北京飞讯数码科技有限公司 设备资源管理方法及装置、计算设备和存储介质
CN115994045A (zh) * 2023-02-22 2023-04-21 深圳计算科学研究院 一种基于共享存储数据库集群的事务托管方法及装置
CN117370316A (zh) * 2023-12-07 2024-01-09 本原数据(北京)信息技术有限公司 数据库的高可用管理方法和装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172161A1 (en) * 2004-01-20 2005-08-04 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
CN103401712A (zh) * 2013-07-31 2013-11-20 北京华易互动科技有限公司 一种基于内容分发的智能高可用任务处理方法和***
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策***及切换方法
CN106790565A (zh) * 2016-12-27 2017-05-31 中国电子科技集团公司第五十二研究所 一种网络附属存储集群***
CN110488701A (zh) * 2019-08-20 2019-11-22 北京计算机技术及应用研究所 基于国产化处理器的网络和FlexRay总线的高可用热备份方法
CN110784350A (zh) * 2019-10-25 2020-02-11 北京计算机技术及应用研究所 一种实时可用集群管理***的设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172161A1 (en) * 2004-01-20 2005-08-04 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
CN103401712A (zh) * 2013-07-31 2013-11-20 北京华易互动科技有限公司 一种基于内容分发的智能高可用任务处理方法和***
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策***及切换方法
CN106790565A (zh) * 2016-12-27 2017-05-31 中国电子科技集团公司第五十二研究所 一种网络附属存储集群***
CN110488701A (zh) * 2019-08-20 2019-11-22 北京计算机技术及应用研究所 基于国产化处理器的网络和FlexRay总线的高可用热备份方法
CN110784350A (zh) * 2019-10-25 2020-02-11 北京计算机技术及应用研究所 一种实时可用集群管理***的设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
葛江伟, 田捷, 崔伟东: "一种集群环境下高可用的NFS服务器", 工业控制计算机, no. 08, pages 22 - 24 *
陈小全等主编: "《Linux服务器架设、性能调优、集群管理教程》", vol. 1, 30 April 2011, 北京邮电大学出版社, pages: 301 - 304 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978875A (zh) * 2021-02-23 2022-08-30 广州汽车集团股份有限公司 一种车载节点管理方法、装置及存储介质
CN112698992A (zh) * 2021-03-23 2021-04-23 腾讯科技(深圳)有限公司 一种云集群的容灾管理方法以及相关装置
CN113315653A (zh) * 2021-04-30 2021-08-27 新华三大数据技术有限公司 网络设备的管理方法及装置、网络设备、计算机设备
CN113315653B (zh) * 2021-04-30 2022-07-12 新华三大数据技术有限公司 网络设备的管理方法及装置、网络设备、计算机设备
CN113596190A (zh) * 2021-07-23 2021-11-02 浪潮云信息技术股份公司 基于Kubernetes的应用分布式多活***及方法
CN113515349A (zh) * 2021-07-28 2021-10-19 中国工商银行股份有限公司 一种高性能应急回切方法及装置
CN114697191A (zh) * 2022-03-29 2022-07-01 浪潮云信息技术股份公司 一种资源迁移方法、装置、设备及存储介质
CN115134219A (zh) * 2022-06-29 2022-09-30 北京飞讯数码科技有限公司 设备资源管理方法及装置、计算设备和存储介质
CN115994045A (zh) * 2023-02-22 2023-04-21 深圳计算科学研究院 一种基于共享存储数据库集群的事务托管方法及装置
CN117370316A (zh) * 2023-12-07 2024-01-09 本原数据(北京)信息技术有限公司 数据库的高可用管理方法和装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112181660A (zh) 一种基于服务器集群的高可用方法
EP3210367B1 (en) System and method for disaster recovery of cloud applications
CN102916825A (zh) 一种双机热备***的管理设备、管理方法及双机热备***
CN110830283B (zh) 故障检测方法、装置、设备和***
CN107147540A (zh) 高可用性***中的故障处理方法和故障处理集群
CN105302661A (zh) 一种实现虚拟化管理平台高可用的***和方法
CN101179432A (zh) 一种多机环境中实现***高可用的方法
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN103036719A (zh) 一种基于主备集群服务器的跨地区服务容灾方法及装置
CN103490914A (zh) 一种网络应用设备多机热备的切换***及方法
CN113127270A (zh) 一种基于云计算的3取2安全计算机平台
CN113515408A (zh) 一种数据容灾方法、装置、设备及介质
CN112910751A (zh) 一种用于vpn设备的异常检测及恢复方法和装置
CN117435405A (zh) 双机热备和故障切换***和方法
CN106027313B (zh) 网络链路容灾***及方法
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
CN101119242B (zh) 通讯***集群方法、装置及应用其的集群服务***
CN114598594B (zh) 一种多集群下应用故障的处理方法、***、介质和设备
CN114124803B (zh) 设备管理方法、装置、电子设备及存储介质
CN111367711A (zh) 一种基于超融合数据安全容灾方法
CN116192885A (zh) 高可用集群架构人工智能实验云平台数据处理方法及***
CN113162797B (zh) 一种分布式集群的主节点故障的切换方法、***及介质
WO2014176969A1 (zh) 一种自动容灾切换方法及装置
CN114301763A (zh) 分布式集群故障的处理方法及***、电子设备及存储介质
CN114328033A (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