CN111130896A - 一种nfs故障的切换方法、系统及双控存储系统 - Google Patents

一种nfs故障的切换方法、系统及双控存储系统 Download PDF

Info

Publication number
CN111130896A
CN111130896A CN201911386485.1A CN201911386485A CN111130896A CN 111130896 A CN111130896 A CN 111130896A CN 201911386485 A CN201911386485 A CN 201911386485A CN 111130896 A CN111130896 A CN 111130896A
Authority
CN
China
Prior art keywords
request
storage node
execution result
nfs
list
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.)
Pending
Application number
CN201911386485.1A
Other languages
English (en)
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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data 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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911386485.1A priority Critical patent/CN111130896A/zh
Publication of CN111130896A publication Critical patent/CN111130896A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本发明公开了一种NFS故障的切换方法、系统及双控存储系统。任一存储节点在请求执行结果不存在错误时,将请求执行结果记录到缓存请求列表中,并将缓存请求列表同步至另一存储节点。由于请求执行结果同步,就会存在一种情况:即使存储节点执行非等幂请求得到请求执行结果后故障,并未返回请求执行结果给客户端,非等幂请求对应的正确的请求执行结果也已经同步至另一存储节点。在客户端重新发送非等幂请求至另一存储节点执行时,请求执行结果会存在错误,但由于另一存储节点中已经有其正确的请求执行结果,此时直接从缓存请求列表中查询非等幂请求对应的请求执行结果返回给客户端即可,从而可实现这些非等幂请求对应的NFS故障正常切换。

Description

一种NFS故障的切换方法、系统及双控存储系统
技术领域
本发明涉及NFS故障切换领域,特别是涉及一种NFS故障的切换方法、系统及双控存储系统。
背景技术
目前,NFS(Network File System,网络文件系统)共享服务是NAS(NetworkAttached Storage,网络附属存储)集群存储系统中提供文件共享的服务进程,NAS集群存储系统要求NFS进程必须长期稳定运行,尤其是对于双控存储系统,在一个存储节点出现问题以后,需要将所有资源切换到另一个存储节点上继续提供服务,不能出现业务中断的现象。
在NFS协议中,大部分的操作请求都是等幂请求,等幂请求指的是多次重复执行都可以操作成功的操作请求;少部分的操作请求是非等幂请求,非等幂请求指的是只能执行一次无法多次重复执行的操作请求。在NFS故障切换时,故障存储节点会存在一些没有返回操作执行结果给客户端的操作请求,客户端在一定时间内没有接收到故障存储节点返回的操作执行结果后,会将操作请求重新发送至另一存储节点执行,但另一存储节点因非等幂请求的请求特性无法成功执行非等幂请求,导致所有非等幂请求对应的NFS故障切换均存在问题。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种NFS故障的切换方法、系统及双控存储系统,在请求执行结果存在错误时,直接从缓存请求列表中查询非等幂请求对应的请求执行结果返回给客户端即可,从而可实现这些非等幂请求对应的NFS故障正常切换。
为解决上述技术问题,本发明提供了一种NFS故障的切换方法,应用于双控存储系统中任一存储节点,包括:
与所述双控存储系统中另一存储节点建立通讯连接;
在接收到操作请求后执行所述操作请求,得到请求执行结果;
判断所述请求执行结果是否存在错误;
若否,则将所述请求执行结果记录到预设缓存请求列表中,并将所述缓存请求列表同步至另一所述存储节点,且将所述请求执行结果返回给客户端;
若是,则从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端。
优选地,所述与所述双控存储系统中另一存储节点建立通讯连接的过程,包括:
预先设置包含集群模式标识和另一所述存储节点的心跳IP的配置文件;
读取所述配置文件中的集群模式标识,并判断所述集群模式标识是否为真;
若是,则读取所述配置文件中的心跳IP,并根据所述心跳IP与另一所述存储节点建立通讯连接。
优选地,在根据所述心跳IP与另一所述存储节点建立通讯连接之后,在将所述缓存请求列表同步至另一所述存储节点之前,所述切换方法还包括:
判断与另一所述存储节点是否成功建立通讯连接;
若是,则执行将所述缓存请求列表同步至另一所述存储节点的步骤;
若否,则返回执行根据所述心跳IP与另一所述存储节点建立通讯连接的步骤。
优选地,在所述请求执行结果存在错误之后,在从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端之前,所述切换方法还包括:
判断所述操作请求是否为非等幂请求;
若为非等幂请求,则在根据所述缓存请求列表的内容确定所述操作请求已经执行完成之后,执行从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端的步骤;
若为等幂请求,则返回所述执行所述操作请求的步骤重新执行。
优选地,所述切换方法还包括:
预先设置列表写入策略,并将所述列表写入策略写入所述配置文件;
按照所述配置文件中的列表写入策略,将所述缓存请求列表中的请求数据写入本地数据库。
优选地,所述切换方法还包括:
当NFS进程结束时,判断所述NFS进程是否正常结束;
若是,则清空所述本地数据库中的请求数据;
若否,则保留所述本地数据库中的异常请求数据。
优选地,所述切换方法还包括:
在故障掉线后重新上线时,读取所述本地数据库中的异常请求数据;
根据所述异常请求数据进行NFS故障恢复。
优选地,所述缓存请求列表中与所述操作请求相关的内容包括请求本体、客户端、请求接收时间、当前执行所述操作请求的存储节点及请求执行结果。
为解决上述技术问题,本发明还提供了一种NFS故障的切换系统,应用于双控存储系统中任一存储节点,包括:
建立模块,用于与所述双控存储系统中另一存储节点建立通讯连接;
执行模块,用于在接收到操作请求后执行所述操作请求,得到请求执行结果;
判断模块,用于判断所述请求执行结果是否存在错误;若否,则执行同步模块;若是,则执行查询模块;
同步模块,用于将所述请求执行结果记录到预设缓存请求列表中,并将所述缓存请求列表同步至另一所述存储节点,且将所述请求执行结果返回给客户端;
查询模块,用于从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端。
为解决上述技术问题,本发明还提供了一种双控存储系统,包括:
第一存储节点;
与所述第一存储节点连接的第二存储节点;
其中,所述第一存储节点或所述第二存储节点用于在执行自身所存储的计算机程序时实现上述任一种NFS故障的切换方法的步骤。
本发明提供了一种NFS故障的切换方法,双控存储系统中两存储节点建立通讯连接。对于任一存储节点来说,客户端向其发送操作请求有两种情况:客户端与两存储节点均正常交互,对应发送操作请求至两存储节点;客户端因一存储节点故障,重新发送未返回操作执行结果的操作请求至另一存储节点。任一存储节点在接收到操作请求后执行操作请求,得到请求执行结果,然后当请求执行结果不存在错误时,将请求执行结果记录到预设缓存请求列表中,并将缓存请求列表同步至另一存储节点。由于请求执行结果同步,就会存在一种情况:即使存储节点执行非等幂请求得到请求执行结果后故障,并未返回请求执行结果给客户端,非等幂请求对应的正确的请求执行结果也已经同步至另一存储节点。在客户端重新发送非等幂请求至另一存储节点执行时,请求执行结果会存在错误,但由于另一存储节点中已经有非等幂请求对应的正确的请求执行结果,此时直接从缓存请求列表中查询非等幂请求对应的请求执行结果返回给客户端即可,从而可实现这些非等幂请求对应的NFS故障正常切换。
本发明还提供了一种NFS故障的切换系统及双控存储系统,与上述切换方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种NFS故障的切换方法的流程图;
图2为本发明实施例提供的一种双控存储系统的结构示意图;
图3为本发明实施例提供的一种NFS故障的切换系统的结构示意图。
具体实施方式
本发明的核心是提供一种NFS故障的切换方法、系统及双控存储系统,在请求执行结果存在错误时,直接从缓存请求列表中查询非等幂请求对应的请求执行结果返回给客户端即可,从而可实现这些非等幂请求对应的NFS故障正常切换。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1及图2,图1为本发明实施例提供的一种NFS故障的切换方法的流程图,图2为本发明实施例提供的一种双控存储系统的结构示意图。
该NFS故障的切换方法应用于双控存储系统中任一存储节点,包括:
步骤S1:与双控存储系统中另一存储节点建立通讯连接。
具体地,双控存储系统包括第一存储节点和第二存储节点,第一存储节点和第二存储节点内各设置一控制器,用于控制所在存储节点完成目标任务。第一存储节点和第二存储节点之间建立通讯连接,以为后续同步两存储节点在执行各自接收到的操作请求后得到的请求执行结果。
步骤S2:在接收到操作请求后执行操作请求,得到请求执行结果。
具体地,客户端分别与第一存储节点和第二存储节点进行交互,以向第一存储节点和第二存储节点发送操作请求。目前,客户端向两存储节点发送操作请求有两种发送情况:1)客户端与两存储节点均正常交互,根据当前业务需求相应向两存储节点发送操作请求;2)客户端因其中一个存储节点故障,重新发送未返回操作执行结果的操作请求至另一个存储节点。
对于任一存储节点(下面以第一存储节点为例,第二存储节点同理),在接收到操作请求后均执行操作请求,以得到请求执行结果。基于上述两种发送情况可知,第一存储节点有可能接收到客户端重新发送的非等幂请求,此时第一存储节点会失败执行非等幂请求,体现在得到的请求执行结果中存在错误。
步骤S3:判断请求执行结果是否存在错误;若否,则执行步骤S4;若是,则执行步骤S5。
步骤S4:将请求执行结果记录到预设缓存请求列表中,并将缓存请求列表同步至另一存储节点,且将请求执行结果返回给客户端。
步骤S5:从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端。
具体地,第一存储节点在得到请求执行结果后,判断请求执行结果是否存在错误,若请求执行结果不存在错误,则有两种成功执行情况:1)客户端与两存储节点均正常交互,根据当前业务需求向第一存储节点发送操作请求(等幂请求或非等幂请求),第一存储节点成功执行操作请求,即得到正确的请求执行结果;2)客户端因第二存储节点故障,重新发送未返回操作执行结果的等幂请求至第一存储节点,第一存储节点成功执行等幂请求,即得到正确的请求执行结果。
基于此,当请求执行结果不存在错误时,第一存储节点将请求执行结果记录到自身的预设缓存请求列表中,并将缓存请求列表同步至第二存储节点,且将请求执行结果返回给客户端。对于上述两种成功执行情况,当客户端与两存储节点均正常交互时,第一存储节点所执行的操作请求(等幂请求或非等幂请求)对应的正确的请求执行结果可同步至第二存储节点;同理,第二存储节点所执行的操作请求(等幂请求或非等幂请求)对应的正确的请求执行结果可同步至第一存储节点。当第二存储节点故障时,同步操作失败。
若请求执行结果存在错误,则在第一存储节点自身无故障的情况下只有一种失败执行情况:客户端因第二存储节点故障,重新发送未返回操作执行结果的非等幂请求至第一存储节点,基于非等幂请求的特性,第一存储节点会失败执行非等幂请求,即得到错误的请求执行结果。但是,若第二存储节点在成功执行非等幂请求得到正确的请求执行结果之后,在将请求执行结果返回客户端之前才发生故障,则非等幂请求对应的正确的请求执行结果已同步至第一存储节点。
基于此,当请求执行结果存在错误时,第一存储节点直接从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端。可见,即使第一存储节点失败执行非等幂请求得到错误的请求执行结果,第一存储节点也可以在缓存请求列表中已同步非等幂请求对应的正确的请求执行结果的情况下,将非等幂请求对应的正确的请求执行结果返回给客户端,从而可实现这些非等幂请求对应的NFS故障正常切换。
本发明提供了一种NFS故障的切换方法,双控存储系统中两存储节点建立通讯连接。任一存储节点在接收到操作请求后执行操作请求,得到请求执行结果,然后当请求执行结果不存在错误时,将请求执行结果记录到预设缓存请求列表中,并将缓存请求列表同步至另一存储节点。由于请求执行结果同步,就会存在一种情况:即使存储节点执行非等幂请求得到请求执行结果后故障,并未返回请求执行结果给客户端,非等幂请求对应的正确的请求执行结果也已经同步至另一存储节点。在客户端重新发送非等幂请求至另一存储节点执行时,请求执行结果会存在错误,但由于另一存储节点中已经有非等幂请求对应的正确的请求执行结果,此时直接从缓存请求列表中查询非等幂请求对应的请求执行结果返回给客户端即可,从而可实现这些非等幂请求对应的NFS故障正常切换。
在上述实施例的基础上:
作为一种可选的实施例,与双控存储系统中另一存储节点建立通讯连接的过程,包括:
预先设置包含集群模式标识和另一存储节点的心跳IP的配置文件;
读取配置文件中的集群模式标识,并判断集群模式标识是否为真;
若是,则读取配置文件中的心跳IP,并根据心跳IP与另一存储节点建立通讯连接。
具体地,第一存储节点和第二存储节点均提前设置一配置文件,第一存储节点对应的第一配置文件中包含集群模式标识和第二存储节点的心跳IP(Internet Protocol,网际互连协议);第二存储节点对应的第二配置文件中包含集群模式标识和第一存储节点的心跳IP。其中,集群模式标识表示二者的NFS进程是否要组成集群,若集群模式标识为真,则二者的NFS进程要组成集群。
第一存储节点在自身NFS进程运行后,读取第一配置文件中的集群模式标识,并判断集群模式标识是否为真(如“1”表示真,“0”表示假);若集群模式标识为真,则读取第一配置文件中的第二存储节点的心跳IP,并根据第二存储节点的心跳IP与第二存储节点建立通讯连接。
作为一种可选的实施例,在根据心跳IP与另一存储节点建立通讯连接之后,在将缓存请求列表同步至另一存储节点之前,切换方法还包括:
判断与另一存储节点是否成功建立通讯连接;
若是,则执行将缓存请求列表同步至另一存储节点的步骤;
若否,则返回执行根据心跳IP与另一存储节点建立通讯连接的步骤。
进一步地,考虑到第一存储节点和第二存储节点可能失败建立通讯连接,从而导致后续无法同步,所以第一存储节点在根据第二存储节点的心跳IP与第二存储节点建立通讯连接之后,判断与第二存储节点是否成功建立通讯连接,若成功建立通讯连接,则后续可成功进行缓存请求同步;若失败建立通讯连接,则重新尝试根据第二存储节点的心跳IP与第二存储节点建立通讯连接,直至二者成功建立通讯连接,然后进行缓存请求同步,从而提高了缓存请求同步的成功率。
作为一种可选的实施例,在请求执行结果存在错误之后,在从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端之前,切换方法还包括:
判断操作请求是否为非等幂请求;
若为非等幂请求,则在根据缓存请求列表的内容确定操作请求已经执行完成之后,执行从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端的步骤;
若为等幂请求,则返回执行操作请求的步骤重新执行。
进一步地,若请求执行结果存在错误,则除了上述提及的一种失败执行情况(前提:第一存储节点自身无故障)之外,还有一种失败执行情况:若第一存储节点在执行操作请求时出现问题,并非是多次执行非等幂请求导致的问题,也会得到错误的请求执行结果,此时若第一存储节点是首次执行此操作请求,则缓存请求列表中并没有出现问题的操作请求对应的正确的请求执行结果,从而无法成功从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端。
基于此,第一存储节点在请求执行结果存在错误之后,首先判断操作请求是否为非等幂请求,若为非等幂请求,则根据缓存请求列表的内容判断此非等幂请求是否已经执行完成;若是,说明请求执行结果错误是多次执行非等幂请求导致的问题,且缓存请求列表中包含此非等幂请求对应的请求执行结果,则直接从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端。若为等幂请求,则不采用从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端的方式,而是重新执行此等幂请求,待执行成功后将请求执行结果返回给客户端。
作为一种可选的实施例,切换方法还包括:
预先设置列表写入策略,并将列表写入策略写入配置文件;
按照配置文件中的列表写入策略,将缓存请求列表中的请求数据写入本地数据库。
进一步地,第一存储节点还可将缓存请求列表中的请求数据写入本地数据库。具体地,第一存储节点为请求数据写入本地数据库提前设置列表写入策略(如将每个操作请求对应的请求数据都随时写入本地数据库;或在执行操作请求的数量达到一定数量阈值后,集中将这些数量的操作请求对应的请求数据写入本地数据库),并将列表写入策略写入第一配置文件,供后续按照第一配置文件中的列表写入策略,将缓存请求列表中的请求数据写入本地数据库。
此外,缓存请求列表不能无限制的进行缓存请求数据,则第一存储节点为请求数据写入缓存请求列表提前设置缓存时间阈值,并将缓存时间阈值写入第一配置文件,供后续删除缓存请求列表中的请求数据,具体是从请求数据写入缓存请求列表时开始计时,当计时时间到达缓存时间阈值时,将此请求数据从缓存请求列表中删除。
作为一种可选的实施例,切换方法还包括:
当NFS进程结束时,判断NFS进程是否正常结束;
若是,则清空本地数据库中的请求数据;
若否,则保留本地数据库中的异常请求数据。
进一步地,第一存储节点还可当自身NFS进程结束时,判断NFS进程是否正常结束;若NFS进程正常结束,则清空本地数据库中的请求数据;若NFS进程异常结束,则删除本地数据库中的正常请求数据,保留本地数据库中的异常请求数据,供下次NFS进程启动故障恢复使用。
作为一种可选的实施例,切换方法还包括:
在故障掉线后重新上线时,读取本地数据库中的异常请求数据;
根据异常请求数据进行NFS故障恢复。
进一步地,根据上述实施例可知:若NFS进程上一次正常结束,则会清空本地数据库中的所有请求数据,表示所有的操作请求都顺利执行完成并返回操作执行结果给客户端;若NFS进程上一次异常结束,则保留本地数据库中的异常请求数据,即保留着NFS进程异常之前的请求处理情况。
基于此,第一存储节点在故障掉线后重新上线时,即在NFS进程启动的过程中首先读取本地数据库中的异常请求数据,获得NFS进程异常之前的请求处理情况,从而实现NFS故障恢复。
作为一种可选的实施例,缓存请求列表中与操作请求相关的内容包括请求本体、客户端、请求接收时间、当前执行操作请求的存储节点及请求执行结果。
具体地,本申请的缓存请求列表中与操作请求相关的内容包括:请求本体、客户端(具体是发送操作请求的客户端的IP)、请求接收时间、当前执行操作请求的存储节点及请求执行结果。
请参照图3,图3为本发明实施例提供的一种NFS故障的切换系统的结构示意图。
该NFS故障的切换系统应用于双控存储系统中任一存储节点,包括:
建立模块1,用于与双控存储系统中另一存储节点建立通讯连接;
执行模块2,用于在接收到操作请求后执行操作请求,得到请求执行结果;
判断模块3,用于判断请求执行结果是否存在错误;若否,则执行同步模块;若是,则执行查询模块;
同步模块4,用于将请求执行结果记录到预设缓存请求列表中,并将缓存请求列表同步至另一存储节点,且将请求执行结果返回给客户端;
查询模块5,用于从缓存请求列表中查询操作请求对应的请求执行结果返回给客户端。
本申请提供的一种切换系统的介绍请参考上述切换方法的实施例,本申请在此不再赘述。
本申请还提供了一种双控存储系统,包括:
第一存储节点;
与第一存储节点连接的第二存储节点;
其中,第一存储节点或第二存储节点用于在执行自身所存储的计算机程序时实现上述任一种NFS故障的切换方法的步骤。
本申请提供的一种双控存储系统的介绍请参考上述切换方法的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种NFS故障的切换方法,其特征在于,应用于双控存储系统中任一存储节点,包括:
与所述双控存储系统中另一存储节点建立通讯连接;
在接收到操作请求后执行所述操作请求,得到请求执行结果;
判断所述请求执行结果是否存在错误;
若否,则将所述请求执行结果记录到预设缓存请求列表中,并将所述缓存请求列表同步至另一所述存储节点,且将所述请求执行结果返回给客户端;
若是,则从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端。
2.如权利要求1所述的NFS故障的切换方法,其特征在于,所述与所述双控存储系统中另一存储节点建立通讯连接的过程,包括:
预先设置包含集群模式标识和另一所述存储节点的心跳IP的配置文件;
读取所述配置文件中的集群模式标识,并判断所述集群模式标识是否为真;
若是,则读取所述配置文件中的心跳IP,并根据所述心跳IP与另一所述存储节点建立通讯连接。
3.如权利要求2所述的NFS故障的切换方法,其特征在于,在根据所述心跳IP与另一所述存储节点建立通讯连接之后,在将所述缓存请求列表同步至另一所述存储节点之前,所述切换方法还包括:
判断与另一所述存储节点是否成功建立通讯连接;
若是,则执行将所述缓存请求列表同步至另一所述存储节点的步骤;
若否,则返回执行根据所述心跳IP与另一所述存储节点建立通讯连接的步骤。
4.如权利要求1所述的NFS故障的切换方法,其特征在于,在所述请求执行结果存在错误之后,在从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端之前,所述切换方法还包括:
判断所述操作请求是否为非等幂请求;
若为非等幂请求,则在根据所述缓存请求列表的内容确定所述操作请求已经执行完成之后,执行从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端的步骤;
若为等幂请求,则返回所述执行所述操作请求的步骤重新执行。
5.如权利要求2所述的NFS故障的切换方法,其特征在于,所述切换方法还包括:
预先设置列表写入策略,并将所述列表写入策略写入所述配置文件;
按照所述配置文件中的列表写入策略,将所述缓存请求列表中的请求数据写入本地数据库。
6.如权利要求5所述的NFS故障的切换方法,其特征在于,所述切换方法还包括:
当NFS进程结束时,判断所述NFS进程是否正常结束;
若是,则清空所述本地数据库中的请求数据;
若否,则保留所述本地数据库中的异常请求数据。
7.如权利要求6所述的NFS故障的切换方法,其特征在于,所述切换方法还包括:
在故障掉线后重新上线时,读取所述本地数据库中的异常请求数据;
根据所述异常请求数据进行NFS故障恢复。
8.如权利要求1所述的NFS故障的切换方法,其特征在于,所述缓存请求列表中与所述操作请求相关的内容包括请求本体、客户端、请求接收时间、当前执行所述操作请求的存储节点及请求执行结果。
9.一种NFS故障的切换系统,其特征在于,应用于双控存储系统中任一存储节点,包括:
建立模块,用于与所述双控存储系统中另一存储节点建立通讯连接;
执行模块,用于在接收到操作请求后执行所述操作请求,得到请求执行结果;
判断模块,用于判断所述请求执行结果是否存在错误;若否,则执行同步模块;若是,则执行查询模块;
同步模块,用于将所述请求执行结果记录到预设缓存请求列表中,并将所述缓存请求列表同步至另一所述存储节点,且将所述请求执行结果返回给客户端;
查询模块,用于从所述缓存请求列表中查询所述操作请求对应的请求执行结果返回给客户端。
10.一种双控存储系统,其特征在于,包括:
第一存储节点;
与所述第一存储节点连接的第二存储节点;
其中,所述第一存储节点或所述第二存储节点用于在执行自身所存储的计算机程序时实现如权利要求1-8任一项所述的NFS故障的切换方法的步骤。
CN201911386485.1A 2019-12-29 2019-12-29 一种nfs故障的切换方法、系统及双控存储系统 Pending CN111130896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911386485.1A CN111130896A (zh) 2019-12-29 2019-12-29 一种nfs故障的切换方法、系统及双控存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911386485.1A CN111130896A (zh) 2019-12-29 2019-12-29 一种nfs故障的切换方法、系统及双控存储系统

Publications (1)

Publication Number Publication Date
CN111130896A true CN111130896A (zh) 2020-05-08

Family

ID=70504325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911386485.1A Pending CN111130896A (zh) 2019-12-29 2019-12-29 一种nfs故障的切换方法、系统及双控存储系统

Country Status (1)

Country Link
CN (1) CN111130896A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277727A (zh) * 2022-06-30 2022-11-01 达闼机器人股份有限公司 一种数据灾备方法、系统、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710457A (zh) * 2012-05-07 2012-10-03 浙江宇视科技有限公司 一种跨网段的n+1备份方法及装置
US20140047263A1 (en) * 2012-08-08 2014-02-13 Susan Coatney Synchronous local and cross-site failover in clustered storage systems
CN104991739A (zh) * 2015-06-19 2015-10-21 中国科学院计算技术研究所 元数据服务器失效接替中精确一次执行语义的方法及系统
CN109408280A (zh) * 2017-08-17 2019-03-01 北京金山云网络技术有限公司 数据备份方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710457A (zh) * 2012-05-07 2012-10-03 浙江宇视科技有限公司 一种跨网段的n+1备份方法及装置
US20140047263A1 (en) * 2012-08-08 2014-02-13 Susan Coatney Synchronous local and cross-site failover in clustered storage systems
CN104991739A (zh) * 2015-06-19 2015-10-21 中国科学院计算技术研究所 元数据服务器失效接替中精确一次执行语义的方法及系统
CN109408280A (zh) * 2017-08-17 2019-03-01 北京金山云网络技术有限公司 数据备份方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277727A (zh) * 2022-06-30 2022-11-01 达闼机器人股份有限公司 一种数据灾备方法、系统、装置及存储介质
CN115277727B (zh) * 2022-06-30 2024-03-19 达闼机器人股份有限公司 一种数据灾备方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
CN107291787B (zh) 主备数据库切换方法和装置
CN111258822B (zh) 数据处理方法、服务器和计算机可读存储介质
EP2434729A2 (en) Method for providing access to data items from a distributed storage system
JP3822381B2 (ja) 分散データベースシステム障害回復方法
US8140623B2 (en) Non-blocking commit protocol systems and methods
US8103635B2 (en) Reinstatement of database system in an automatic failover configuration
US8538923B2 (en) Method, node and system for controlling version in distributed system
KR100471567B1 (ko) 이중화 시스템 환경에서 데이터 동기화를 위한 트랜잭션관리 방법
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
US9189348B2 (en) High availability database management system and database management method using same
US7478400B1 (en) Efficient distributed transaction protocol for a distributed file sharing system
US20150019491A1 (en) Replication of Data Between Mirrored Data Sites
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
WO2013131448A1 (zh) 数据同步方法、系统及数据访问装置
US20090240974A1 (en) Data replication method
WO2011120452A2 (zh) 更新数据的方法和控制装置
CN105069152B (zh) 数据处理方法及装置
CN115486052A (zh) 一种数据存储方法、系统及存储介质
WO2022001750A1 (zh) 数据同步处理方法、电子设备以及存储介质
CN115794499B (zh) 一种用于分布式块存储集群间双活复制数据的方法和系统
WO2017071384A1 (zh) 报文处理的方法及装置
CN113535665B (zh) 一种主数据库与备数据库之间同步日志文件的方法及装置
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN111130896A (zh) 一种nfs故障的切换方法、系统及双控存储系统
CN115658245A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508

RJ01 Rejection of invention patent application after publication