CN111414411A - 高可用度数据库系统 - Google Patents
高可用度数据库系统 Download PDFInfo
- Publication number
- CN111414411A CN111414411A CN201910122337.2A CN201910122337A CN111414411A CN 111414411 A CN111414411 A CN 111414411A CN 201910122337 A CN201910122337 A CN 201910122337A CN 111414411 A CN111414411 A CN 111414411A
- Authority
- CN
- China
- Prior art keywords
- server
- slave
- storage carrier
- database
- main
- 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
- 239000000969 carrier Substances 0.000 claims description 9
- 239000003999 initiator Substances 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims 1
- 238000007726 management method Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本发明公开了一种高可用度数据库系统,包括至少一对从属服务器,其各建置有一数据库管理系统;一主要储存载体及一次要储存载体,主要储存载体与次要储存载体通过因特网建立有DRBD机制,次要储存载体负责为主要储存载体进行实时备份,该主要储存载体与一对从属服务器之间通过网络建置的小型计算机系统接口(ISCSI)协议,使作为数据库管理系统的一对从属服务器与作为数据库的主要储存载体之间获得连接与沟通并各自独立;以及一第一主服务器,根据预设的权重值对该一对从属服务器进行服务的分配,该第一主服务器将数据库的联机都导向默认为高权重值的从属服务器,而低权重值的从属服务器作为待命,成为数据库管理服务的备援以提供系统服务不中断的高可用度。
Description
技术领域
本发明是关于一种数据库系统,特别是关于一种提供高可用度机制运行的高可用度数据库系统架构,用以确保数据库的服务不中断,以及使所储存的数据具有一致及完整性。
背景技术
所谓“高可用度系统”(High Availability System)是提供运行中的设备能在灾害、故障发生时立刻转换到备援设备来维持服务不间断的机制,以降低系统中因为单一设备故障或断电而中止服务的发生率。为了保持设备的“高可用度”(HA),在系统中至少包含有两台可互相切换的设备,此正在使用的设备称为“运行设备”,其拥有一目的IP地址,而另一台则称为“待命设备”,其不具有目的IP地址;当所谓“运行设备”发生故障、失效时,“待命设备”将自动切换为运行设备,并接管该目的IP地址来提供服务。
本发明所要探讨的是用来储存企业营运数据的数据库系统,由于其关乎到企业生存的命脉,因此,要如何维持该系统的“高可用度”,使其提供的管理与服务不中断就显得格外重要。大致上来说,数据库系统损坏及故障最常发生的原因是在数据交易过程中突然死机、或者断电造成灾害,尤其一般数据库管理系统中都具有一项将数据储存在暂存内存再写入硬盘而提升该系统运作效能的机制,因此,若该数据库系统发生死机或断电的情形时,纵使在系统中建置有“高可用度”的备援机制而进行故障、灾害转移(failover),却仍免不了因为数据来不及写入硬盘中而造成漏失,使原本待命设备在没有获得完整、正确的储存数据就接手运行,最终将造成硬盘中的数据库混乱而难以补救。
发明内容
为改善先前技术,本发明提供一种新颖的高可用度数据库系统,在建立起系统高可用度的机制下,把数据库管理系统(DBMS)与数据库(DB)各自独立,通过网络建置的小型计算机系统接口(ISCSI)协议建立起彼此的沟通与连接,可以弹性规划配置档案的容量给数据存放,在进行数据储存时写入储存载体内,纵使任一个DBMS死机或毁损,经由故障、灾害转移(failover)时也不会因数据还在暂存内存中而来不及存入硬盘,产生数据的漏失,更能确保数据的一致以及完整性,以上为本发明的主要目的。
为实现此目的,本发明所揭露的高可用度数据库系统包括至少一对从属服务器,该一对从属服务器中各建置有一数据库管理系统(DBMS);两座储存载体,分别为一主要储存载体,以及一次要储存载体,该主要储存载体与所述一对从属服务器之间通过ISCSI协议,使在此作为DBMS的一对从属服务器与作为数据库(DB)的主要储存载体之间获得连接与沟通,并各自独立;以及一第一主服务器,其根据预设的权重值对该一对从属服务器(DBMS)进行服务的分配而非负载平衡,即,该第一主服务器会将数据库的联机都导向默认为高权重值的从属服务器,而低权重值的从属服务器则作为待命,成为数据库管理服务的备援机制;同时,在任一个从属服务器(DBMS)将每一笔数据写入数据库(DB)时,会预先记录于主要储存载体的一个日志(log)文件档案中,使任一个从属服务器发生故障后,接手的另一个从属服务器都能够从该日志(log)文件档案中获得尚未写入数据库(DB)的数据而维持数据的一致性。另一方面,该主要储存载体与该次要储存载体通过因特网建置有一DRBD镜像机制,当所述主要储存载体发生故障时,可以得到一实时的备份数据进行灾害恢复所需,不仅为数据库系统建构了一个高可用度的环境,更兼顾到未来的扩充性以及数据备份的效率。
附图说明
图1为本发明所建置的数据库系统架构图。
附图中的符号说明:
10 第一主服务器(MA);11 第二主服务器(MB);20 第一从属服务器(SA);21 第二从属服务器(SB);30 主要储存载体(LUNA);31 次要储存载体(LUNB);4 网络建置的小型计算机系统接口(ISCSI);5 DRBD;6 Heartbeat;7 日志(log)文件档案。
具体实施方式
如图1所示,本发明的高可用度数据库系统包括一第一主服务器(MA)10,至少一对从属服务器,及至少两座储存载体,通过因特网,该一对从属服务器及该两座储存载体与该第一主服务器(MA)10相连并接受其控制。
更具体地说,所述一对从属服务器包括一第一从属服务器(SA)20、及一第二从属服务器(SB)21,在该第一从属服务器(SA)20及第二从属服务器(SB)21中各建置有一数据库管理系统(database management system,以下均简称为DBMS),该数据库管理系统(DBMS)是一套计算机程序,可以控制数据库(database,以下均简称为DB)的分类、运算及资料的存取。
所述两座储存载体包括一主要储存载体(LUNA)30、及一次要储存载体(LUNB)31,该主要储存载体(LUNA)30与第一从属服务器(SA)20、第二从属服务器(SB)21之间是通过以网络建置的小型计算机系统接口4(Internet Small Computer System Interface,以下均简称为ISCSI)协议下的储存技术,将该主要储存载体(LUNA)30设定为ISCSI4的目的端(target),该第一从属服务器(SA)20、及第二从属服务器(SB)21 设定为启动端(initiator),使在此作为数据库管理系统(DBMS)的第一从属服务器(SA)20及第二从属服务器(SB)21与作为数据库(DB)的该主要储存载体(LUNA)30之间获得连接与沟通,并产生该数据库管理系统(DBMS)与该数据库(DB)各自独立。
在该主要储存载体(LUNA)30与该次要储存载体(LUNB)31的底层通过因特网建立有一DRBD(Distributed Replicated Block Device)机制,此DRBD 5是Linux平台上的分布式储存系统,类似磁盘阵列的RAID 1镜像技术使该主要储存载体(LUNA)30与次要储存载体(LUNB)31的数据同步。在本发明的设计中,该储存载体的DRBD 5采用单主模式,其是指任何资源在任何特定的时间,此双节点丛集只存在有一个主节点,即,作为DBMS的第一从属服务器(SA)20或第二从属服务器(SB)21均会将数据写入该主要储存载体(LUNA)30中,而该次要储存载体(LUNB)31则为待命状态,负责为主要储存载体(LUNA)30进行实时备份以避免数据的遗失,换言之,当所述主要储存载体(LUNA)30不慎发生故障时,仍会产生一实时的备份数据可供进行数据库(DB)的恢复。
所述第一主服务器(MA)10控制了该第一从属服务器(SA)20及第二从属服务器(SB)21的运行状态,特别是,在本发明所揭的高可用度数据库系统中,该第一主服务器(MA)10是根据预设的权重值而对第一从属服务器(SA)20及第二从属服务器(SB)21进行服务的分配而非负载的平衡。更详细地说,通过一自动控制的程序,使运行中的第一主服务器(MA)10将数据库的联机都导向默认为高权重值(w=1)的第一从属服务器(SA)20,而低权重值(w=0)的第二从属服务器(SB)21则作为待命;如果该第一从属服务器(SA)20无法正常提供服务,则第一主服务器(MA)10 便会将该第二从属服务器(SB)21的权重值由0提高为1,并将所有数据库面向连接该第二从属服务器(SB)21,作为数据库服务的备援。举例来说,系统首先会产生一个虚拟的IP地址(VIP)作为该从属服务器群集(SA及SB)在内网的IP代表位置,接着将此VIP设定于第一主服务器(MA)10上,所述第一主服务器(MA)10主要是利用Linux的两个套件ipvsadm以及keepalived来实现彼此的“HA”功能,也利用这两个套件来执行权重值的控管,以达成分配至从属服务器群集(SA及SB)的用户联机功能。这个备援机制的设定都在keepalived套件内的keepalived.conf配置文件内,通过keepalived侦测数据库 tcp或udp的端口,当SA(即第一从属服务器)无法提供服务时,MA (即第一主服务器)会通过notify_down触发去管控权重值,将SB(即第二从属服务器)的权重值由0设为1,同时也将面向连接SB继续为用户提供数据库管理系统(DBMS)服务,若SA数据库管理系统(DBMS)恢复正常,MA则会通过notify up触发将SB权重值由1设为0,并将联机再度导回SA。
另外,为避免第一从属服务器(SA)20及第二从属服务器(SB)21进行故障、灾害转移(failover)时发生数据的遗失,在该第一从属服务器(SA)20或第二从属服务器(SB)21将每一笔数据写入数据库(DB)时,会领先数据库(DB)将该数据记录于主要储存载体(LUNA)30的一个日志(log)文件档案7中,并借由DRBD 5将数据库(DB)及该日志(log)文件档案7同步镜射于次要储存载体(LUNB)31,使不论是第一从属服务器(SA)20或第二从属服务器(SB)21发生故障后,接手的另一个数据库管理系统(DBMS)都能够从该日志(log)文件档案7中获得尚未写入数据库(DB)的数据而维持一致性的服务。
此外,为提升本发明的高可用度数据库系统架构的高可用度“HA”,在本发明中更建置有一第二主服务器(MB)11与所述至少一对从属服务器,及至少两座储存载体通过因特网联机并对其产生控制,在该第一主服务器(MA)10预设为运行设备时,该第二主服务器(MB)11则作为待命,该第一主服务器(MA)10与第二主服务器(MB)11之间建立有一心跳(Heartbeat)6 侦测机制,彼此周期性地互送心跳封包,在预定的时间内,若是该第二主服务器(MB)11 没有收到第一主服务器(MA)10的心跳封包,则该第二主服务器(MB)11就会自动切换成为运行设备并接管资源来维持数据库服务的正常运作,从而建立起一种高可用度的作业环境。
借由以上的说明可以了解到,本发明的高可用度数据库系统以ISCSI协议完成了DBMS与DB的分离,可以弹性规划配置档案的容量给数据存放,在进行数据储存时直接写入主要储存载体(LUNA)30内,纵使任一个DBMS (SA或SB)死机或毁损,在经由MA10的权重值调配进行故障、灾害转移(failover)时不会因数据还在内存中而来不及存入硬盘(LUNA)而产生数据的漏失,更能确保数据的完整及正确性;同时,通过主要储存载体(LUNA)30与次要储存载体(LUNB)31建置的DRBD镜像机制,当所述主要储存载体(LUNA)30不慎发生故障时,仍可以得到一实时的备份数据进行灾害恢复所需。不仅为数据库系统建构了一个高可用度的机制,更兼顾到未来的扩充性以及数据备份的效率。
虽然本发明已通过上述的较佳实施方式进行详细说明,但熟悉此相关技艺者当知,对于所属形态与细节的修饰也应不偏离本发明所附的申请专利范围的精神与范畴,合先陈明。
Claims (5)
1.一种高可用度数据库系统,其特征在于,包括一第一主服务器,至少一对从属服务器,以及两座储存载体,分别为一主要储存载体,一次要储存载体,通过因特网,该一对从属服务器及该主要储存载体与该第一主服务器相连并接受该第一主服务器控制;其中,
该一对从属服务器包括一第一从属服务器及一第二从属服务器,在该第一从属服务器及第二从属服务器中各建置有一数据库管理系统;
该主要储存载体与该第一从属服务器、第二从属服务器之间通过网络建置的小型计算机系统接口协议,使作为数据库管理系统的第一从属服务器及第二从属服务器与作为数据库的该主要储存载体之间获得连接与沟通,并使该数据库管理系统与该数据库各自独立;另外,在任一个从属服务器将每一笔数据写入数据库时,会领先数据库将该数据记录于主要储存载体的一个日志文件档案中,使该任一个从属服务器发生故障后,接手的另一个从属服务器能够从该日志文件档案中获得尚未写入数据库的数据而维持数据的一致性;
该第一主服务器是根据预设的权重值对该第一从属服务器及第二从属服务器进行服务的分配,将数据库的联机都导向默认为高权重值的第一从属服务器,而低权重值的第二从属服务器则作为待命;
该主要储存载体与该次要储存载体通过因特网建立有一DRBD机制,使作为数据库管理系统的第一从属服务器或第二从属服务器均会将数据写入该主要储存载体中,该次要储存载体则负责为主要储存载体进行实时备份。
2.如权利要求1所述的高可用度数据库系统,其特征在于,其中,还包括有一第二主服务器,该第二主服务器与该至少一对从属服务器及主要、次要储存载体通过因特网联机并对该至少一对从属服务器及主要、次要储存载体产生控制,在该第一主服务器预设为运行设备时,该第二主服务器则作为待命。
3.如权利要求2所述的高可用度数据库系统,其特征在于,其中,该第一主服务器与第二主服务器之间建立有一心跳侦测机制,并彼此周期性地互送心跳封包,在预定的时间内,若是该第二主服务器没有收到第一主服务器的心跳封包,则该第二主服务器切换成为运行设备并接管资源来维持数据库服务的正常运作。
4.如权利要求1所述的高可用度数据库系统,其特征在于,其中,该主要储存载体设定为该网络建置的小型计算机系统接口的目的端,该第一从属服务器及第二从属服务器设定为启动端。
5.如权利要求1所述的高可用度数据库系统,其特征在于,其中,所述DRBD机制是建置在该主要储存载体与该次要储存载体的底层。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108100653 | 2019-01-08 | ||
TW108100653A TWI721355B (zh) | 2019-01-08 | 2019-01-08 | 高可用度資料庫系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111414411A true CN111414411A (zh) | 2020-07-14 |
Family
ID=71492668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910122337.2A Pending CN111414411A (zh) | 2019-01-08 | 2019-02-19 | 高可用度数据库系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111414411A (zh) |
TW (1) | TWI721355B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI744039B (zh) * | 2020-10-15 | 2021-10-21 | 威聯通科技股份有限公司 | 分散式儲存系統及應用於上之資料同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228834A1 (en) * | 2002-12-18 | 2005-10-13 | Fujitsu Limited | Distributed transaction processing control |
CN102440009A (zh) * | 2009-03-09 | 2012-05-02 | 佐科姆有限公司 | 提供生活观察的移动终端和方法以及具有数据分析、分发以及终端指导特征的相关服务器布置和方法 |
CN103019875A (zh) * | 2012-12-19 | 2013-04-03 | 北京世纪家天下科技发展有限公司 | 一种实现数据库双主改造的方法及装置 |
CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7826470B1 (en) * | 2004-10-19 | 2010-11-02 | Broadcom Corp. | Network interface device with flow-oriented bus interface |
TWI584131B (zh) * | 2015-12-14 | 2017-05-21 | 財團法人工業技術研究院 | 伺服器備份方法及其備份系統 |
US10824455B2 (en) * | 2016-12-02 | 2020-11-03 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
-
2019
- 2019-01-08 TW TW108100653A patent/TWI721355B/zh active
- 2019-02-19 CN CN201910122337.2A patent/CN111414411A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228834A1 (en) * | 2002-12-18 | 2005-10-13 | Fujitsu Limited | Distributed transaction processing control |
CN102440009A (zh) * | 2009-03-09 | 2012-05-02 | 佐科姆有限公司 | 提供生活观察的移动终端和方法以及具有数据分析、分发以及终端指导特征的相关服务器布置和方法 |
CN103019875A (zh) * | 2012-12-19 | 2013-04-03 | 北京世纪家天下科技发展有限公司 | 一种实现数据库双主改造的方法及装置 |
CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202026905A (zh) | 2020-07-16 |
TWI721355B (zh) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163653B2 (en) | Storage cluster failure detection | |
US20220027065A1 (en) | Low overhead resynchronization snapshot creation and utilization | |
US9916113B2 (en) | System and method for mirroring data | |
US8886796B2 (en) | Load balancing when replicating account data | |
US7607034B2 (en) | Data storage system and control method thereof | |
US8473465B2 (en) | Data mirroring system | |
CN1554055B (zh) | 高可用性集群虚拟服务器系统 | |
CN101741536B (zh) | 数据级容灾方法、系统和生产中心节点 | |
CN102088490B (zh) | 数据存储方法、设备和系统 | |
KR20030003264A (ko) | 서버의 이중화 방법 및 이중화 서버시스템 | |
CN105406980A (zh) | 一种多节点备份方法及装置 | |
CN107357800A (zh) | 一种数据库高可用零丢失解决方法 | |
CN103814352A (zh) | 一种虚拟设备重建方法与装置 | |
CN111414411A (zh) | 高可用度数据库系统 | |
CN110674539B (zh) | 一种硬盘保护设备、方法及系统 | |
EP3167372B1 (en) | Methods for facilitating high availability storage services and corresponding devices | |
US11544162B2 (en) | Computer cluster using expiring recovery rules | |
CN111367711A (zh) | 一种基于超融合数据安全容灾方法 | |
US9582384B2 (en) | Method and system for data replication | |
Cisco | Fault Tolerance | |
Cisco | Fault Tolerance | |
Cisco | Fault Tolerance | |
US11561872B2 (en) | High availability database system | |
CN102833096A (zh) | 一种低成本的高可用系统实现方法及装置 | |
CN117909022A (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 |