本发明涉及集群管理技术领域,具体涉及一种CTDB节点故障虚拟IP迁移的方法及装置。
背景技术:
随着分布式文件存储系统的快速发展,其适用范围越来越广泛,存储节点也越来越多,现阶段的分布式文件存储系统客户端通过手动指定节点IP挂载nfs/cifs协议进行vbench业务读写。但当存储设备出现节点故障时,客户端业务将会中断,CTDB(Clustering TDB)进行虚拟IP的重新分配,该故障节点对应的虚拟IP将迁移至其他节点。
重启该故障节点时,虚拟IP迁移回该节点,但虚拟IP的迁移需要一定时间,仍然会造成客户端业务中断的情形。此外,当虚拟IP进行业务时,虚拟IP的来回迁移会造成CTDB集群的不稳定,同时降低CTDB集群的可利用性。为解决上述问题,本发明提供一种CTDB节点故障虚拟IP迁移的方法及装置。
技术实现要素:
本发明的目的是提供一种CTDB节点故障虚拟IP迁移的方法及装置,用于CTDB节点故障重启时虚拟IP的迁移,避免出现业务中断的情形,同时提高集群的稳定性及可用性。
为解决上述技术问题,本发明提供一种CTDB节点故障虚拟IP迁移的方法,包括:
重启故障节点,返回该故障节点对应的虚拟IP;
判断该虚拟IP是否进行业务:
若该虚拟IP未进行业务,则将该虚拟IP迁移至故障节点;
若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点。
进一步的,所述重启故障节点,返回该故障节点对应的虚拟IP包括:CTDB主节点通过调用nfc命令返回该故障节点对应的虚拟IP。
进一步的,所述若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点包括:通过调用CTDB的IP命令查看未进行业务的虚拟IP。
进一步的,当重启故障节点,返回该故障节点的虚拟IP为空时,进行告警提示。
进一步的,当重启故障节点,返回该故障节点的虚拟IP为空时,添加重试次数并控制在一定时间内,当该故障节点的虚拟IP一直返回为空时,进行告警提示。
进一步的,所述重试次数为30次,所述控制时间为30s。
为解决上述问题,本发明还提供一种CTDB节点故障虚拟IP迁移的的装置,包括:
返回模块,用于重启故障节点后,返回该故障节点对应的虚拟IP;
判断模块,用于判断该虚拟IP是否进行业务;
迁移模块,用于当判断模块判断该虚拟IP未进行业务时,将该虚拟IP迁移至故障节点;当判断模块判断该虚拟IP正在进行业务,查看未进行业务的虚拟IP,将未进行业务的虚拟IP迁移至故障节点。
进一步的所述迁移模块具体包括:
第一迁移单元,用于当判断模块判断该虚拟IP未进行业务时,将该虚拟IP迁移至故障节点;
虚拟IP查看单元,用于当判断模块判断该虚拟IP进行业务时,查看未进行业务的虚拟IP;
第二迁移单元,选取虚拟IP查看单元内未进行业务的虚拟IP,并将该未进行业务的虚拟IP迁移至故障节点。
进一步的,所述CTDB节点故障虚拟IP迁移的装置还包括:告警模块,用于当重启故障节点后,返回该故障节点的虚拟IP为空时,进行告警提示。
该种CTDB节点故障虚拟IP迁移的方法能在节点故障重启后,返回该节点对应的的虚拟IP;判断该虚拟IP是否进行业务:若该虚拟IP未进行业务,则将该虚拟IP迁移至故障节点;若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点,避免了传统情形下,虚拟IP迁移回节点需浪费一定时间,进而造成客户端业务中断的情形,同时,该方案对虚拟IP的业务状态进行判断,若虚拟IP正在进行业务,则迁移未进行业务的虚拟IP至故障节点,避免了传统情形下进行业务的虚拟IP来回迁移造成的CTDB集群的不稳定,同时提高了CTDB集群的可利用性。
此外,本发明还提供一种CTDB节点故障虚拟IP迁移的装置,同样具有上述有益效果。
附图说明
为了更清楚的说明本发明实施例,下面将实施例中所需要使用的附图做简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例CTDB节点故障虚拟IP迁移的方法的流程图。
图2为本发明实施例CTDB节点故障虚拟IP迁移的装置示意图。
具体实施方式
下面结合本发明实施例中的附图,对发明实施例中的技术方案进行清楚完整的描述,显然,所描述的实施例仅仅为本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好的理解本发明方案,下面结合附图和具体实施方式对本发明做进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种CTDB节点故障虚拟IP迁移的方法。图1为本发明实施例提供的实施例CTDB节点故障虚拟IP迁移的方法的流程图,该方法包括:
S101:重启故障节点,返回该故障节点对应的虚拟IP;
S102:判断该虚拟IP是否进行业务:
若该虚拟IP未进行业务,则将该虚拟IP迁移至故障节点;
若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点。
进一步的,所述重启故障节点,返回该故障节点对应的虚拟IP包括:CTDB主节点通过调用nfc命令返回该故障节点对应的虚拟IP。
进一步的,所述若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点包括:通过调用CTDB的IP命令查看未进行业务的虚拟IP。
以三个节点的CTDB集群为例,具体说明上述过程:
1. CTDB集群三个节点的虚拟IP分别为test01(100.7.43.181)、test02(100.7.43.182)、test03(100.7.43.183);
2.客户端挂载test01,并开启vdbench业务;
3.业务持续过程中,在test01节点执行重启命令,vdbench显示带宽为0,此时虚拟IP顺序为test02(100.7.43.181、100.7.43.182),test03(100.7.43.183),即虚拟IP(100.7.43.181)迁移至test02节点并进行业务;
4.在vdbench业务恢复之后,test01启动完成,虚拟IP顺序为test01(100.7.43.182)、test02(100.7.43.181)、test03(100.7.43.183)。
该种CTDB节点故障虚拟IP迁移的方法能在节点故障重启后,返回该节点对应的的虚拟IP;判断该虚拟IP是否进行业务:若该虚拟IP未进行业务,则将该虚拟IP迁移至故障节点;若该虚拟IP正在进行业务,查看未进行业务的虚拟IP,并将未进行业务的虚拟IP迁移至故障节点,避免了传统情形下,虚拟IP迁移回节点需浪费一定时间,进而造成客户端业务中断的情形,同时,该方案对虚拟IP的业务状态进行判断,若虚拟IP正在进行业务,则迁移未进行业务的虚拟IP至故障节点,避免了传统情形下进行业务的虚拟IP来回迁移造成的CTDB集群的不稳定,同时提高了CTDB集群的可利用性。
在上述步骤中可能会出现当重启故障节点,返回该故障节点的虚拟IP为空的情形,此时则无法完成节点故障虚拟IP迁移的目的,为能够及时将该种情形反馈给用户,添加重试次数30次并控制在30s内,当该故障节点的虚拟IP一直返回为空时,进行告警提示。
图2为本发明实施例提供的CTDB节点故障虚拟IP迁移的装置示意图,包括返回模块21、判断模块22、迁移模块23;
上述返回模块21,用于重启故障节点后,返回该故障节点对应的虚拟IP;
判断模块22,用于判断该虚拟IP是否进行业务;
迁移模块23,用于当判断模块判断该虚拟IP未进行业务时,将该虚拟IP迁移至故障节点;当判断模块判断该虚拟IP正在进行业务,查看未进行业务的虚拟IP,将未进行业务的虚拟IP迁移至故障节点。
具体的,迁移模块具体包括:
第一迁移单元,用于当判断模块判断该虚拟IP未进行业务时,将该虚拟IP迁移至故障节点;
虚拟IP查看单元,用于当判断模块判断该虚拟IP进行业务时,查看未进行业务的虚拟IP;
第二迁移单元,选取虚拟IP查看单元内未进行业务的虚拟IP,并将该未进行业务的虚拟IP迁移至故障节点。
进一步的,所述CTDB节点故障虚拟IP迁移的装置还包括:告警模块,用于当重启故障节点后,返回该故障节点的虚拟IP为空时,进行告警提示。
图2所对应的实施例中的特征说明可以参照图1所对应的实施例的相关说明,这里不再一一赘述。
以上对本发明实施例所提供的一种客户端负载均衡挂载虚拟IP的方法、系统、装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,因此描述的较为简单,相关会出参见方法部分说明即可。以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。