CN107104844A - 一种ctdb迁移公共ip地址的方法及装置 - Google Patents
一种ctdb迁移公共ip地址的方法及装置 Download PDFInfo
- Publication number
- CN107104844A CN107104844A CN201710392659.XA CN201710392659A CN107104844A CN 107104844 A CN107104844 A CN 107104844A CN 201710392659 A CN201710392659 A CN 201710392659A CN 107104844 A CN107104844 A CN 107104844A
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- public
- address
- malfunctioning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000005012 migration Effects 0.000 claims abstract description 68
- 238000013508 migration Methods 0.000 claims abstract description 68
- 238000011084 recovery Methods 0.000 claims abstract description 13
- 230000003862 health status Effects 0.000 claims description 22
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 3
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013509 system migration Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种CTDB迁移公共IP地址的方法,包括:进入恢复操作时,判断集群是否为单点故障,如果是,则确定集群中发生故障的故障节点;在集群中按照物理节点号的排序方式,查找故障节点的相邻节点以作为目标迁移节点;将故障节点的公共IP地址迁移至目标迁移节点,并保持集群中的正常节点的公共IP地址保持原有状态。由此可见,本方法能够实现文件系统和故障节点的公共IP地址统一迁移到同一个节点,从而实现对集群的有效管理,另外,由于其它正常节点的公共IP地址保持原有状态,减少了迁移的次数,防止出现业务中断、集群的稳定性和可用性降低的问题。此外,本发明还公开一种CTDB迁移公共IP地址的装置,效果如上所述。
Description
技术领域
本发明涉及集群管理技术领域,特别是涉及一种CTDB迁移公共IP地址的方法及装置。
背景技术
CTDB是对TDB数据库集群实施方案的简称,在具体实施中,文件系统集群可以使用CTDB来管理集群节点的公共IP地址的分配。在CTDB启动或集群节点故障或有新节点加入集群时,都会进行公共IP地址的重新分配。CTDB现有公共IP地址的分配算法不依赖于底层文件系统,由CTDB自身根据算法管理公共IP地址的分配。
在实际应用中,文件系统集群中由单个节点提供文件服务,当该节点故障后会顺序迁移至相邻节点,由相邻节点提供文件服务。即假设文件系统集群中包含0、1、2三个节点,文件系统挂载在0号节点,此时0号节点故障,文件系统迁移至1号节点;或者文件系统挂载在2号节点,此时2号节点故障,文件系统迁移至0号节点。以上是文件系统在节点之间的迁移过程,而对外提供业务访问的公共IP地址在节点故障后会随机分配到其余节点(有可能是相邻节点,也可能是其它节点,是随机分配的),且正常节点的原公共IP地址也有可能发生变化。如此会导致文件系统的迁移节点和故障节点的原公共IP地址的迁移节点不相同,不利于集群的管理;同时,若正常节点的原公共IP地址发生变化后,会出现访问正常节点的客户端断开或重连的现象,从而导致客户端的业务出现中断、集群的稳定性和可用性降低的问题。
由此可见,如何实现对集群的有效管理,防止出现业务中断、集群的稳定性和可用性降低的问题是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种CTDB迁移公共IP地址的方法及装置,用于实现对集群的有效管理,防止出现业务中断、集群的稳定性和可用性降低的问题。
为解决上述技术问题,本发明提供一种CTDB迁移公共IP地址的方法,包括:
进入恢复操作时,判断集群是否为单点故障,如果是,则确定所述集群中发生故障的故障节点;
在所述集群中按照物理节点号的排序方式,查找所述故障节点的相邻节点以作为目标迁移节点;
将所述故障节点的公共IP地址迁移至所述目标迁移节点,并保持所述集群中的正常节点的公共IP地址保持原有状态。
优选地,所述判断集群是否为单点故障具体包括:
判断所述集群对应的oldmap中记录的条数是否为0;
如果是,则确定所述集群不是单点故障,否则判断所述oldmap中记录的物理节点号是否都为-1;
如果是,则确定所述集群不是单点故障,否则判断是否轮询完所述oldmap中的每条记录;
如果是,则确定所述集群不是单点故障,否则选取所述oldmap中的一条记录,并判断当前记录中的物理节点号是否包含在所述集群对应的newmap中;
如果是,则返回所述判断是否轮询完所述oldmap中的每条记录的步骤,否则确定所述集群为单点故障;
其中,未包含在所述newmap中的物理节点号所对应的节点为所述故障节点。
优选地,所述查找所述故障节点的相邻节点以作为目标迁移节点具体包括:
记录所述故障节点的物理节点号;
设置所述故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号;
判断当前目标迁移节点的物理节点号是否最大,如果是,则将当前目标迁移节点的物理节点号设置为0,否则将当前目标迁移节点的物理节点号加1;
判断当前目标迁移节点的物理节点号是否与所述故障节点的物理节点号相同;
如果否,则判断当前目标迁移节点的状态是否为健康状态;
如果是健康状态,则确定当前目标迁移节点为所述目标迁移节点。
优选地,所述保持所述集群中的正常节点的公共IP地址保持原有状态具体包括:
将所述集群对应的oldmap中的所述故障节点的物理节点号修改为所述目标迁移节点的物理节点号,并拷贝至所述集群对应的newmap中;
利用所述newmap对所述集群的公共IP地址进行重新分配。
优选地,所述判断当前目标迁移节点的状态是否为健康状态具体为:通过nodemap判断当前目标迁移节点的状态是否为健康状态。
为解决上述技术问题,本发明还提供一种CTDB迁移公共IP地址的装置,包括:
判断模块,用于进入恢复操作时,判断集群是否为单点故障,如果是,则确定所述集群中发生故障的故障节点;
查找模块,用于在所述集群中按照物理节点号的排序方式,查找所述故障节点的相邻节点以作为目标迁移节点;
迁移模块,用于将所述故障节点的公共IP地址迁移至所述目标迁移节点,并保持所述集群中的正常节点的公共IP地址保持原有状态。
优选地,所述判断模块具体包括:
第一判断单元,用于判断所述集群对应的oldmap中记录的条数是否为0,如果是,则确定所述集群不是单点故障;
第二判断单元,用于在所述第一判断单元的判断结果为否时,判断所述oldmap中记录的物理节点号是否都为-1,如果是,则确定所述集群不是单点故障;
第三判断单元,用于在所述第二判断单元的判断结果为否时,判断是否轮询完所述oldmap中的每条记录,如果是,则确定所述集群不是单点故障;
第四判断单元,用于在所述第三判断单元的判断结果为否时,选取所述oldmap中的一条记录,并判断当前记录中的物理节点号是否包含在所述集群对应的newmap中,如果是,则再次触发所述第三判断单元,否则确定所述集群为单点故障;
其中,未包含在所述newmap中的物理节点号所对应的节点为所述故障节点。
优选地,所述查找模块具体包括:
记录单元,用于记录所述故障节点的物理节点号;
设置单元,用于设置所述故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号;
第五判断单元,用于判断当前目标迁移节点的物理节点号是否最大,如果是,则将当前目标迁移节点的物理节点号设置为0,否则将当前目标迁移节点的物理节点号加1;
第六判断单元,用于判断当前目标迁移节点的物理节点号是否与所述故障节点的物理节点号相同,如果否,则触发第七判断单元;
所述第七判断单元,用于判断当前目标迁移节点的状态是否为健康状态,如果是健康状态,则确定当前目标迁移节点为所述目标迁移节点。
优选地,所述迁移模块包括:
更新单元,用于将所述集群对应的oldmap中的所述故障节点的物理节点号修改为所述目标迁移节点的物理节点号,并拷贝至所述集群对应的newmap中;
分配单元,用于利用所述newmap对所述集群的公共IP地址进行重新分配。
优选地,所述第七判断单元具体通过nodemap判断当前目标迁移节点的状态是否为健康状态。
本发明所提供的CTDB迁移公共IP地址的方法,包括:进入恢复操作时,判断集群是否为单点故障,如果是,则确定集群中发生故障的故障节点;在集群中按照物理节点号的排序方式,查找故障节点的相邻节点以作为目标迁移节点;将故障节点的公共IP地址迁移至目标迁移节点,并保持集群中的正常节点的公共IP地址保持原有状态。由此可见,本方法能够实现文件系统和故障节点的公共IP地址统一迁移到同一个节点,从而实现对集群的有效管理,另外,由于其它正常节点的公共IP地址保持原有状态,减少了迁移的次数,防止出现业务中断、集群的稳定性和可用性降低的问题。
此外,本发明还提供一种CTDB迁移公共IP地址的装置,效果如上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种CTDB迁移公共IP地址的方法的流程图;
图2为本发明实施例提供的一种判断集群是否为单点故障的流程图;
图3为本发明实施例提供的一种查找故障节点的相邻节点以作为目标迁移节点的流程图;
图4为本发明实施例提供的一种保持集群中的正常节点的公共IP地址保持原有状态的流程图;
图5为本发明实施例提供的一种CTDB迁移公共IP地址的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种CTDB迁移公共IP地址的方法及装置,用于实现对集群的有效管理,防止出现业务中断、集群的稳定性和可用性降低的问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
需要说明的是,本发明所提供的方法或装置适用于对文件系统集群中出现单点故障的情况,而对于其他情况,例如多点故障或启动场景不在本专利的保护范围内。另外,下文中提到的一些英文简写,此处进行说明,后文直接采用,不再赘述。pnn为物理节点号,即CTDB集群中的节点编号,从0开始且固定不变。oldmap为故障恢复前的公共IP地址和pnn的映射表。newmap为公共IP地址和pnn的映射表,是根据特定算法重新生成的映射表。failpnn为故障节点的pnn号,movedpnn为故障节点的公共IP地址迁移至目标节点的pnn号。nodemap为集群节点的map,该map保存了各节点的状态信息,比如:HEALTHY(健康状态),公共IP地址为集群中各节点对外提供的业务访问的IP地址。
图1为本发明实施例提供的一种CTDB迁移公共IP地址的方法的流程图。如图1所示,该方法包括:
S10:判断集群是否为单点故障,如果是,则进入步骤S11。
S11:确定集群中发生故障的故障节点。
在集群中,如果存在节点故障(有且只有一个节点故障),则文件系统将由故障节点迁移至相邻的节点上,此时,CTDB会进行恢复操作。恢复操作的最终目的是将公共IP地址进行重新分配。本步骤中,当进入恢复操作时,首先确定集群是否为单点故障,如果不是,则结束,不是本专利要解决的问题。如果是,则需要确定出集群中的哪个节点发生故障,即确定集群中的故障节点。
图2为本发明实施例提供的一种判断集群是否为单点故障的流程图。作为优选地实施方式,判断集群是否为单点故障具体包括:
S110:判断集群对应的oldmap中记录的条数是否为0;如果是,则进入S111,否则进入S112。
S111:确定集群不是单点故障。
S112:判断oldmap中记录的物理节点号是否都为-1,如果是,则进入S111,否则,进入S113。
S113:判断是否轮询完oldmap中的每条记录,如果是,则进入S111,否则,进入S114。
S114:选取oldmap中的一条记录。
S115:判断当前记录中的物理节点号是否包含在集群对应的newmap中,如果是,则返回S113,否则进入S116。
S116:确定集群为单点故障。
其中,未包含在newmap中的物理节点号所对应的节点为故障节点。
S12:在集群中按照物理节点号的排序方式,查找故障节点的相邻节点以作为目标迁移节点。
在具体实施中,由于集群中如果存在故障节点,则文件系统会自动迁移至故障节点的相邻节点,可以理解的是,这里的相邻节点一定是正常的节点。例如如果有节点1、节点2、节点3和节点4,对应的pnn依次为0、1、2和3,且节点1是故障节点的话,则节点1的pnn就变为failpnn,即fail0,其相邻的pnn为1,则pnn为1对应的节点为节点2,若节点2正常的话,则节点2就是目标迁移节点,节点2的pnn就变为movedpnn,即moved1。
表1为节点和pnn之间的对应关系
节点1 | 节点2 | 节点3 | 节点4 |
0 | 1 | 2 | 3 |
公共IP地址1 | 公共IP地址2 | 公共IP地址3 | 公共IP地址4 |
图3为本发明实施例提供的一种查找故障节点的相邻节点以作为目标迁移节点的流程图。作为优选地实施方式,查找故障节点的相邻节点以作为目标迁移节点具体包括:
S120:记录故障节点的物理节点号。
S121:设置故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号。
S122:判断当前目标迁移节点的物理节点号是否最大,如果是,则进入S123,否则进入S124。
S123:将当前目标迁移节点的物理节点号设置为0。
S124:将当前目标迁移节点的物理节点号加1。
S125:判断当前目标迁移节点的物理节点号是否与故障节点的物理节点号相同,如果否,则进入S126。
S126:判断当前目标迁移节点的状态是否为健康状态,如果是,进入S127。
S127:确定当前目标迁移节点为目标迁移节点。
需要说明的是,步骤S125的作用是防止集群中所有的节点都出现故障的问题。还以上文的例子说明,此时故障节点为节点1,其物理节点号为0,并且标记为fail0,表明故障节点的pnn。步骤S121为初始化步骤,在这个步骤中,首先将故障节点作为当前目标迁移节点,此时,节点1就会被标记为moved0,即当前目标迁移节点为节点1。步骤S122中,判断当前目标迁移节点的物理节点号是否为最大,此时当前目标迁移节点的物理节点号为0,其它节点的物理节点号为1、2、3,均比0大,因此,当前目标迁移节点的物理节点号不是最大,则将当前目标迁移节点的物理节点号加1,此时,当前目标迁移节点的物理节点号加1因此,在这次循环将节点1设置为当前目标迁移节点的物理节点号就变为1,而物理节点号1对应的节点为节点2,因此当前目标迁移节点就变为节点2,标记为moved1。此时moved1中的pnn为1,fail0中的pnn为0,二者不相等,因此,进入S126,即判断节点2的状态是否是健康状态,如果节点2是健康状态,说明可以将节点1的公共IP地址迁移到节点2中,对应的迁移后的公共IP地址如表2所示。
表2为节点1故障后,其它节点和pnn之间的对应关系
作为优选地实施方式,判断当前目标迁移节点的状态是否为健康状态具体为:通过nodemap判断当前目标迁移节点的状态是否为健康状态。需要说明的是,在其它实施例中还可以通过其它文件获取当前目标迁移节点的状态,从而确定当前目标迁移节点的状态是否为健康状态,这里只是其中的一种具体实施方式。
S13:将故障节点的公共IP地址迁移至目标迁移节点,并保持集群中的正常节点的公共IP地址保持原有状态。
当进入恢复操作时,会进行公共IP地址的重新分配,公共IP地址的重新分配是CTDB使用特定算法生成的newmap来进行公共IP的分配。还以上文的例子说明,节点1故障,则将节点1的IP地址1迁移至节点2,且节点2的公共IP地址2仍然保持在节点2、节点3的公共IP地址3仍然保持在节点3、节点4的公共IP地址4仍然保持在节点4。
图4为本发明实施例提供的一种保持集群中的正常节点的公共IP地址保持原有状态的流程图。需要说明的是,步骤S13具体包括步骤S130-步骤S132。其中,步骤S131和步骤S132为保持集群中的正常节点的公共IP地址保持原有状态的子步骤。在图3的基础上,步骤S13具体为:
S130:将故障节点的公共IP地址迁移至目标迁移节点。
S131:将集群对应的oldmap中的故障节点的物理节点号修改为目标迁移节点的物理节点号,并拷贝至集群对应的newmap中。
S132:利用newmap对集群的公共IP地址进行重新分配。
在具体实施中,CTDB在公共IP地址重分配过程中会保存节点故障前公共IP地址和节点的物理节点号映射表oldmap,以及故障后的newmap,通过两张映射表的比较,可以实现其它正常节点的公共IP地址保持原有状态。
由此可见,当节点1故障时,自动将文件系统迁移至节点2,而根据上述方法,可以将节点1的公共IP地址也迁移至节点2,且其它节点的公共IP地址保持原有状态。
本实施例提供的CTDB迁移公共IP地址的方法,包括进入恢复操作时,判断集群是否为单点故障,如果是,则确定集群中发生故障的故障节点;在集群中按照物理节点号的排序方式,查找故障节点的相邻节点以作为目标迁移节点;将故障节点的公共IP地址迁移至目标迁移节点,并保持集群中的正常节点的公共IP地址保持原有状态。由此可见,本方法能够实现文件系统和故障节点的公共IP地址统一迁移到同一个节点,从而实现对集群的有效管理,另外,由于其它正常节点的公共IP地址保持原有状态,减少了迁移的次数,防止出现业务中断、集群的稳定性和可用性降低的问题。
上文中对一种CTDB迁移公共IP地址的方法对应的实施例进行了详细说明,本发明还提供一种与该方法对应的装置。由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。图5为本发明实施例提供的一种CTDB迁移公共IP地址的装置的结构图。如图5所示,该装置包括:
判断模块10,用于进入恢复操作时,判断集群是否为单点故障,如果是,则确定集群中发生故障的故障节点;
查找模块11,用于在集群中按照物理节点号的排序方式,查找故障节点的相邻节点以作为目标迁移节点;
迁移模块12,用于将故障节点的公共IP地址迁移至目标迁移节点,并保持集群中的正常节点的公共IP地址保持原有状态。
本实施例提供的CTDB迁移公共IP地址的装置,能够实现文件系统和故障节点的公共IP地址统一迁移到同一个节点,从而实现对集群的有效管理,另外,由于其它正常节点的公共IP地址保持原有状态,减少了迁移的次数,防止出现业务中断、集群的稳定性和可用性降低的问题。
作为优选地实施方式,判断模块10具体包括:
第一判断单元,用于判断集群对应的oldmap中记录的条数是否为0,如果是,则确定集群不是单点故障;
第二判断单元,用于在第一判断单元的判断结果为否时,判断oldmap中记录的物理节点号是否都为-1,如果是,则确定集群不是单点故障;
第三判断单元,用于在第二判断单元的判断结果为否时,判断是否轮询完oldmap中的每条记录,如果是,则确定集群不是单点故障;
第四判断单元,用于在第三判断单元的判断结果为否时,选取oldmap中的一条记录,并判断当前记录中的物理节点号是否包含在集群对应的newmap中,如果是,则再次触发第三判断单元,否则确定集群为单点故障;
其中,未包含在newmap中的物理节点号所对应的节点为故障节点。
作为优选地实施方式,查找模块11具体包括:
记录单元,用于记录故障节点的物理节点号;
设置单元,用于设置故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号;
第五判断单元,用于判断当前目标迁移节点的物理节点号是否最大,如果是,则将当前目标迁移节点的物理节点号设置为0,否则将当前目标迁移节点的物理节点号加1;
第六判断单元,用于判断当前目标迁移节点的物理节点号是否与故障节点的物理节点号相同,如果否,则触发第七判断单元;
第七判断单元,用于判断当前目标迁移节点的状态是否为健康状态,如果是健康状态,则确定当前目标迁移节点为目标迁移节点。
作为优选地实施方式,迁移模块12包括:
更新单元,用于将集群对应的oldmap中的故障节点的物理节点号修改为目标迁移节点的物理节点号,并拷贝至集群对应的newmap中;
分配单元,用于利用newmap对集群的公共IP地址进行重新分配。
作为优选地实施方式,第七判断单元具体通过nodemap判断当前目标迁移节点的状态是否为健康状态。
以上对本发明所提供的CTDB迁移公共IP地址的方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种CTDB迁移公共IP地址的方法,其特征在于,包括:
进入恢复操作时,判断集群是否为单点故障,如果是,则确定所述集群中发生故障的故障节点;
在所述集群中按照物理节点号的排序方式,查找所述故障节点的相邻节点以作为目标迁移节点;
将所述故障节点的公共IP地址迁移至所述目标迁移节点,并保持所述集群中的正常节点的公共IP地址保持原有状态。
2.根据权利要求1所述的方法,其特征在于,所述判断集群是否为单点故障具体包括:
判断所述集群对应的oldmap中记录的条数是否为0;
如果是,则确定所述集群不是单点故障,否则判断所述oldmap中记录的物理节点号是否都为-1;
如果是,则确定所述集群不是单点故障,否则判断是否轮询完所述oldmap中的每条记录;
如果是,则确定所述集群不是单点故障,否则选取所述oldmap中的一条记录,并判断当前记录中的物理节点号是否包含在所述集群对应的newmap中;
如果是,则返回所述判断是否轮询完所述oldmap中的每条记录的步骤,否则确定所述集群为单点故障;
其中,未包含在所述newmap中的物理节点号所对应的节点为所述故障节点。
3.根据权利要求1所述的方法,其特征在于,所述查找所述故障节点的相邻节点以作为目标迁移节点具体包括:
记录所述故障节点的物理节点号;
设置所述故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号;
判断当前目标迁移节点的物理节点号是否最大,如果是,则将当前目标迁移节点的物理节点号设置为0,否则将当前目标迁移节点的物理节点号加1;
判断当前目标迁移节点的物理节点号是否与所述故障节点的物理节点号相同;
如果否,则判断当前目标迁移节点的状态是否为健康状态;
如果是健康状态,则确定当前目标迁移节点为所述目标迁移节点。
4.根据权利要求3所述的方法,其特征在于,所述保持所述集群中的正常节点的公共IP地址保持原有状态具体包括:
将所述集群对应的oldmap中的所述故障节点的物理节点号修改为所述目标迁移节点的物理节点号,并拷贝至所述集群对应的newmap中;
利用所述newmap对所述集群的公共IP地址进行重新分配。
5.根据权利要求3所述的方法,其特征在于,所述判断当前目标迁移节点的状态是否为健康状态具体为:通过nodemap判断当前目标迁移节点的状态是否为健康状态。
6.一种CTDB迁移公共IP地址的装置,其特征在于,包括:
判断模块,用于进入恢复操作时,判断集群是否为单点故障,如果是,则确定所述集群中发生故障的故障节点;
查找模块,用于在所述集群中按照物理节点号的排序方式,查找所述故障节点的相邻节点以作为目标迁移节点;
迁移模块,用于将所述故障节点的公共IP地址迁移至所述目标迁移节点,并保持所述集群中的正常节点的公共IP地址保持原有状态。
7.根据权利要求6所述的装置,其特征在于,所述判断模块具体包括:
第一判断单元,用于判断所述集群对应的oldmap中记录的条数是否为0,如果是,则确定所述集群不是单点故障;
第二判断单元,用于在所述第一判断单元的判断结果为否时,判断所述oldmap中记录的物理节点号是否都为-1,如果是,则确定所述集群不是单点故障;
第三判断单元,用于在所述第二判断单元的判断结果为否时,判断是否轮询完所述oldmap中的每条记录,如果是,则确定所述集群不是单点故障;
第四判断单元,用于在所述第三判断单元的判断结果为否时,选取所述oldmap中的一条记录,并判断当前记录中的物理节点号是否包含在所述集群对应的newmap中,如果是,则再次触发所述第三判断单元,否则确定所述集群为单点故障;
其中,未包含在所述newmap中的物理节点号所对应的节点为所述故障节点。
8.根据权利要求6所述的装置,其特征在于,所述查找模块具体包括:
记录单元,用于记录所述故障节点的物理节点号;
设置单元,用于设置所述故障节点为当前目标迁移节点,并记录当前目标迁移节点的物理节点号;
第五判断单元,用于判断当前目标迁移节点的物理节点号是否最大,如果是,则将当前目标迁移节点的物理节点号设置为0,否则将当前目标迁移节点的物理节点号加1;
第六判断单元,用于判断当前目标迁移节点的物理节点号是否与所述故障节点的物理节点号相同,如果否,则触发第七判断单元;
所述第七判断单元,用于判断当前目标迁移节点的状态是否为健康状态,如果是健康状态,则确定当前目标迁移节点为所述目标迁移节点。
9.根据权利要求8所述的装置,其特征在于,所述迁移模块包括:
更新单元,用于将所述集群对应的oldmap中的所述故障节点的物理节点号修改为所述目标迁移节点的物理节点号,并拷贝至所述集群对应的newmap中;
分配单元,用于利用所述newmap对所述集群的公共IP地址进行重新分配。
10.根据权利要求8所述的装置,其特征在于,所述第七判断单元具体通过nodemap判断当前目标迁移节点的状态是否为健康状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392659.XA CN107104844B (zh) | 2017-05-27 | 2017-05-27 | 一种ctdb迁移公共ip地址的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392659.XA CN107104844B (zh) | 2017-05-27 | 2017-05-27 | 一种ctdb迁移公共ip地址的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107104844A true CN107104844A (zh) | 2017-08-29 |
CN107104844B CN107104844B (zh) | 2020-05-26 |
Family
ID=59659276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710392659.XA Active CN107104844B (zh) | 2017-05-27 | 2017-05-27 | 一种ctdb迁移公共ip地址的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107104844B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532135A (zh) * | 2019-08-16 | 2019-12-03 | 苏州浪潮智能科技有限公司 | 一种集群系统的服务迁移方法、系统、设备及存储介质 |
CN111416884A (zh) * | 2020-03-12 | 2020-07-14 | 苏州浪潮智能科技有限公司 | Ctdb虚拟ip的分配方法、装置及分布式存储设备 |
CN111586153A (zh) * | 2020-04-30 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 一种用于云平台的通信方法及装置 |
CN113596195A (zh) * | 2021-08-23 | 2021-11-02 | 重庆紫光华山智安科技有限公司 | 公共ip地址管理方法、装置、主节点及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110107135A1 (en) * | 2009-11-02 | 2011-05-05 | International Business Machines Corporation | Intelligent rolling upgrade for data storage systems |
CN103227754A (zh) * | 2013-04-16 | 2013-07-31 | 浪潮(北京)电子信息产业有限公司 | 一种高可用集群系统负载动态均衡方法及节点设备 |
CN103905531A (zh) * | 2014-03-14 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统中转换节点间负载均衡方法 |
CN104090992A (zh) * | 2014-08-06 | 2014-10-08 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统中转换节点间高可用配置方法 |
-
2017
- 2017-05-27 CN CN201710392659.XA patent/CN107104844B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110107135A1 (en) * | 2009-11-02 | 2011-05-05 | International Business Machines Corporation | Intelligent rolling upgrade for data storage systems |
CN103227754A (zh) * | 2013-04-16 | 2013-07-31 | 浪潮(北京)电子信息产业有限公司 | 一种高可用集群系统负载动态均衡方法及节点设备 |
CN103905531A (zh) * | 2014-03-14 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统中转换节点间负载均衡方法 |
CN104090992A (zh) * | 2014-08-06 | 2014-10-08 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统中转换节点间高可用配置方法 |
Non-Patent Citations (1)
Title |
---|
刘爱贵: "集群存储高可用方法", 《HTTP://BLOG.CSDN.NET/LIUAIGUI/ARTICLE/DETAILS/8882141》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532135A (zh) * | 2019-08-16 | 2019-12-03 | 苏州浪潮智能科技有限公司 | 一种集群系统的服务迁移方法、系统、设备及存储介质 |
CN110532135B (zh) * | 2019-08-16 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 一种集群系统的服务迁移方法、系统、设备及存储介质 |
CN111416884A (zh) * | 2020-03-12 | 2020-07-14 | 苏州浪潮智能科技有限公司 | Ctdb虚拟ip的分配方法、装置及分布式存储设备 |
CN111416884B (zh) * | 2020-03-12 | 2021-08-31 | 苏州浪潮智能科技有限公司 | Ctdb虚拟ip的分配方法、装置及分布式存储设备 |
US11757830B2 (en) | 2020-03-12 | 2023-09-12 | Inspur Suzhou Intelligent Technology Co., Ltd. | Method and apparatus for allocating CTDB-based virtual IP address, and distributed storage device |
CN111586153A (zh) * | 2020-04-30 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 一种用于云平台的通信方法及装置 |
CN111586153B (zh) * | 2020-04-30 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 一种用于云平台的通信方法及装置 |
CN113596195A (zh) * | 2021-08-23 | 2021-11-02 | 重庆紫光华山智安科技有限公司 | 公共ip地址管理方法、装置、主节点及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107104844B (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107104844A (zh) | 一种ctdb迁移公共ip地址的方法及装置 | |
US9053166B2 (en) | Dynamically varying the number of database replicas | |
US7007144B2 (en) | Method, apparatus, and computer readable medium for managing back-up | |
CN102473129B (zh) | 输出表示与故障的根本原因对应的恢复方法的信息的管理系统 | |
US9047481B2 (en) | Hierarchical multi-tenancy management of system resources in resource groups | |
US8543621B2 (en) | Database partitioning by virtual partitions | |
US8495645B2 (en) | Server pool management method | |
US8443231B2 (en) | Updating a list of quorum disks | |
JP5342086B2 (ja) | 計算機システム、及びその管理方法、並びにプログラム | |
CN105933391A (zh) | 一种节点扩容方法、装置及系统 | |
CN109218100A (zh) | 分布式对象存储集群及其请求响应方法、系统和存储介质 | |
WO2013061380A1 (en) | Computer system and management system for performance optimisation in a storage network | |
US8001324B2 (en) | Information processing apparatus and informaiton processing method | |
CN103051691B (zh) | 分区分配方法、装置以及分布式存储系统 | |
CN109690494B (zh) | 系统存储装置中的分层容错 | |
JP2010129024A (ja) | データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード | |
CN111596868B (zh) | 基于段单元的分布式存储系统的负载均衡方法和系统 | |
US7565568B1 (en) | Method and system for virtualization switch failover | |
US10754735B2 (en) | Distributed storage reservation for recovering distributed data | |
JPWO2016174764A1 (ja) | 管理装置および管理方法 | |
US20150205531A1 (en) | Adding Storage Capacity to an Object Storage System | |
JP2002373103A (ja) | 計算機システム | |
CN105404565B (zh) | 一种双活数据保护方法和装置 | |
CN110825543B (zh) | 在故障存储设备上快速恢复数据的方法 | |
CN107153512A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200428 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |