CN107577564A - 一种基于块同步技术实现双活***的方法 - Google Patents

一种基于块同步技术实现双活***的方法 Download PDF

Info

Publication number
CN107577564A
CN107577564A CN201710607424.8A CN201710607424A CN107577564A CN 107577564 A CN107577564 A CN 107577564A CN 201710607424 A CN201710607424 A CN 201710607424A CN 107577564 A CN107577564 A CN 107577564A
Authority
CN
China
Prior art keywords
computer room
quorum
quorum disk
disk
dual
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
CN201710607424.8A
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.)
Hangzhou Wo Qu Polytron Technologies Inc
Original Assignee
Hangzhou Wo Qu Polytron Technologies Inc
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 Hangzhou Wo Qu Polytron Technologies Inc filed Critical Hangzhou Wo Qu Polytron Technologies Inc
Priority to CN201710607424.8A priority Critical patent/CN107577564A/zh
Publication of CN107577564A publication Critical patent/CN107577564A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明涉及数据库技术领域,公开了一种基于块同步技术实现双活***的方法,包括以下步骤:(1)第一机房和第二机房中分别选择一台存储服务器,并且在存储服务器中分配相同大小的存储空间,通过块设备同步技术将它们制成互为镜像的两块仲裁磁盘;(2)使这两个互为镜像的仲裁磁盘为第一机房和第二机房的集群共享仲裁磁盘;(3)通过网络把写入的数据请求发给另一个机房的仲裁磁盘,使两个仲裁磁盘数据内容保持一致;(4)在第一机房或第二机房出现异常情况,另外一个正常机房可以访问正常机房的仲裁磁盘和正常机房的共享仲裁磁盘。本发明在一个块设备出现问题时另一块不会受到任何影响依旧可以进行工作储存数据并且备份,保证了工作的连续性。

Description

一种基于块同步技术实现双活***的方法
技术领域
本发明涉及数据库技术领域,特别是涉及一种基于块同步技术实现双活***的方法。
背景技术
ORACLE RAC是数据库中的一种并行模式,它能保证集群的所有成员都可以同时接收客户端的请求,Oracle RAC主要支持Oracle9i、10g、11g、12c版本,可以支持24x 7有效的数据库应用***,在低成本服务器上构建高可用性数据库***,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle公司集成提供了集群软件和存储管理软件,当应用规模需要扩充时,用户可以按需扩展***,以保证***的性能。
使用Oracle RAC做双活***即将RAC的不同节点存放在不同的机房中,这样可以做到在一个机房断电后另一个机房还可以正常对外提供服务,可以有效避免因机房断电导致数据库对外服务中断的问题。虽然基于Oracle RAC的双活架构很完美,但其中有一个很强的限制,在集群脑裂的时候起到表决作用的仲裁磁盘数量必须是奇数块(2n+1),并且这种架构下的存储都必须是对集群所有节点都是共享的,即每一台机器必须要都能访问到一个或者多个相同的共享存储上。并且需要保证表决磁盘组中的磁盘保持一半以上可用,它才能正常提供表决功能防止集群发生脑裂。基于这种限制,目前对于双活架构的仲裁磁盘存储方式的解决方案有两种,第一种,双活***的两个机房分别仲裁磁盘,但是由于仲裁磁盘数量为奇数个,所以一定有一个机房(n+1)比另一个机房(n)多存储一块仲裁磁盘。但是这种情况下的缺陷就是当存储n+1块仲裁磁盘的机房断电或者损坏,那么整个集群都会挂起无法对外提供服务,并且在这个机房回复前另一个机房由于只能访问到n块仲裁磁盘将一直无法被拉起,这将严重影响双活***的高可用性。第二种,在设置双活***的两个机房分别存放相同数量的仲裁磁盘,开设第三方或者第三个机房存放单独一块或者多块仲裁磁盘。这种方案可以有效解决第一种方案的缺陷,但是由于开设了第三个机房并且还需要配置共享存储,这种架构额外花费会非常非常昂贵。
发明内容
本发明针对现有双活架构技术中架构复杂且昂贵、双活可用性低的缺点,提供了一种基于块同步技术实现双活***的方法,在不开设第三个额外的机房单独存放仲裁磁盘的前提下,使实现双活的两个机房无论哪个机房发生断电或者不可用的情况下,另一个机房都不会受到任何影响,从而实现真正意义上的双活架构。
为了解决上述技术问题,本发明通过下述技术方案得以解决。
一种基于块同步技术实现双活***的方法,包括如下步骤:
(1)本地集群服务器内设有第一机房和第二机房,在第一机房和第二机房中分别选择一台存储服务器,并且在存储服务器中分配相同大小的存储空间,通过一个块设备驱动,并且分别将他们分配的空间生成块设备,通过块设备同步技术将它们制成互为镜像的两块仲裁磁盘;
(2)两块仲裁磁盘通过iscsi技术输送数据给本地机房的集群服务器,使这两个互为镜像的仲裁磁盘为第一机房和第二机房的集群共享仲裁磁盘;
(3)当第一机房或第二机房接收到请求写入仲裁磁盘时,数据只写入本地仲裁磁盘中,然后通过网络把写入的数据请求发给另一个机房的仲裁磁盘,使两个仲裁磁盘数据内容保持一致;
(4)在第一机房或第二机房出现异常情况,另外一个正常机房可以访问正常机房的仲裁磁盘和正常机房的共享仲裁磁盘,访问到的仲裁磁盘超过一半,根据oracle数据库集群的规则,正常对外提供服务。
作为优选,步骤(1)中,当这两块互为镜像的仲裁磁盘所使用的两个机房同步网络出现问题,将其中一个机房的仲裁磁盘进行置为不可读写的状态。
本发明由于采用了以上技术方案,具有显著的技术效果:通过在不同机房的两台存储服务器分配出一定的空间,经过块设备驱动将这两个空间分别生成块设备,然后将这两个块设备作为Oracle RAC中的仲裁磁盘分别只输送给本地机房的RAC集群节点服务器,在一个块设备出现问题时另一块不会受到任何影响依旧可以进行工作储存数据并且备份,这样可以在一个机房断电的情况下还能保证另一个机房集群还有n+1块仲裁磁盘可以访问从而保证Oracle RAC可以继续工作,保证了工作的连续性。
附图说明
图1是本发明一种基于块同步技术实现双活***的方法中运行结构的示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
如图1所示,一种基于块同步技术实现双活***的方法,包括如下步骤:
(1)本地集群服务器内设有第一机房和第二机房,在第一机房和第二机房中分别选择一台存储服务器,并且在存储服务器中分配相同大小的存储空间,通过一个块设备驱动,并且分别将他们分配的空间生成块设备,通过块设备同步技术将它们制成互为镜像的两块仲裁磁盘;
(2)两块仲裁磁盘通过iscsi技术输送数据给本地机房的集群服务器,使这两个互为镜像的仲裁磁盘为第一机房和第二机房的集群共享仲裁磁盘;
(3)当第一机房或第二机房接收到请求写入仲裁磁盘时,数据只写入本地仲裁磁盘中,然后通过网络把写入的数据请求发给另一个机房的仲裁磁盘,使两个仲裁磁盘数据内容保持一致;
(4)在第一机房或第二机房出现异常情况,另外一个正常机房可以访问正常机房的仲裁磁盘和正常机房的共享仲裁磁盘,访问到的仲裁磁盘超过一半,根据oracle数据库集群的规则,正常对外提供服务。
当这两块互为镜像的仲裁磁盘所使用的两个机房同步网络出现问题,将其中一个机房的仲裁磁盘进行置为不可读写的状态。
通过在不同机房的两台存储服务器分配出一定的空间,经过块设备驱动将这两个空间分别生成块设备,然后将这两个块设备作为Oracle RAC中的仲裁磁盘分别只输送给本地机房的RAC集群节点服务器,在一个块设备出现问题时另一块不会受到任何影响依旧可以进行工作储存数据并且备份,这样可以在一个机房断电的情况下还能保证另一个机房集群还有n+1块仲裁磁盘可以访问从而保证Oracle RAC可以继续工作,保证了工作的连续性。
实施例1
双活***如图1架构,两个机房共存储了6台服务器,其中两台做为两个节点的oracle集群(NODE1和NODE2)。oracle的集群规定仲裁磁盘为奇数块(2n+1)并且可用的仲裁磁盘数量需要大于n时才能正常工作。所以会在另外四台存储服务器存放4个仲裁磁盘,并且将vote2和vote3制作成为互为镜像的状态,也就是node1和node2认为各自访问到的vote2和vote3是同一块仲裁磁盘,oracle在这种状态下oracle集群还是认为当前只有3块仲裁磁盘,这样就可以满足oracle集群的基本要求。
当A机房发生机房断电,那么A机房中所有的服务器都会发生断电,不能正常使用。这时vote1和vote2不能发挥仲裁作用,那么这个时候B机房的NODE2计算节点,还是能够访问到两块仲裁磁盘(vote3和vote4),有超过一半仲裁磁盘可用,所以B机房不会因为A机房的断电而受到影响,从而实现真正的双活。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (2)

1.一种基于块同步技术实现双活***的方法,其特征在于,包括如下步骤:
(1)本地集群服务器内设有第一机房和第二机房,在第一机房和第二机房中分别选择一台存储服务器,并且在存储服务器中分配相同大小的存储空间,通过一个块设备驱动,并且分别将他们分配的空间生成块设备,通过块设备同步技术将它们制成互为镜像的两块仲裁磁盘;
(2)两块仲裁磁盘通过iscsi技术输送数据给本地机房的集群服务器,使这两个互为镜像的仲裁磁盘为第一机房和第二机房的集群共享仲裁磁盘;
(3)当第一机房或第二机房接收到请求写入仲裁磁盘时,数据只写入本地仲裁磁盘中,然后通过网络把写入的数据请求发给另一个机房的仲裁磁盘,使两个仲裁磁盘数据内容保持一致;
(4)在第一机房或第二机房出现异常情况,另外一个正常机房可以访问正常机房的仲裁磁盘和正常机房的共享仲裁磁盘,访问到的仲裁磁盘超过一半,根据oracle数据库集群的规则,正常对外提供服务。
2.根据权利要求1所述的一种基于块同步技术实现双活***的方法,其特征在于:步骤(1)中,当这两块互为镜像的仲裁磁盘所使用的两个机房同步网络出现问题,将其中一个机房的仲裁磁盘进行置为不可读写的状态。
CN201710607424.8A 2017-07-24 2017-07-24 一种基于块同步技术实现双活***的方法 Pending CN107577564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710607424.8A CN107577564A (zh) 2017-07-24 2017-07-24 一种基于块同步技术实现双活***的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710607424.8A CN107577564A (zh) 2017-07-24 2017-07-24 一种基于块同步技术实现双活***的方法

Publications (1)

Publication Number Publication Date
CN107577564A true CN107577564A (zh) 2018-01-12

Family

ID=61034015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710607424.8A Pending CN107577564A (zh) 2017-07-24 2017-07-24 一种基于块同步技术实现双活***的方法

Country Status (1)

Country Link
CN (1) CN107577564A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647117A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种数据备份的方法、主***、设备及计算机可读存储介质
CN109947601A (zh) * 2018-11-21 2019-06-28 北京中科同向信息技术有限公司 一种双活存储***
CN113094354A (zh) * 2021-04-08 2021-07-09 浪潮商用机器有限公司 一种数据库架构方法、装置、数据库一体机和存储介质
CN115794499A (zh) * 2023-02-03 2023-03-14 创云融达信息技术(天津)股份有限公司 一种用于分布式块存储集群间双活复制数据的方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060776B1 (en) * 2003-03-21 2011-11-15 Netapp, Inc. Mirror split brain avoidance
CN104168323A (zh) * 2013-08-26 2014-11-26 天津书生投资有限公司 一种云服务***及方法
CN105843713A (zh) * 2016-04-01 2016-08-10 杭州沃趣网络科技有限公司 一种双机***无共享存储实现Oracle RAC的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060776B1 (en) * 2003-03-21 2011-11-15 Netapp, Inc. Mirror split brain avoidance
CN104168323A (zh) * 2013-08-26 2014-11-26 天津书生投资有限公司 一种云服务***及方法
CN105843713A (zh) * 2016-04-01 2016-08-10 杭州沃趣网络科技有限公司 一种双机***无共享存储实现Oracle RAC的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647117A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种数据备份的方法、主***、设备及计算机可读存储介质
CN109947601A (zh) * 2018-11-21 2019-06-28 北京中科同向信息技术有限公司 一种双活存储***
CN113094354A (zh) * 2021-04-08 2021-07-09 浪潮商用机器有限公司 一种数据库架构方法、装置、数据库一体机和存储介质
CN115794499A (zh) * 2023-02-03 2023-03-14 创云融达信息技术(天津)股份有限公司 一种用于分布式块存储集群间双活复制数据的方法和***

Similar Documents

Publication Publication Date Title
CN102214205B (zh) 用于经聚类的数据库***中的逻辑复制的***和方法
US7152076B2 (en) System and method for efficient multi-master replication
CN107577564A (zh) 一种基于块同步技术实现双活***的方法
US7318136B2 (en) Method and apparatus implementing virtualization for data migration with the efficient use of old assets
CN104395898B (zh) 虚拟存储设备网关
US7870234B2 (en) Highly scalable and highly available cluster system management scheme
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
CN102402395B (zh) 基于仲裁磁盘的高可用***不间断运行方法
US20070061379A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
US9652346B2 (en) Data consistency control method and software for a distributed replicated database system
JP2011530127A (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
CN104994168A (zh) 分布式存储方法及分布式存储***
CN107273440A (zh) 计算机应用、数据存储方法、微服务和微数据库
CN205620984U (zh) 一种数据分层存储设备
US20160306550A1 (en) Constructing a scalable storage device, and scaled storage device
US20130124916A1 (en) Layout of mirrored databases across different servers for failover
WO2020259086A1 (zh) 一种分布式架构
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
US6804710B1 (en) Configuration information management system, method, program, and program storage device
CN108964986A (zh) 协同办公***应用级双活灾备***
CN107291821A (zh) 一种同城双活架构快速切换的方法
CN104410531A (zh) 冗余的***架构方法
US7080197B2 (en) System and method of cache management for storage controllers
Vallath Oracle real application clusters
CN110362590A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180112