CN107562547A - 一种ctdb集群系统及创建方法、创建系统 - Google Patents
一种ctdb集群系统及创建方法、创建系统 Download PDFInfo
- Publication number
- CN107562547A CN107562547A CN201710763889.2A CN201710763889A CN107562547A CN 107562547 A CN107562547 A CN 107562547A CN 201710763889 A CN201710763889 A CN 201710763889A CN 107562547 A CN107562547 A CN 107562547A
- Authority
- CN
- China
- Prior art keywords
- ctdb
- clusters
- ownership
- file data
- group systems
- 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.)
- Granted
Links
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集群系统,包括: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 (10)
1.一种CTDB集群系统,其特征在于,包括:N个CTDB集群;
每个所述CTDB集群包括至少1个节点,N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据,并且,N个所述CTDB集群用于提供不同的业务服务;
其中,所述N为大于1的整数。
2.根据权利要求1所述的CTDB集群系统,其特征在于,每个所述CTDB集群分别提供不同的业务服务。
3.根据权利要求1所述的CTDB集群系统,其特征在于,N个所述CTDB集群的节点数量相等。
4.根据权利要求1所述的CTDB集群系统,其特征在于,N条所述锁文件数据的key和value均不同;相应地,每个所述CTDB集群的key与相应的锁文件数据的key相一致。
5.根据权利要求1至4任一项所述的CTDB集群系统,其特征在于,还包括:
所有权判断模块:用于判断,当任一条所述锁文件数据被获取所有权后,所述所有权是否在预设时间内没有被释放;
所有权释放模块:用于当任一条所述锁文件数据被获取所有权后,如果所述所有权在预设时间内没有被释放时,释放所述所有权。
6.根据权利要求5所述的系统,其特征在于,所述预设时间为4秒。
7.一种CTDB集群系统的创建方法,其特征在于,包括:
将M个节点分组,以构成N个CTDB集群;
将N个所述CTDB集群的锁文件数据分别对应地设置为Redis数据库的N条锁文件数据;
设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
8.根据权利要求7所述的方法,其特征在于,还包括:
将所述Redis数据库配置为:所述Redis数据库判断,当任一条所述锁文件数据被获取所有权后,在预设时间内所述所有权是否没有被释放,如果是则所述Redis数据库释放所述所有权。
9.根据权利要求7所述的方法,其特征在于,所述预设时间为4秒。
10.一种CTDB集群系统的创建系统,其特征在于,包括:
集群分组构建单元:用于将M个节点分组,以构成N个CTDB集群;
锁文件设置单元:用于将N个所述CTDB集群的分布式锁分别设置为Redis数据库的N条锁文件数据;
业务设置单元,用于设置N个所述CTDB集群用于提供不同的业务服务;
其中,所述M、所述N为大于1的整数,所述N为不大于所述M的正整数。
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 true CN107562547A (zh) | 2018-01-09 |
CN107562547B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881411A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种大规模节点下ctdb集群分组的方法 |
CN108958991A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 集群节点故障业务快速恢复方法、装置、设备及存储介质 |
CN110262898A (zh) * | 2019-06-19 | 2019-09-20 | 广州华多网络科技有限公司 | 一种业务请求的处理方法及客户端 |
CN114116639A (zh) * | 2022-01-27 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种集群文件锁的设置方法、装置、设备及介质 |
Citations (7)
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的分锁方法 |
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的同步消息队列 |
CN107454165A (zh) * | 2017-08-04 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种hadoop集群对ceph集群的访问方法及装置 |
-
2017
- 2017-08-30 CN CN201710763889.2A patent/CN107562547B/zh active Active
Patent Citations (7)
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的分锁方法 |
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的同步消息队列 |
CN107454165A (zh) * | 2017-08-04 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种hadoop集群对ceph集群的访问方法及装置 |
Non-Patent Citations (1)
Title |
---|
张文辅: "《FoxPro2.5b中文版开发指南》", 31 October 1995 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881411A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种大规模节点下ctdb集群分组的方法 |
CN108958991A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 集群节点故障业务快速恢复方法、装置、设备及存储介质 |
CN110262898A (zh) * | 2019-06-19 | 2019-09-20 | 广州华多网络科技有限公司 | 一种业务请求的处理方法及客户端 |
CN110262898B (zh) * | 2019-06-19 | 2021-01-29 | 广州华多网络科技有限公司 | 一种业务请求的处理方法及客户端 |
CN114116639A (zh) * | 2022-01-27 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种集群文件锁的设置方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107562547B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921551B (zh) | 基于Kubernetes平台的联盟区块链系统 | |
US9621572B2 (en) | Storage appliance and threat indicator query framework | |
CN106453665B (zh) | 基于分布式缓存系统的数据缓存方法、服务器和系统 | |
CN107562547A (zh) | 一种ctdb集群系统及创建方法、创建系统 | |
CN108134764B (zh) | 一种分布式数据共享交换方法及系统 | |
CN101673289B (zh) | 分布式文件存储构架的构建方法和装置 | |
CN103902617A (zh) | 分布式数据库同步方法和系统 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
CN110362381A (zh) | Hdfs集群高可用部署方法、系统、设备及存储介质 | |
CN103329109A (zh) | 用于结合可管理子系统来实时地监视并管理数据中心资源的系统和方法 | |
CN105391684A (zh) | 一种策略的集中管理方法及集中管理设备 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN103118130A (zh) | 一种用于分布式服务的集群管理方法和系统 | |
CN102638566A (zh) | 一种基于云存储的blog系统运行方法 | |
CN107547595A (zh) | 云资源调度系统、方法及装置 | |
CN104348793B (zh) | 存储服务器系统及数据信息的存储方法 | |
CN102045189B (zh) | 网络管理系统及其方法 | |
CN107330580A (zh) | 电力营销基础数据平台组建方法 | |
CN102075357B (zh) | 网络管理系统多域安全管理方法 | |
CN103886104A (zh) | 一种适用于电力系统的分布式实时数据库管理系统及实现方法 | |
CN107832159A (zh) | 管理分布式锁的方法和计算机可读存储介质 | |
Yuan et al. | Efficient resource management for cloud computing | |
CN107682411A (zh) | 一种大规模sdn控制器集群及网络系统 | |
CN107528924A (zh) | 一种分布式集群元数据服务部署方法及系统 | |
CN108848132A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |