CN107357800A - 一种数据库高可用零丢失解决方法 - Google Patents
一种数据库高可用零丢失解决方法 Download PDFInfo
- Publication number
- CN107357800A CN107357800A CN201710353032.3A CN201710353032A CN107357800A CN 107357800 A CN107357800 A CN 107357800A CN 201710353032 A CN201710353032 A CN 201710353032A CN 107357800 A CN107357800 A CN 107357800A
- Authority
- CN
- China
- Prior art keywords
- master library
- storehouse
- data
- cluster management
- software
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Abstract
本发明涉及数据库技术领域,公开了一种数据库高可用零丢失解决方法,包括如下步骤:(1)启动集群管理软件,持续检测主库状态;(2)用户数据以数据日志的形式通过数据库自身的复制功能同步到从库,同时,主库上的数据块同步软件将用户数据以数据日志的形式,拷贝一份镜像到从库上的数据块同步软件输出的虚拟磁盘上;(3)当主库发生故障时,集群管理软件3次确认判定主库的运行情况;(4)集群管理软件通过在从库上的数据镜像进行数据补偿;(5)当故障主库恢复之后,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。本发明通过数据块同步软件和互联网络实现数据零丢失,从根本上实现了高可用零丢失的解决方案。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及了一种数据库高可用零丢失解决方法。
背景技术
众所周知,在数据库软件、数据库服务器操作系统、数据库服务器硬件等出现故障的情况下,数据库的数据将会丢失。并且在数据库本身或者数据库所在服务器发生故障的情况下,对外提供的业务将被中断。
为了避免上述情况的发生,目前市面上主要有两种类型的解决方案:
1、高可用优先类型方案:
当主库出现故障时,自动把对外提供读写服务的IP切换到备库上,最大程度上保证业务的可用性,但是,这种方案大多数高可用管理软件并不保证数据安全,而是保证高可用。
2、防止数据丢失优先类型方案:
当主库发生故障时,会优先尝试对从库进行数据补偿再进行高可用切换(甚至一些解决方案仅仅只是补偿数据而不做高可用切换),但是在主库操作系统或者硬件级别的故障,或者突然掉电时,主库上的数据来不及发送到从库上时,也可能会丢失数据,这种类型的解决方案只是尽量补偿数据,并不能保证数据零丢失。
另外,两种类型的解决方案在一些场景下都存在脑裂的可能性,从而带来其他的一些风险。
发明内容
本发明针对现有技术中花费时间多,存在脑裂风险的缺点,提供了一种数据库高可用零丢失解决方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决。
一种数据库高可用零丢失解决方法,包括如下步骤:
(1)启动集群管理软件,持续检测主库状态;
(2)当主机正常状态时候,集群管理软件按照给定的时间间隔持续检测主库的网络的连通性、操作系统登录情况、数据库软件登陆情况和写入数据情况,主库通过虚拟IP地址正常对外提供读写服务;用户数据以数据日志的形式通过数据库自身的复制功能同步到从库,同时,主库上的数据块同步软件将用户数据以数据日志的形式,拷贝一份镜像到从库上的数据块同步软件输出的虚拟磁盘上;
(3)当主库发生故障时,集群管理软件3次确认判定主库的运行情况,当确认主库故障之后,集群管理软件在从库上ping网关,发出ping命令,确认从库网络连通性,如果超过4秒无返回消息,则认为不可用,则持续ping网关不进行下一步操作,如果小于四秒并返回消息,则认为可用,则通过三条不同的链路关闭主库数据库软件,如果关闭失败,则重启主库操作系统,进入下一步;
(4)集群管理软件通过在从库上的数据镜像进行数据补偿,将主库和从库之间的数据差异在从库上进行应用,补偿完成之后,把从库提升为主库,把虚拟IP地址从主库服务器卸载掉,再把虚拟IP地址挂载到从库服务器到从库上,对外提供读写服务;
(5)当故障主库恢复之后,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。
作为优选,步骤(3)中,ping命令每秒发送一个数据包并等待数据包返回消息。
本发明通过数据块同步软件和互联网络实现数据零丢失,通过自动化的集群管理软件判断是否满足高可用切换条件要求来保证不会出现脑裂问题的高可用,从根本上实现了高可用零丢失的解决方案。本发明方案的优点详述如下:
1.当主从机处于正常状态时,集群管理软件按照一定间隔持续检测主库的网络、操作系统、数据库软件的可用性,主库通过虚拟IP地址(VIP)正常对外提供读写服务。用户数据通过数据库自身的复制功能复制到从库,同时,主库上的数据块同步软件还将用户数据拷贝一份镜像到从库上的数据块同步软件输出的虚拟磁盘。
2.当主库发生故障时,集群管理软件3次确认判定主库是否真的发生了故障,当确认主库故障之后,集群管理软件在从库上ping网关,发出ping命令,确认从库网络是否可用,如果不可用,则持续ping网关不进行下一步操作,如果可用,则通过三条不同的链路尝试关闭主库数据库软件,如果尝试关闭失败,则尝试重启主库操作系统,然后,集群管理软件通过在从库上的数据镜像进行数据补偿,补偿完成之后,把从库提升为主库,VIP漂移到从库上,对外提供读写服务。从而保证了可行的高可用零丢失方案。
3.当故障主库恢复之后,需要人工干预,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。
从上述三点,使用本发明的高可用零丢失方案能够保证在数据零丢失的情况下,同时保证数据库的高可用。
附图说明
图1是本发明一种数据库高可用零丢失解决方法中的工作示意图;
图2是本发明一种数据库高可用零丢失解决方法中的架构示意图;
图3是本发明一种数据库高可用零丢失解决方法中的异常处理过程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
实施例1
如图1至图3所示,一种数据库高可用零丢失解决方法,包括如下步骤:
(1)启动集群管理软件,持续检测主库状态;
(2)当主机正常状态时候,集群管理软件按照给定的时间间隔持续检测主库的网络的连通性、操作系统登录情况、数据库软件登陆情况和写入数据情况,主库通过虚拟IP地址正常对外提供读写服务;用户数据以数据日志的形式通过数据库自身的复制功能同步到从库,同时,主库上的数据块同步软件将用户数据以数据日志的形式,拷贝一份镜像到从库上的数据块同步软件输出的虚拟磁盘上;
(3)当主库发生故障时,集群管理软件3次确认判定主库的运行情况,当确认主库故障之后,集群管理软件在从库上ping网关,发出ping命令,确认从库网络连通性,ping命令每秒发送一个数据包并等待数据包返回消息,如果超过4秒无返回消息,则认为不可用,则持续ping网关不进行下一步操作,如果小于四秒并返回消息,则认为可用,则通过三条不同的链路关闭主库数据库软件,如果关闭失败,则重启主库操作系统,进入下一步;
(4)集群管理软件通过在从库上的数据镜像进行数据补偿,将主库和从库之间的数据差异在从库上进行应用,补偿完成之后,把从库提升为主库,把虚拟IP地址从主库服务器卸载掉,再把虚拟IP地址挂载到从库服务器到从库上,对外提供读写服务;
(5)当故障主库恢复之后,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。
数据日志写在磁盘镜像阵列中,而磁盘镜像阵列中有一块磁盘是从库的数据块同步软件通过互联IB网络(infiniband网络,简称IB网络,是一种高带宽、低延时的网络。IB网络最高理论带宽可以达到120Gb/s,最小延时不超过4us,支持多种传输服务)输出到主库上的,主库通过数据块同步软件往磁盘镜像阵列中写入数据日志时,就等同于是同时拷贝了一份数据日志的镜像到从库上。在主库发生故障时,从库使用这份数据日志镜像在集群管理软件的协同下进行数据补偿,从而保证数据的零丢失。
虚拟IP地址是主库上用于对外提供读写访问的IP地址,这个IP地址只挂载在主库上对外提供读写服务使用,从库上不会挂载这个IP,在集群管理软件控制从库的数据日志补偿完成之后(即此时从库数据和主库数据一致),会把主库上的虚拟IP地址漂移到从库上,把从库提升为新主库,对外提供读写服务。整个切换过程只需要5~30秒,从而保证数据库对外读写服务的高可用。
本发明由于采用了以上技术方案,具有显著的技术效果:本发明通过数据块同步软件和互联网络实现数据零丢失,通过自动化的集群管理软件判断是否满足高可用切换条件要求来保证不会出现脑裂问题的高可用,从根本上实现了高可用零丢失的解决方案。本发明方案的优点详述如下:
1.当主从机处于正常状态时,集群管理软件按照一定间隔持续检测主库的网络、操作系统、数据库软件的可用性,主库通过虚拟IP地址(VIP)正常对外提供读写服务。
2.当主库发生故障时,集群管理软件3次确认判定主库是否真的发生了故障,当确认主库故障之后,集群管理软件在从库上ping网关,发出ping命令,确认从库网络是否可用,如果不可用,则持续ping网关不进行下一步操作,如果可用,则通过三条不同的链路尝试关闭主库数据库软件,如果尝试关闭失败,则尝试重启主库操作系统,然后,集群管理软件通过在从库上的数据镜像进行数据补偿,补偿完成之后,把从库提升为主库,VIP漂移到从库上,对外提供读写服务。从而保证了可行的高可用零丢失方案。
3.当故障主库恢复之后,需要人工干预,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (2)
1.一种数据库高可用零丢失解决方法,其特征在于,包括如下步骤:
(1)启动集群管理软件,持续检测主库状态;
(2)当主机正常状态时候,集群管理软件按照给定的时间间隔持续检测主库的网络的连通性、操作系统登录情况、数据库软件登陆情况和写入数据情况,主库通过虚拟IP地址正常对外提供读写服务;用户数据以数据日志的形式通过数据库自身的复制功能同步到从库,同时,主库上的数据块同步软件将用户数据以数据日志的形式,拷贝一份镜像到从库上的数据块同步软件输出的虚拟磁盘上;
(3)当主库发生故障时,集群管理软件3次确认判定主库的运行情况,当确认主库故障之后,集群管理软件在从库上ping网关,发出ping命令,确认从库网络连通性,如果超过4秒无返回消息,则认为不可用,则持续ping网关不进行下一步操作,如果小于四秒并返回消息,则认为可用,则通过三条不同的链路关闭主库数据库软件,如果关闭失败,则重启主库操作系统,进入下一步;
(4)集群管理软件通过在从库上的数据镜像进行数据补偿,将主库和从库之间的数据差异在从库上进行应用,补偿完成之后,把从库提升为主库,把虚拟IP地址从主库服务器卸载掉,再把虚拟IP地址挂载到从库服务器到从库上,对外提供读写服务;
(5)当故障主库恢复之后,使用集群管理软件手工把故障主库作为从库重新加入新主库的复制结构中。
2.根据权利要求1所述的一种数据库高可用零丢失解决方法,其特征在于:步骤(3)中,ping命令每秒发送一个数据包并等待数据包返回消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710353032.3A CN107357800A (zh) | 2017-05-18 | 2017-05-18 | 一种数据库高可用零丢失解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710353032.3A CN107357800A (zh) | 2017-05-18 | 2017-05-18 | 一种数据库高可用零丢失解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107357800A true CN107357800A (zh) | 2017-11-17 |
Family
ID=60272020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710353032.3A Pending CN107357800A (zh) | 2017-05-18 | 2017-05-18 | 一种数据库高可用零丢失解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357800A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783264A (zh) * | 2018-12-29 | 2019-05-21 | 南京富士通南大软件技术有限公司 | 一种数据库的高可用解决方法 |
CN111078802A (zh) * | 2019-12-31 | 2020-04-28 | 叮当快药科技集团有限公司 | 数据库的读写方法及相关装置 |
CN115001950A (zh) * | 2022-05-27 | 2022-09-02 | 北京人大金仓信息技术股份有限公司 | 一种数据库集群的故障处理方法、存储介质与设备 |
CN115001904A (zh) * | 2022-05-30 | 2022-09-02 | 紫光建筑云科技(重庆)有限公司 | 一种高可用nat网关设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102810111A (zh) * | 2012-05-07 | 2012-12-05 | 互动在线(北京)科技有限公司 | 一种保持Oracle数据库服务高可用的实现方法和系统 |
US20130145103A1 (en) * | 2011-12-01 | 2013-06-06 | Oracle International Corporation | Reducing sequence cache latch contention in a database system |
CN104750755A (zh) * | 2013-12-31 | 2015-07-01 | 阿里巴巴集团控股有限公司 | 一种数据库主备切换后的数据回补方法及系统 |
CN105069160A (zh) * | 2015-08-26 | 2015-11-18 | 国家电网公司 | 一种基于自主可控数据库的高可用性方法及构架 |
-
2017
- 2017-05-18 CN CN201710353032.3A patent/CN107357800A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145103A1 (en) * | 2011-12-01 | 2013-06-06 | Oracle International Corporation | Reducing sequence cache latch contention in a database system |
CN102810111A (zh) * | 2012-05-07 | 2012-12-05 | 互动在线(北京)科技有限公司 | 一种保持Oracle数据库服务高可用的实现方法和系统 |
CN104750755A (zh) * | 2013-12-31 | 2015-07-01 | 阿里巴巴集团控股有限公司 | 一种数据库主备切换后的数据回补方法及系统 |
CN105069160A (zh) * | 2015-08-26 | 2015-11-18 | 国家电网公司 | 一种基于自主可控数据库的高可用性方法及构架 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783264A (zh) * | 2018-12-29 | 2019-05-21 | 南京富士通南大软件技术有限公司 | 一种数据库的高可用解决方法 |
CN111078802A (zh) * | 2019-12-31 | 2020-04-28 | 叮当快药科技集团有限公司 | 数据库的读写方法及相关装置 |
CN115001950A (zh) * | 2022-05-27 | 2022-09-02 | 北京人大金仓信息技术股份有限公司 | 一种数据库集群的故障处理方法、存储介质与设备 |
CN115001904A (zh) * | 2022-05-30 | 2022-09-02 | 紫光建筑云科技(重庆)有限公司 | 一种高可用nat网关设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
CN103226502B (zh) | 一种数据灾备控制系统及数据恢复方法 | |
US9916113B2 (en) | System and method for mirroring data | |
KR101547719B1 (ko) | 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지 | |
US7694177B2 (en) | Method and system for resynchronizing data between a primary and mirror data storage system | |
CN101079896B (zh) | 一种构建并行存储系统多可用性机制并存架构的方法 | |
CN104036043B (zh) | 一种mysql高可用的方法及管理节点 | |
US20090049054A1 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
CN106776121B (zh) | 一种数据灾备装置、系统及方法 | |
CN107357800A (zh) | 一种数据库高可用零丢失解决方法 | |
US7797571B2 (en) | System, method and circuit for mirroring data | |
US8527454B2 (en) | Data replication using a shared resource | |
WO2012097588A1 (zh) | 数据存储方法、设备和系统 | |
CN108958984A (zh) | 基于ceph的双活同步在线热备方法 | |
CN111949444A (zh) | 一种基于分布式服务集群的数据备份与恢复系统及方法 | |
CN115794499B (zh) | 一种用于分布式块存储集群间双活复制数据的方法和系统 | |
CN105389231A (zh) | 一种数据库双机备份方法及系统 | |
CN115878384A (zh) | 一种基于备份容灾系统的分布式集群及构建方法 | |
CN112783694B (zh) | 一种高可用Redis的异地灾备方法 | |
CN112887367B (zh) | 实现分布式集群高可用的方法、系统及计算机可读介质 | |
CN110377487A (zh) | 一种处理高可用集群脑裂的方法及装置 | |
CN107590032A (zh) | 存储集群故障转移的方法及存储集群系统 | |
JP2015114952A (ja) | ネットワークシステム、監視制御装置およびソフトウェア検証方法 | |
CN113467717B (zh) | 一种双机卷镜像管理方法、装置、设备及可读存储介质 | |
CN111414411A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171117 |
|
RJ01 | Rejection of invention patent application after publication |