CN107562547B - 一种ctdb集群系统及创建方法、创建系统 - Google Patents

一种ctdb集群系统及创建方法、创建系统 Download PDF

Info

Publication number
CN107562547B
CN107562547B CN201710763889.2A CN201710763889A CN107562547B CN 107562547 B CN107562547 B CN 107562547B CN 201710763889 A CN201710763889 A CN 201710763889A CN 107562547 B CN107562547 B CN 107562547B
Authority
CN
China
Prior art keywords
ctdb
ownership
clusters
file data
lock file
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.)
Active
Application number
CN201710763889.2A
Other languages
English (en)
Other versions
CN107562547A (zh
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710763889.2A priority Critical patent/CN107562547B/zh
Publication of CN107562547A publication Critical patent/CN107562547A/zh
Application granted granted Critical
Publication of CN107562547B publication Critical patent/CN107562547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种CTDB集群系统及创建方法、创建系统,该CTDB集群系统包括:N个CTDB集群;每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;其中,所述N为大于1的整数。本发明中的CTDB集群系统,多个节点能够构成多个CTDB集群,从而能够提供不同的业务服务,而且本发明中的CTDB集群系统的锁文件为Redis数据库的多条锁文件数据。从而本发明的CTDB集群系统,要比现有技术中,采用普通文件来分别作为多个CTDB集群的锁文件来说,配置要更加简单,能够将多个节点配置为多个CTDB集群,实现方便。

Description

一种CTDB集群系统及创建方法、创建系统
技术领域
本发明涉及计算机技术领域,特别涉及一种CTDB集群系统及创建方法、创建系统。
背景技术
在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。多个CTDB节点通过一个普通文件作为分布式锁来进行标示和构成一个CTDB集群,该文件存储在分布式存储集群中,同一个CTDB集群中获取到该文件所有权的节点为该CTDB集群的主节点,主节点获取到该文件的所有权后,其他节点则不会再获取到该文件的所有权,主节点可以进行集群的监控和故障恢复。
一般情况下,存储集群节点对外提供相同的业务服务,所有节点构成一个CTDB集群,在集群中的节点出现宕机时,CTDB集群会进行恢复,重新将正常节点重新构成一个CTDB集群,并继续对外提供文件读写服务。
然而存储集群节点比较多,需要这些节点对外提供不同的业务服务时,这时就不能只构成一个CTDB集群,而是构成多个CTDB集群。
因此,如何将多个节点配置为多个CTDB集群,实现方便,配置简单,能够提供多种业务服务,是本领域技术人员亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种CTDB集群系统、创建方法、创建系统,能够将多个节点配置为多个CTDB集群,实现方便,配置简单。其具体方案如下:
第一方面,本发明提供一种CTDB集群系统,包括:N个CTDB集群;
每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;
其中,所述N为大于1的整数。
优选地,每个所述CTDB集群分别提供不同的业务服务。
优选地,N个所述CTDB集群的节点数量相等。
优选地,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致。
优选地,还包括:
所有权判断模块:用于判断,当任一条所述锁文件数据被获取所有权后,所述所有权是否在预设时间内没有被释放;
所有权释放模块:用于当任一条所述锁文件数据被获取所有权后,如果所述所有权在预设时间内没有被释放时,释放所述所有权。
优选地,所述预设时间为4秒。
第二方面,本发明提供一种CTDB集群系统的创建方法,包括:
将M个节点分组,以构成N个CTDB集群;
将N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据;
设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
优选地,还包括:
将所述Redis数据库配置为:所述Redis数据库判断,当任一条所述锁文件数据被获取所有权后,在预设时间内所述所有权是否没有被释放,如果是则所述Redis数据库释放所述所有权。
优选地,所述预设时间为4秒。
第三方面,本发明还提供一种CTDB集群系统的创建系统,包括:
集群分组构建单元:用于将M个节点分组,以构成N个CTDB集群;
锁文件设置单元:用于将N个所述CTDB集群的分布式锁分别设置为Redis数据库的N条锁文件数据;
业务设置单元,用于设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
本发明提供一种CTDB集群系统,包括:N个CTDB集群;每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;其中,所述N为大于1的整数。
本发明中的CTDB集群系统,多个节点能够构成多个CTDB集群,从而能够提供不同的业务服务,而且本发明中的CTDB集群系统的锁文件为Redis数据库的多条锁文件数据。从而本发明的CTDB集群系统,要比现有技术中,采用普通文件来分别作为多个CTDB集群的锁文件来说,配置要更加简单,能够将多个节点配置为多个CTDB集群,实现方便。
本发明还提供一种CTDB集群系统的创建方法、一种CTDB集群系统的创建系统,也具有上述的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明第一种具体实施方式所提供一种CTDB集群系统的组成示意图;
图2为本发明第二种具体实施方式所提供一种CTDB集群系统的拓展组成示意图;
图3为本发明第三种具体实施方式所提供一种CTDB集群系统的创建方法流程图;
图4为本发明第四种具体实施方式所提供一种CTDB集群系统的创建系统组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明第一种具体实施方式所提供一种CTDB集群系统的组成示意图。
在本发明的第一种具体实施方式中,本发明实施例提供的CTDB集群系统,包括N个CTDB集群;每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;其中,所述N为大于1的整数。
例如,N个CTDB集群分别为:CTDB集群1、CTDB集群2……CTDB集群N。对于每个CTDB集群来说,可以包括1个以上的节点数量,因为如果只包括一个节点,那么这就不是一个CTDB集群,而只是一台单独的服务器。通常,分布式系统中的节点指的是服务器。CTDB集群需要分布式锁,这时,锁文件可以由Redis数据库的N条锁文件数据来提供。这样本发明所提供的CTDB集群系统,配置起来就更加的方便易行。在进行锁文件配置时,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致,这样实现CTDB集群和锁文件数据的对应。
进一步地,对于整个CTDB集群系统来说,可以每个CTDB集群均提供不同的业务服务,也可以在需要时,例如一个CTDB集群不能满足业务需求时,根据需要,将适当数量的CTDB集群配置成提供相同的业务服务。
更进一步地,为了方便管理,可以将所有的CTDB集群的节点数量配置为相等。这样在进行替换和分配资源时,可以不必考虑具体每个CTDB集群的大小,而进行统一的管理。
请参考图2,图2为本发明第二种具体实施方式所提供一种CTDB集群系统的拓展组成示意图。
在本发明的第二种具体实施方式中,本发明实施例提供的CTDB集群系统,还包括:
所有权判断模块21:用于判断,当任一条所述锁文件数据被获取所有权后,所述所有权是否在预设时间内没有被释放;
所有权释放模块22:用于当任一条所述锁文件数据被获取所有权后,如果所述所有权在预设时间内没有被释放时,释放所述所有权。
具体地,可以利用Redis数据库来实现,在Redis数据库中,可以将所述Redis数据库配置为:所述Redis数据库判断,当任一条所述锁文件数据被获取所有权后,在预设时间内所述所有权是否没有被释放,如果是则所述Redis数据库释放所述所有权。
这是因为,当采用一个普通的文件来作为锁文件时,当集群主节点因网络故障而无法访问时,由于主节点此时没有释放该锁文件的所有权,同时又因为网络故障,CTDB集群中的非CTDB主节点又获取不到该锁文件的所有权,整个CTDB集群因为主节点网络故障永远也无法恢复成正常集群,也就无法提供正常的读写业务服务。
将标示CTDB集群的存储在分布式存储集群中的普通文件替换成redis轻量级分布式数据库中的一条数据,通过控制每条数据的超时时间(redis中存储的数据可以设置超时时间,超时后数据的所有权会被释放)和主动释放该数据权来控制数据的所有权,即可解决CTDB主节点网络故障无法释放文件所有权的问题。
因此,这里可以将锁文件设置为Redis数据库中的数据,Redis数据库有管理其中数据的权限,因此当Redis数据库中的锁文件数据没有被释放时,Redis数据库可以检测并释放锁文件数据的所有权。
进一步地,鉴于在分布式系统中,一般的业务服务可以在4秒内完成,所以可以设定该预设时间为4秒。
请参考图3,图3为本发明第三种具体实施方式所提供一种CTDB集群系统的创建方法流程图。该方法包括:
S31:将M个节点分组,以构成N个CTDB集群;
S32:将N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据;
S33:设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
例如,在实际项目中,分布式存储系统可以包含30个节点,客户端要求每10个节点为一组,共3组小集群A、B、C,这三个小集群分别提供不同的业务服务供客户端访问,比如小集群中的A小集群提供samba(Server Messages Block,信息服务块)服务,小集群中的B小集群提供NFS(Network File System,网络文件系统)服务,小集群中的C小集群提供KFS(KASS File System,KASS分布式文件系统)这样就对外提供了不同的业务服务。
优选地,该方法还包括:
将所述Redis数据库配置为:所述Redis数据库判断,当任一条所述锁文件数据被获取所有权后,在预设时间内所述所有权是否没有被释放,如果是则所述Redis数据库释放所述所有权。
优选地,所述预设时间为4秒。
请参考图4,图4为本发明第四种具体实施方式所提供一种CTDB集群系统的创建系统组成示意图。
本发明还提供一种CTDB集群系统的创建系统,包括:
集群分组构建单元41:用于将M个节点分组,以构成N个CTDB集群;
锁文件设置单元42:用于将N个所述CTDB集群的分布式锁分别设置为Redis数据库的N条锁文件数据;
业务设置单元43,用于设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种CTDB集群系统及创建方法、创建系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种CTDB集群系统,其特征在于,包括:N个CTDB集群;
每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;
其中,所述N为大于1的整数,并且,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致;
并且,所述CTDB集群系统还包括:
所有权判断模块:用于判断,当任一条所述锁文件数据被获取所有权后,所述所有权是否在预设时间内没有被释放;
所有权释放模块:用于当任一条所述锁文件数据被获取所有权后,如果所述所有权在预设时间内没有被释放时,释放所述所有权。
2.根据权利要求1所述的CTDB集群系统,其特征在于,每个所述CTDB集群分别提供不同的业务服务。
3.根据权利要求1所述的CTDB集群系统,其特征在于,N个所述CTDB集群的节点数量相等。
4.根据权利要求1所述的系统,其特征在于,所述预设时间为4秒。
5.一种CTDB集群系统的创建方法,其特征在于,包括:
将M个节点分组,以构成N个CTDB集群;
将N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据;
设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数,并且,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致;
并且,所述方法还包括:
将所述Redis数据库配置为:所述Redis数据库判断,当任一条所述锁文件数据被获取所有权后,在预设时间内所述所有权是否没有被释放,如果是则所述Redis数据库释放所述所有权。
6.根据权利要求5所述的方法,其特征在于,所述预设时间为4秒。
7.一种CTDB集群系统的创建系统,其特征在于,包括:
集群分组构建单元:用于将M个节点分组,以构成N个CTDB集群;
锁文件设置单元:用于将N个所述CTDB集群的分布式锁分别设置为Redis数据库的N条锁文件数据;
业务设置单元,用于设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数,并且,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致,并且所述CTDB集群系统还包括:所有权判断模块:用于判断,当任一条所述锁文件数据被获取所有权后,所述所有权是否在预设时间内没有被释放;所有权释放模块:用于当任一条所述锁文件数据被获取所有权后,如果所述所有权在预设时间内没有被释放时,释放所述所有权。
CN201710763889.2A 2017-08-30 2017-08-30 一种ctdb集群系统及创建方法、创建系统 Active CN107562547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710763889.2A CN107562547B (zh) 2017-08-30 2017-08-30 一种ctdb集群系统及创建方法、创建系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710763889.2A CN107562547B (zh) 2017-08-30 2017-08-30 一种ctdb集群系统及创建方法、创建系统

Publications (2)

Publication Number Publication Date
CN107562547A CN107562547A (zh) 2018-01-09
CN107562547B true CN107562547B (zh) 2021-06-29

Family

ID=60978173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710763889.2A Active CN107562547B (zh) 2017-08-30 2017-08-30 一种ctdb集群系统及创建方法、创建系统

Country Status (1)

Country Link
CN (1) CN107562547B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881411A (zh) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 一种大规模节点下ctdb集群分组的方法
CN108958991B (zh) * 2018-07-26 2022-05-06 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN110262898B (zh) * 2019-06-19 2021-01-29 广州华多网络科技有限公司 一种业务请求的处理方法及客户端
CN114116639B (zh) * 2022-01-27 2022-04-29 苏州浪潮智能科技有限公司 一种集群文件锁的设置方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293954A (zh) * 2016-08-08 2017-01-04 浪潮(北京)电子信息产业有限公司 一种基于分布式锁的高可用服务管理方法
CN106775685A (zh) * 2016-12-01 2017-05-31 北京奇虎科技有限公司 唤醒锁释放方法和装置、移动终端
CN107092533A (zh) * 2017-03-29 2017-08-25 弘成科技发展有限公司 基于ActiveMQ+Redis的同步消息队列

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262820A (zh) * 2015-10-29 2016-01-20 浪潮电子信息产业股份有限公司 一种基于Linux操作系统的集群多机互备的方法
CN106027623A (zh) * 2016-03-14 2016-10-12 中国科学院计算技术研究所 分布式集群状态管理的方法及其系统
CN106126673A (zh) * 2016-06-29 2016-11-16 上海浦东发展银行股份有限公司信用卡中心 一种基于Redis和HBase的分锁方法
CN107454165A (zh) * 2017-08-04 2017-12-08 郑州云海信息技术有限公司 一种hadoop集群对ceph集群的访问方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293954A (zh) * 2016-08-08 2017-01-04 浪潮(北京)电子信息产业有限公司 一种基于分布式锁的高可用服务管理方法
CN106775685A (zh) * 2016-12-01 2017-05-31 北京奇虎科技有限公司 唤醒锁释放方法和装置、移动终端
CN107092533A (zh) * 2017-03-29 2017-08-25 弘成科技发展有限公司 基于ActiveMQ+Redis的同步消息队列

Also Published As

Publication number Publication date
CN107562547A (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
CN107562547B (zh) 一种ctdb集群系统及创建方法、创建系统
CN106325933B (zh) 批量数据同步方法和装置
KR101042908B1 (ko) 네트워크 분리 장애 상황에서 메이저 그룹을 결정하기 위한방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
CN105468476B (zh) 基于hdfs的数据灾备系统
CN109194711B (zh) 一种组织架构的同步方法、客户端、服务端及介质
CN105897946A (zh) 一种访问地址的获取方法及系统
WO2016127756A1 (zh) 集群弹性部署的方法和管理系统
CN104025057B (zh) 协同储存管理
EP2176777B1 (en) Processing write requests with server having global knowledge
US11055185B2 (en) Method and system for global snapshots of distributed storage
CN103488526A (zh) 在分布式系统中锁定业务资源的系统和方法
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN108038005A (zh) 基于zookeeper的共享资源访问方法、客户端、服务端、系统
CN109167819B (zh) 数据同步系统、方法、装置及存储介质
US20170193070A1 (en) System and method for a distributed replication lock for active-active geo-redundant systems
CN109726579A (zh) 资源访问权限分组方法及设备
CN102075357B (zh) 网络管理系统多域安全管理方法
CN111104250B (zh) 用于数据处理的方法、设备和计算机可读介质
US9201685B2 (en) Transactional cache versioning and storage in a distributed data grid
TWI652621B (zh) 產生虛擬機器訊息佇列應用程式之相依關係的方法與系統
US11347591B2 (en) Cumulative backups
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
CN106471486B (zh) 用于在事务中间件机器环境中支持自适应自调整锁定机制的系统和方法
DE112011104020T5 (de) Validierung des Zugriffs auf einen gemeinsam genutzen Datensatz bei Lese- und Schreibzugriff mehrerer Anforderer
US20150278027A1 (en) Backup apparatus, backup method, and storage medium that stores backup program

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
GR01 Patent grant
GR01 Patent grant