CN113596195A - 公共ip地址管理方法、装置、主节点及存储介质 - Google Patents
公共ip地址管理方法、装置、主节点及存储介质 Download PDFInfo
- Publication number
- CN113596195A CN113596195A CN202110969756.7A CN202110969756A CN113596195A CN 113596195 A CN113596195 A CN 113596195A CN 202110969756 A CN202110969756 A CN 202110969756A CN 113596195 A CN113596195 A CN 113596195A
- Authority
- CN
- China
- Prior art keywords
- public
- slave node
- address
- node
- slave
- 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
Images
Classifications
-
- 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/5084—Providing for device mobility
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明涉及存储技术领域,提供了一种公共IP地址管理方法、装置、主节点及存储介质,应用于存储集群中的主节点,所述方法包括:当检测到多个从节点中任一从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;将公共IP地址的个数最少的正常从节点作为迁入从节点;向迁入从节点发送添加消息,以指示迁入从节点基于添加消息添加故障从节点的公共IP地址以接管故障从节点提供的服务。本发明实现了故障从节点被接管时其公共IP地址不会发生变化,同时,又实现存储集群中正常从节点中公共IP地址的均衡,最大限度地减少了对存储集群整体性能的影响。
Description
技术领域
本发明涉及存储技术领域,具体而言,涉及一种公共IP地址管理方法、装置、主节点及存储介质。
背景技术
存储集群中,一旦存储集群中提供存储服务的节点中的任意一个节点发生故障,该故障节点会被其他正常节点接管,以便存储集群可以对外继续正常提供存储服务,接管过程中常常会导致存储集群对外提供的可访问的公共IP地址发生变化,进而出现访问存储集群的客户端的业务出现中断,存储集群的稳定性和可靠性降低。
现有技术通常采用keepalived的机制保证故障节点被接管时对外提供的可访问的公共IP地址不会发生变化,但是采用该机制后存储集群的整体性能受到极大影响。
发明内容
本发明的目的在于提供了一种公共IP地址管理方法、装置、主节点及存储介质,其能够在保证存储集群中故障节点被接管时其公共IP地址不会发生变化的同时,又对存储集群的整体性能影响不大。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种公共IP地址管理方法,应用于存储集群中的主节点,所述存储集群中还包括与主节点通信连接的多个从节点,至少一个所述从节点对应有公共IP地址,所述方法包括:当检测到所述多个从节点中任一所述从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;将公共IP地址的个数最少的所述正常从节点作为迁入从节点;向所述迁入从节点发送添加消息,以指示所述迁入从节点基于所述添加消息添加所述故障从节点的公共IP地址以接管所述故障从节点提供的服务。
第二方面,本发明提供一种公共IP地址管理装置,应用于存储集群中的主节点,所述存储集群中还包括与主节点通信连接的多个从节点,至少一个所述从节点对应有公共IP地址,所述装置包括:检测模块,用于当检测到所述多个从节点中任一所述从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;确定模块,用于将公共IP地址的个数最少的所述正常从节点作为迁入从节点;添加模块,用于向所述迁入从节点发送添加消息,以指示所述迁入从节点基于所述添加消息添加所述故障从节点的公共IP地址以接管所述故障从节点提供的服务。
第三方面,本发明提供一种主节点,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的公共IP地址管理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的公共IP地址管理方法。
与现有技术相比,本发明在检测到从节点发生故障时,通过将故障从节点的公共IP地址添加至公共IP地址的个数最少的迁入从节点,以使迁入从节点接管所述故障从节点提供的服务,由此实现了故障从节点被接管时其公共IP地址不会发生变化,同时,又实现存储集群中正常从节点中公共IP地址的均衡,最大限度地减少了对存储集群整体性能的影响。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的应用场景的示例图。
图2为本发明实施例提供的主节点的方框示意图。
图3为本发明实施例提供的一种公共IP地址管理方法的流程示例图。
图4为本发明实施例提供的从节点出现故障时主从节点的交互示意图。
图5为本发明实施例提供的另一种公共IP地址管理方法的流程示例图。
图6为本发明实施例提供的从节点故障恢复时主从节点的交互示意图。
图7为本发明实施例提供的另一种公共IP地址管理方法的流程示例图。
图8为本发明实施例提供的另一种公共IP地址管理方法的流程示例图。
图9为本发明实施例提供的另一种公共IP地址管理方法的流程示例图。
图10为本发明实施例提供的一种公共IP地址管理装置的方框示意图。
图标:10-主节点;11-处理器;12-存储器;13-总线;14-通信接口;20-从节点;30-客户端;100-公共IP地址管理装置;110-检测模块;120-确定模块;130-添加模块;140-故障恢复模块;150-更新模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1,图1为本发明实施例提供的应用场景的示例图,存储集群包括一个主节点10和多个从节点20,客户端30为存储集群的使用者,主节点也称master节点,从节点也称slave节点,在图1的应用场景中,主节点10为一个,在实际应用场景中,主节点10也可以为多个,多个主节点10互为备份或者组成分布式系统,以实现主节点10访问的高可靠性和高并发性。主节点10用于管理从节点20及整个存储集群,从节点20用于对客户端30提供存储服务,一旦任一从节点出现故障,就会有正常从节点接管故障从节点,代替故障从节点对客户端30提供存储服务,当故障从节点故障恢复后,会重新恢复对客户端30供存储服务,代替故障从节点的正常从节点结束接管,停止代替故障从节点对客户端30提供存储服务。
在接管过程中,为了使客户端30感知不到从节点的故障,避免客户端的业务被中断,一种常用的方式是依赖存储集群部署的共享文件系统,由于共享文件系统可以被所有从节点同时访问,在任一从节点发生故障时,客户端30照样可以通过其他从节点对共享文件系统进行访问,但是这种以共享的机制避免接管过程中出现的业务中断的方式需要依赖共享文件系统,因而使用场景受到极大限制。
为了摆脱这种使用场景限制,使得在没有共享文件系统的场景下照样可以使客户端30感知不到从节点的故障,避免客户端的业务被中断,另一种常用的方式是在从节点20发生故障时,保证客户端30可访问的公共IP地址不发生变化,由此避免客户端30的业务中断,现有技术通常采用keepalived机制保证客户端30可访问的公共IP地址不会发生变化,但是,使用keepalived虽然避免了客户端30在从节点20发生故障时出现业务中断,但是存储集群的整体性能却受到了极大影响。
发明人对keepalived机制及采用keepalived的存储集群进行了深入研究之后发现,keepalived机制在保证可访问的公共IP地址不会发生变化的同时,却无法保证存储集群中各正常从节点的公共IP地址的均衡分布,出现了有些正常从节点的访问压力特别大,形成访问瓶颈,而另一些正常从节点的访问压力特别小,无法发挥其应有的性能,而正是各正常从节点的公共IP地址的分布的不均衡导致了存储集群的整体性能受到了极大影响。
有鉴于此,本发明实施例提供了一种公共IP地址管理方法、装置、主节点及存储介质,既保证故障节点被接管时对外提供的可访问的公共IP地址不会发生变化,又使存储集群中正常从节点的公共IP地址均衡分布,最大限度地减少了对存储集群整体性能的影响,下面将对其进行详细描述。
在图1的基础上,本发明实施例还提供了图1中主节点10的方框示意图,请参照图2,图2为本发明实施例提供的主节点10的方框示意图。主节点10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与外部设备通信。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如本发明实施例中的公共IP地址管理装置100,公共IP地址管理装置100均包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例中的公共IP地址管理方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
在图1和图2的基础上,本发明实施例还提供了一种应用于图1和图2中的主节点10的公共IP地址管理方法,请参照图3,图3为本发明实施例提供的一种公共IP地址管理方法的流程示例图,该方法包括以下步骤:
步骤S100,当检测到多个从节点中任一从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址。
在本实施例中,作为一种具体实施方式,主节点可以周期性地向每一从节点发送消息,根据从节点反馈的消息判断主节点和每一从节点之间的通信是否正常、从节点是否在线、从节点状态是否正常等,当出现至少一种诸如此类的状况时,或者出现至少一种诸如此类的状况的次数达到预设次数时,主节点判定对应的从节点发生故障。作为另一种具体实施方式,每一从节点也可以周期性地向主节点发送心跳消息,以便主节点及时了解每一从节点的在线状态,若主节点在预设个数的周期均未接收到同一个从节点发送的心跳信息或者预设时长内收到的心跳信息的次数未达到预设次数,则主节点判定该从节点发生故障。
在本实施例中,每一从节点的公共IP地址可以为一个或者多个,每一从节点的公共IP地址可以预先存储于主节点,也可以存储于主节点可以访问的专门的服务器中。
步骤S110,将公共IP地址的个数最少的正常从节点作为迁入从节点。
在本实施例中,迁入从节点为接管故障从节点的正常从节点,故障从节点一旦被迁入从节点接管后,客户端30不再从故障从节点获取服务,而是从迁入从节点获取服务。根据具体情况,迁入从节点可以为一个,也可以为多个,例如,故障从节点的公共IP地址有一个,正常从节点有3个:分别A、B和C,其公共IP地址的个数分别为1、2、3,则A为迁入从节点,若故障从节点的公共IP地址有两个,分别为IP1和IP2,正常从节点有3个:分别A、B和C,其公共IP地址的个数分别为1、2、3,则首先选择公共IP地址的个数最少的A作为迁入从节点,将IP1绑定在A上,由A通过IP1提供服务,此时,A的公共IP地址的个数变为2,接着再次选择公共IP地址的个数最少的作为迁入从节点,此时,由于A和B均为公共IP地址的个数最少的从节点,可以随机选择其中一个作为迁入从节点,也可以根据A和B的性能参数或者当前业务负载进行选择,例如,选择B作为迁入从节点,将IP2绑定在B上,由B通过IP2提供服务,此时,B的公共IP地址的个数变为3。
步骤S120,向迁入从节点发送添加消息,以指示迁入从节点基于添加消息添加故障从节点的公共IP地址以接管故障从节点提供的服务。
在本实施例中,迁入从节点添加故障从节点的公共IP地址的方式可以是执行网络配置命令将故障从节点的公共IP地址绑定在自身的网卡上,由此,迁入从节点通过故障从节点的公共IP地址对外(例如客户端30)提供服务。
本发明实施例提供的上述方法,通过将故障从节点的公共IP地址添加至公共IP地址的个数最少的迁入从节点,以使迁入从节点接管所述故障从节点提供的服务,由此实现了故障从节点被接管时其公共IP地址不会发生变化,同时,又实现存储集群中正常从节点中公共IP地址的均衡,最大限度地减少了对存储集群整体性能的影响,尤其是当故障从节点有多个公共IP地址时,对于故障从节点的每一个公共IP地址,均执行步骤S110和步骤S120,以为故障从节点的每一个公共IP地址均找到对应的迁入从节点进行相应的接管,由此可以保证公共IP地址在存储集群中的均衡分布。
为了更清楚地说明上述方法的具体实现过程,作为一种具体实施方式,本发明实施例还提供了从节点出现故障时主从节点的交互过程的示例图,请参照图4,图4为本发明实施例提供的从节点出现故障时主从节点的交互图。图4中,服务器会记录一张虚拟IP地址VIP(virtual IP)表,VIP表中包括存储集群中所有从节点的自身IP地址及其公共IP地址,公共IP地址也称为虚拟IP地址,或者VIP。客户端30通过从节点的公共IP地址访问对应的从节点。当从节点发生故障后,该故障从节点对应的公共IP地址就会被更新,对应地,接管该故障从节点的正常从节点的公共IP地址也会被更新,表1是各从节点正常时的VIP表的示例。
表1
从节点名称 | 自身IP地址 | 公共IP地址 |
Slave1 | 100.210.55.42 | 100.210.55.142 |
Slave2 | 100.210.55.43 | 100.210.55.143 |
Slave3 | 100.210.55.44 | 100.210.55.144 |
表2是Slave1发生故障后VIP表更新后的示例。
表2
由表2可知,在存在故障从节点的场景下,一个从节点可以对应多个公共IP地址,事实上,在各从节点均正常的场景下,一个从节点也可以对应一个或者多个公共IP地址。
为了便于管理从节点,服务器还会记录从节点的状态,当从节点故障后,从节点的状态从正常状态更新为故障状态。
需要说明的是,作为另一种实施方式,VIP表和从节点的状态也可以记录在主节点中。
在本实施例中,当故障从节点从故障中恢复时,为了使恢复后的故障从节点重新对外提供服务,本发明实施例还提供了一种故障从节点的故障恢复流程,请参照图5,图5为本发明实施例提供的另一种公共IP地址管理方法的流程示例图,该方法包括以下步骤:
步骤S200,接收故障从节点恢复过程中发送的心跳消息。
在本实施例中,作为一种具体实施方式,正常从节点也会向主节点发送心跳消息,主节点在收到从节点发送的心跳消息后,可以根据从节点的状态判断该心跳消息是来自于正常从节点还是来自于故障从节点,以便针对不同的情况进行不同的处理。
步骤S210,基于心跳消息获取故障从节点的公共IP地址。
在本实施例中,对于每一从节点,主节点可以预先记录其对应的公共IP地址,该公共IP地址在从节点发生故障后不会被删除或者修改。作为一种具体实施方式,主节点可以通过记录每一公共IP地址对应的原从节点的IP地址和现从节点的IP地址的对应关系表获取故障从节点的公共IP地址。例如,将每一公共IP地址对应的原从节点的IP地址和现从节点的IP地址记录在MAP_VIP表中,MAP_VIP表中包括存储集群对外提供的所有公共IP地址对应的原从节点的IP地址和现从节点的IP地址,正常情况下,一个公共IP地址对应的原从节点的IP地址和现从节点的IP地址是相同的,在原从节点出现故障后,对于该原从节点对应的公共IP地址来说,其原从节点的IP地址和现从节点的IP地址是不同的。
表3和表4分别为IP地址为100.210.55.42的从节点发生故障前后的MAP_VIP表的示例。
表3
表4
由表3和表4可以看出,IP地址为100.210.55.42的从节点在故障前,其公共IP地址为100.210.55.142,故障后,由地址为100.210.55.43的从节点接管。根据表4可以获取故障从节点故障前的公共IP地址。
需要说明的是,每一从节点及对应的公共IP地址或者MAP_VIP表也可以记录与主节点可以访问的专门的服务器上。
步骤S220,向故障从节点发送添加消息,以指示故障从节点基于添加消息添加故障从节点的公共IP地址以重新提供服务。
在本实施例中,故障从节点添加故障从节点的公共IP地址的方式与迁入从节点添加故障从节点的公共IP地址的方式相同,此处不再赘述。在故障从节点添加故障从节点的公共IP地址后,故障从节点可以通过添加的故障从节点的公共IP地址恢复对外(例如,客户端30)提供服务。
还需要说明的是,故障从节点基于添加消息添加故障从节点的公共IP地址成功后,主节点还需要更新公共IP地址对应的现从节点的IP地址,即对MAP_VIP表进行更新,可以理解,故障从节点对应的公共IP地址也要更新,即VIP表也要相应地更新。
在本实施例中,为了使接管故障从节点的节点恢复到接管前的状态,使存储集群恢复到正常状态,本发明实施例还提供了一种具体实施方式,请继续参照图5,该方法还包括以下步骤:
步骤S230,根据故障从节点的公共IP地址,确定迁出从节点,其中,迁出从节点为多个从节点中接管故障从节点提供的服务的从节点。
在本实施例中,继续参照表4,故障从节点的公共IP地址为100.210.55.142,迁出从节点为100.210.55.142对应的现从节点,其IP地址为100.210.55.43。
在本实施例中,迁出从节点可以与故障从节点发生故障时的迁入从节点相同,也可以不同,例如,从节点A发生故障时,迁入从节点为B,B接管了A,在A故障恢复之前,B也发生了故障,则B的迁入从节点为C,意思是C接管了B,也即是C接管A,此时,A故障恢复时,迁出从节点与A发生故障时的迁入从节点不同。
步骤S240,向迁出从节点发送删除消息,以指示迁出从节点基于删除消息删除故障从节点的公共IP地址以停止接管故障从节点提供的服务。
在本实施例中,由于迁出从节点可以有一个或者多个公共IP地址,当迁出从节点为多个时,对于每一个迁出从节点,主节点都会向其发送删除消息,以删除该迁出从节点的对应的故障从节点的公共IP地址,例如,迁出从节点包括A和B,其中A的故障从节点的公共IP地址为IP1和IP2,B的故障从节点的公共IP地址为IP3,则主节点向A发送删除消息,指示A将IP1和IP2删除,主节点还会向B发送删除消息,指示B将IP3删除。
在本实施例中,对于一个迁出从节点而言,其故障从节点的公共IP地址可以有一个或者多个,作为一种具体实施方式,删除消息中可以携带需要删除的故障从节点的公共IP地址。
在本实施例中,删除故障从节点的公共IP地址可以通过网络设置将其与迁出从节点的本地网卡解绑定的方式实现,故障从节点的公共IP地址删除后,迁出从节点停止接管故障从节点,即不再通过故障从节点的公共IP地址提供服务。
为了更清楚地说明上述方法的具体实现过程,作为一种具体实施方式,本发明实施例还提供了从节点故障恢复时主从节点的交互过程的示例图,请参照图6,图6为本发明实施例提供的从节点故障恢复时主从节点的交互示意图。与图4类似,主节点会记录如上表4所示的MAP_VIP表,根据该MAP_VIP表,可以确定迁出节点及需要删除的故障从节点的公共IP地址。作为另一种具体实现方式,MAP_VIP表也可以存储于主节点可以访问的专门的服务器上。
在本实施例中,从节点可能由于出现异常导致本身记录的公共IP地址发生错误,为了及时将从节点错误的公共IP地址更新正确,本发明实施例在主节点发现从节点的公共IP地址错误时,还提供了一种对应的解决方案,请参照图7,该方法包括以下步骤:
步骤S300,接收多个从节点中任一目标从节点发送的心跳消息,其中,心跳消息包括目标从节点的第一公共IP地址。
在本实施例中,目标从节点为多个从节点中任一从节点,每一从节点可以周期性地向主节点发送心跳消息,以便和主节点及时获知每一从节点当前的状态及与每一从节点的通信状态,心跳消息也称心跳保活消息。请参照图8,图8是主节点与从节点通过心跳消息进行交互的示例图,图8中,主节点和从节点通过Socket通信进行心跳消息的交互。
在本实施例中,目标从节点本地存储有自身的第一公共IP地址,第一公共IP地址可以暂存于目标从节点的内存中。
步骤S310,若第一公共IP地址与主节点预先存储的目标从节点的第二公共IP地址不一致,则将第二公共IP地址发送至目标从节点,以指示目标从节点将第一公共IP地址更新为第二公共IP地址以通过第二公共IP地址提供服务。
在本实施例中,主节点预先存储有目标从节点的第二公共IP地址,正常情况下,第一公共IP地址和第二公共IP地址是一致的,但是在目标从节点出现异常时,第一公共IP地址和第二公共IP地址可能不一致,由于主节点负责管理各从节点,主节点的可靠性通常高于各从节点,因此,以第二公共IP地址为准,用于第二公共IP地址更新第一公共IP地址。
在本实施例中,第一公共IP地址可以有一个,此时,主节点可以发送第二公共IP地址给目标从节点,第一公共IP地址还可以有多个,主节点可以向目标从节点发送更新消息,更新消息中可以携带需要更新的第一公共IP地址及更新后的第二公共IP地址。
本实施例提供的上述方法,主节点可以及时地感知到从节点由于出现异常导致本身记录的公共IP地址发生错误,以及时将从节点错误的公共IP地址更新正确,保证存储集群的公共IP地址的一致性、稳定性和可用性。
在本实施例中,为了及时发现出现故障的从节点,本发明实施例还提供了一种具体的故障从节点的判定方式,请参照图9,图9为本发明实施例提供的另一种公共IP地址管理方法的流程示例图,该方法包括以下步骤:
步骤400,若连续预设个数的周期内均未接收到多个从节点中同一个从节点发送的心跳消息,则判定该从节点发生故障。
在本实施例中,对于多个从节点中的任一从节点而言,若连续预设个数的周期内均未接收到该从节点发送的心跳消息,则判定该从节点发生故障,预设个数可以根据实际场景需要进行设置,例如预设个数为3,在3个周期内均未接收到该从节点发送的心跳消息,则判定该从节点发生故障。
为了执行上述实施例及各个可能的实施方式中公共IP地址管理方法的相应步骤,下面给出一种公共IP地址管理装置100的实现方式。请参照图10,图10示出了本发明实施例提供的公共IP地址管理装置100的方框示意图。需要说明的是,本实施例所提供的公共IP地址管理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
公共IP地址管理装置100包括检测模块110、确定模块120、添加模块130、故障恢复模块140及更新模块150。
检测模块110,用于当检测到所述多个从节点中任一所述从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址。
确定模块120,用于将公共IP地址的个数最少的正常从节点作为迁入从节点。
添加模块130,用于向迁入从节点发送添加消息,以指示迁入从节点基于添加消息添加故障从节点的公共IP地址以接管故障从节点提供的服务。
故障恢复模块140,用于:接收故障从节点恢复过程中发送的心跳消息;基于心跳消息获取故障从节点的公共IP地址;向故障从节点发送添加消息,以指示故障从节点基于添加消息添加故障从节点的公共IP地址以重新提供服务。
故障恢复模块140,还用于:根据故障从节点的公共IP地址,确定迁出从节点,其中,迁出从节点为多个从节点中接管故障从节点提供的服务的从节点;向迁出从节点发送删除消息,以指示迁出从节点基于删除消息删除故障从节点的公共IP地址以停止接管故障从节点提供的服务。
更新模块150,用于接收多个从节点中任一目标从节点发送的心跳消息,其中,心跳消息包括目标从节点的第一公共IP地址;若第一公共IP地址与主节点预先存储的目标从节点的第二公共IP地址不一致,则将第二公共IP地址发送至目标从节点,以指示目标从节点将第一公共IP地址更新为第二公共IP地址以通过第二公共IP地址提供服务。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的公共IP地址管理方法。
综上所述,本发明实施例提供了一种公共IP地址管理方法、装置、主节点及存储介质,应用于存储集群中的主节点,存储集群中还包括与主节点通信连接的多个从节点,至少一个从节点对应有公共IP地址,所述方法包括:当检测到多个从节点中任一从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;将公共IP地址的个数最少的正常从节点作为迁入从节点;向迁入从节点发送添加消息,以指示迁入从节点基于添加消息添加故障从节点的公共IP地址以接管故障从节点提供的服务。与现有技术相比,本发明在检测到从节点发生故障时,通过将故障从节点的公共IP地址添加至公共IP地址的个数最少的迁入从节点,以使迁入从节点接管故障从节点提供的服务,由此实现了故障从节点被接管时其公共IP地址不会发生变化,同时,又实现了存储集群中正常从节点中公共IP地址的均衡,最大限度地减少了对存储集群整体性能的影响。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种公共IP地址管理方法,其特征在于,应用于存储集群中的主节点,所述存储集群中还包括与主节点通信连接的多个从节点,至少一个所述从节点对应有公共IP地址,所述方法包括:
当检测到所述多个从节点中任一所述从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;
将公共IP地址的个数最少的所述正常从节点作为迁入从节点;
向所述迁入从节点发送添加消息,以指示所述迁入从节点基于所述添加消息添加所述故障从节点的公共IP地址以接管所述故障从节点提供的服务。
2.如权利要求1所述的公共IP地址管理方法,其特征在于,所述方法还包括:
接收所述故障从节点恢复过程中发送的心跳消息;
基于所述心跳消息获取所述故障从节点的公共IP地址;
向所述故障从节点发送添加消息,以指示所述故障从节点基于所述添加消息添加所述故障从节点的公共IP地址以重新提供服务。
3.如权利要求2所述的公共IP地址管理方法,其特征在于,所述方法还包括:
根据所述故障从节点的公共IP地址,确定迁出从节点,其中,所述迁出从节点为所述多个从节点中接管所述故障从节点提供的服务的从节点;
向所述迁出从节点发送删除消息,以指示所述迁出从节点基于所述删除消息删除所述故障从节点的公共IP地址以停止接管所述故障从节点提供的服务。
4.如权利要求1所述的公共IP地址管理方法,其特征在于,所述方法还包括:
接收所述多个从节点中任一目标从节点发送的心跳消息,其中,所述心跳消息包括所述目标从节点的第一公共IP地址;
若所述第一公共IP地址与所述主节点预先存储的所述目标从节点的第二公共IP地址不一致,则将所述第二公共IP地址发送至所述目标从节点,以指示所述目标从节点将所述第一公共IP地址更新为所述第二公共IP地址以通过所述第二公共IP地址提供服务。
5.如权利要求1所述的公共IP地址管理方法,其特征在于,所述方法还包括:
若连续预设个数的周期内均未接收到所述多个从节点中同一个从节点发送的心跳消息,则判定该从节点发生故障。
6.一种公共IP地址管理装置,其特征在于,应用于存储集群中的主节点,所述存储集群中还包括与主节点通信连接的多个从节点,至少一个所述从节点对应有公共IP地址,所述装置包括:
检测模块,用于当检测到所述多个从节点中任一所述从节点发生故障时,获取正常从节点的公共IP地址的个数及故障从节点的公共IP地址;
确定模块,用于将公共IP地址的个数最少的所述正常从节点作为迁入从节点;
添加模块,用于向所述迁入从节点发送添加消息,以指示所述迁入从节点基于所述添加消息添加所述故障从节点的公共IP地址以接管所述故障从节点提供的服务。
7.如权利要求6所述的公共IP地址管理装置,其特征在于,所述公共IP地址管理装置还包括故障恢复模块,所述故障恢复模块用于:
接收所述故障从节点恢复过程中发送的心跳消息;
基于所述心跳消息获取所述故障从节点的公共IP地址;
向所述故障从节点发送添加消息,以指示所述故障从节点基于所述添加消息添加所述故障从节点的公共IP地址以重新提供服务。
8.如权利要求6所述的公共IP地址管理装置,其特征在于,所述公共IP地址管理装置还包括更新模块,所述更新模块用于:
接收所述多个从节点中任一目标从节点发送的心跳消息,其中,所述心跳消息包括所述目标从节点的第一公共IP地址;
若所述第一公共IP地址与所述主节点预先存储的所述目标从节点的第二公共IP地址不一致,则将所述第二公共IP地址发送至所述目标从节点,以指示所述目标从节点将所述第一公共IP地址更新为所述第二公共IP地址以通过所述第二公共IP地址提供服务。
9.一种主节点,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的公共IP地址管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的公共IP地址管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969756.7A CN113596195B (zh) | 2021-08-23 | 2021-08-23 | 公共ip地址管理方法、装置、主节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969756.7A CN113596195B (zh) | 2021-08-23 | 2021-08-23 | 公共ip地址管理方法、装置、主节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596195A true CN113596195A (zh) | 2021-11-02 |
CN113596195B CN113596195B (zh) | 2022-11-22 |
Family
ID=78239100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110969756.7A Active CN113596195B (zh) | 2021-08-23 | 2021-08-23 | 公共ip地址管理方法、装置、主节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596195B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938881A (zh) * | 2023-09-18 | 2023-10-24 | 深圳创新科技术有限公司 | 一种实现动态ip池的方法、系统、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554055A (zh) * | 2001-07-23 | 2004-12-08 | �Ƚ�װ�ù�˾ | 高可用性集群虚拟服务器系统 |
CN101237400A (zh) * | 2008-01-24 | 2008-08-06 | 创新科存储技术(深圳)有限公司 | 网络附加存储服务的迁移方法及网络附加存储节点 |
CN102394936A (zh) * | 2011-11-11 | 2012-03-28 | 青岛海信传媒网络技术有限公司 | 集群系统无损业务维护方法 |
CN106027290A (zh) * | 2016-05-12 | 2016-10-12 | 深圳市永兴元科技有限公司 | 故障处理方法及装置 |
CN107104844A (zh) * | 2017-05-27 | 2017-08-29 | 郑州云海信息技术有限公司 | 一种ctdb迁移公共ip地址的方法及装置 |
CN107645421A (zh) * | 2017-11-09 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种分布式存储的iscsi协议实现方法 |
CN113194462A (zh) * | 2021-03-30 | 2021-07-30 | 北京和峰科技有限公司 | 节点地址分配方法、装置、存储介质及电子设备 |
-
2021
- 2021-08-23 CN CN202110969756.7A patent/CN113596195B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554055A (zh) * | 2001-07-23 | 2004-12-08 | �Ƚ�װ�ù�˾ | 高可用性集群虚拟服务器系统 |
CN101237400A (zh) * | 2008-01-24 | 2008-08-06 | 创新科存储技术(深圳)有限公司 | 网络附加存储服务的迁移方法及网络附加存储节点 |
CN102394936A (zh) * | 2011-11-11 | 2012-03-28 | 青岛海信传媒网络技术有限公司 | 集群系统无损业务维护方法 |
CN106027290A (zh) * | 2016-05-12 | 2016-10-12 | 深圳市永兴元科技有限公司 | 故障处理方法及装置 |
CN107104844A (zh) * | 2017-05-27 | 2017-08-29 | 郑州云海信息技术有限公司 | 一种ctdb迁移公共ip地址的方法及装置 |
CN107645421A (zh) * | 2017-11-09 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种分布式存储的iscsi协议实现方法 |
CN113194462A (zh) * | 2021-03-30 | 2021-07-30 | 北京和峰科技有限公司 | 节点地址分配方法、装置、存储介质及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938881A (zh) * | 2023-09-18 | 2023-10-24 | 深圳创新科技术有限公司 | 一种实现动态ip池的方法、系统、设备及可读存储介质 |
CN116938881B (zh) * | 2023-09-18 | 2024-02-09 | 深圳创新科技术有限公司 | 一种实现动态ip池的方法、系统、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113596195B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
CN110535692B (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
CN107508694B (zh) | 一种集群内的节点管理方法及节点设备 | |
CN111176888B (zh) | 云存储的容灾方法、装置及系统 | |
CN112866408B (zh) | 一种集群中业务切换方法、装置、设备及存储介质 | |
CN106452836B (zh) | 主节点设置方法及装置 | |
CN111752488B (zh) | 存储集群的管理方法、装置、管理节点及存储介质 | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN108512753B (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN111342986B (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN109189854B (zh) | 提供持续业务的方法及节点设备 | |
US8977595B1 (en) | Message-recovery file log locating and monitoring | |
CN112600690B (zh) | 一种配置数据同步方法、装置、设备及存储介质 | |
US20190303233A1 (en) | Automatically Detecting Time-Of-Fault Bugs in Cloud Systems | |
CN111488247B (zh) | 一种管控节点多次容错的高可用方法及设备 | |
CN107528703B (zh) | 一种用于管理分布式系统中节点设备的方法与设备 | |
CN115794769B (zh) | 高可用数据库管理的方法、电子设备及存储介质 | |
CN112887367A (zh) | 实现分布式集群高可用的方法、系统及计算机可读介质 | |
CN111614701B (zh) | 一种分布式集群、以及容器状态切换方法、装置 | |
CN115686368A (zh) | 区块链网络的节点的存储扩容的方法、系统、装置和介质 | |
CN114840495A (zh) | 一种数据库集群防脑裂的方法、存储介质与设备 | |
CN115686951A (zh) | 一种数据库服务器的故障处理方法和装置 | |
CN111367885A (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 |