CN107577564A - 一种基于块同步技术实现双活***的方法 - Google Patents
一种基于块同步技术实现双活***的方法 Download PDFInfo
- 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
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)中,当这两块互为镜像的仲裁磁盘所使用的两个机房同步网络出现问题,将其中一个机房的仲裁磁盘进行置为不可读写的状态。
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)
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)
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的方法 |
-
2017
- 2017-07-24 CN CN201710607424.8A patent/CN107577564A/zh active Pending
Patent Citations (3)
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)
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 |