CN109151028A - 一种分布式存储***容灾方法及装置 - Google Patents
一种分布式存储***容灾方法及装置 Download PDFInfo
- Publication number
- CN109151028A CN109151028A CN201810968427.9A CN201810968427A CN109151028A CN 109151028 A CN109151028 A CN 109151028A CN 201810968427 A CN201810968427 A CN 201810968427A CN 109151028 A CN109151028 A CN 109151028A
- Authority
- CN
- China
- Prior art keywords
- memory node
- client
- address
- virtual
- memory
- 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
Links
Classifications
-
- 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]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种分布式存储***容灾的方法及装置,当客户端所挂载的第一存储节点出现故障时,分布式存储***根据客户端发送的关于第一存储节点故障时的故障信息,判断出第一存储节点故障,则获取第一存储节点对应的第一虚拟IP地址,并从其余多个存储节点中选择一个存储节点即第二存储节点,将第一虚拟IP地址分配给***中的第二存储节点,从而使得客户端根据第一虚拟IP地址对第二存储节点进行读写,避免了第一存储节点故障而导致客户端业务终端的情况,提高客户端中业务的可靠性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种分布式存储***容灾方法及装置。
背景技术
随着云计算以及大数据技术的不断发展,信息数据以指数增长,这对存储设备的性能提出了进一步的要求。
现有的存储***采用集中的存储服务器存放所获取的数据,当面对海量数据时,集中式存储***成为了数据存储的瓶颈,不能满足大规模存储应用的需求。为满足大量数据的存储,分布式存储***被提出,其采用可扩展的***结构,利用多台存储服务器分担存储负荷,从而满足大规模存储应用。
在实际应用中,分布式存储***为每个客户端配置固定的存储服务器,该客户端利用固定的存储服务器进行数据读写操作。然而,当存储服务器出现故障时,客户端无法进行数据的读写操作,造成业务中断,影响业务的可靠性。
发明内容
有鉴于此,本申请实施例提供一种分布式存储***容灾的方法及装置,以解决现有技术中终端因存储服务器故障而导致业务中断的问题。
为解决上述问题,本申请实施例提供的技术方案如下:
本申请实施例第一方面,提供了一种分布式存储***容灾的方法,该方法可以包括:
接收客户端发送的故障信息;所述故障信息用于标识第一存储节点出现故障;所述第一存储节点为所述分布式存储***为所述客户端配置的存储节点;所述第一存储节点为所述分布式存储***中一个存储节点;
获取所述第一存储节点对应的第一虚拟IP地址;所述客户端存储有所述第一虚拟IP地址;
将所述第一虚拟IP地址分配给第二存储节点,以使得所述客户端根据所述第一虚拟IP地址对所述第二存储节点进行读写操作;所述第二存储节点为所述分布式存储***中另一存储节点;所述分布式存储***包括至少两个存储节点。
在一种可能的实现方式中,所述分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址,当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址。
在一种可能的实现方式中,所述当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址,具体包括:
根据所述客户端的数量以及所述存储节点的数量确定每个所述存储节点连接所述客户端的数量;
对于任一所述存储节点,将所述存储节点对应的虚拟IP地址发送给所述存储节点所要连接的所述客户端。
在一种可能的实现方式中,当所述第一存储节点恢复正常后,为所述第一存储节点重新分配虚拟IP地址。
在一种可能的实现方式中,所述接收所述客户端发送的故障信息之前,所述方法还包括:
接收所述客户端发送的域名挂载请求;所述域名挂载请求包括所述分布式存储***的域名;所述域名为所述分布式存储***预先为所述客户端配置;
根据所述域名解析获得所述第一虚拟IP地址;所述第一虚拟IP地址唯一对应所述第一存储节点;
将所述第一虚拟IP地址发送给所述客户端,以使所述客户端根据所述第一虚拟IP地址对所述第一存储节点进行读写操作。
本申请实施例第二方面,提供了一种分布式存储***容灾装置,该装置可以包括:
第一接收单元,用于接收客户端发送的故障信息;所述故障信息用于标识第一存储节点出现故障;所述第一存储节点为所述分布式存储***为所述客户端配置的存储节点;所述第一存储节点为所述分布式存储***中一个存储节点;
获取单元,用于获取所述第一存储节点对应的第一虚拟IP地址;所述客户端存储有所述第一虚拟IP地址;
第一分配单元,用于将所述第一虚拟IP地址分配给第二存储节点,以使得所述客户端根据所述第一虚拟IP地址对所述第二存储节点进行读写操作;所述客户端存储有所述第一虚拟IP地址;所述分布式存储***包括至少两个存储节点。
在一种可能的实现方式中,所述装置还包括:第二分配单元,用于当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址;所述分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址。
在一种可能的实现方式中,所述第二分配单元包括:
确定子单元,用于根据所述客户端的数量以及所述存储节点的数量确定每个所述存储节点连接所述客户端的数量;
发送子单元,用于对于任一所述存储节点,将所述存储节点对应的虚拟IP地址发送给所述存储节点所要连接的所述客户端。
在一种可能的实现方式中,所述装置还包括:第三分配单元,用于当所述第一存储节点恢复正常后,为所述第一存储节点重新分配虚拟IP地址。
在一种可能的实现方式中,所述装置还包括:
第二接收单元,用于在第一接收单元执行之前,接收所述客户端发送的域名挂载请求;所述域名挂载请求包括所述分布式存储***的域名;所述域名为所述分布式存储***预先为所述客户端配置;
解析单元,用于根据所述域名解析获得所述第一虚拟IP地址;所述第一虚拟IP地址唯一对应所述第一存储节点;
发送单元,用于本将所述第一虚拟IP地址发送给所述客户端,以使所述客户端根据所述第一虚拟IP地址对所述第一存储节点进行读写操作。
由此可见,本申请实施例具有如下有益效果:
本申请实施例当客户端所挂载的第一存储节点出现故障时,分布式存储***根据客户端发送的关于第一存储节点故障时的故障信息,判断出第一存储节点故障,则获取第一存储节点对应的第一虚拟IP地址,并从其余多个存储节点中选择一个存储节点即第二存储节点,将第一虚拟IP地址分配给***中的第二存储节点,从而使得客户端根据第一虚拟IP地址对第二存储节点进行读写,避免了第一存储节点故障而导致客户端业务终端的情况,提高客户端中业务的可靠性。
附图说明
图1为本申请实施例提供的示例性应用场景的框架示意图;
图2为本申请实施例提供的一种分布式存储***容灾方法的流程图;
图3为本申请实施例提供的一种客户端挂载存储节点的方法的流程图;
图4为本申请实施例提供的一种分布式存储***容灾装置的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请所提供的技术方案,下面先对本申请的背景技术进行说明。
发明人在对传统的客户端存储数据方法研究中发现,传统的存储策略为分布式存储***为每个客户端配置固定的存储节点,每个客户端对所分配的存储节点进行读写操作,当某客户端所分配的存储节点故障时,该客户端无法继续进行数据读写操作,导致业务终端,影响用户使用体验。另外,当某一存储节点配置多个客户端时,导致该存储节点负载较重,影响存储节点服务性能。
基于此,本申请实施例提供了一种分布式存储***的容灾方法,当客户端所对应的第一存储节点出现故障时,客户端将第一存储节点故障的信息发送给存储***,该存储***根据故障信息判断出第一存储节点,获取第一存储节点对应的第一虚拟IP地址,并从多个其余存储节点中选择第二存储节点,将第一虚拟IP地址分配给第二存储节点,由于客户端已存储有第一虚拟IP地址,因此,使得客户端通过第一虚拟IP地址对第二存储节点进行读写操作,避免业务中断,提升业务的可靠性和用户使用体验。另外,本申请实施例还提供了一种负载均衡机制,以便将多个客户端均衡地分配给存储***中多个存储节点。
参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图,其中,本申请实施例提供的存储容灾方法应用中分布式存储***30中,在具体实现时,分布式存储***30可以包括多个存储节点,从多个存储节点中选择一个存储节点作为主存储节点作为控制节点,以监控和配置***中其他存储节点,执行本申请实施例提供的方法。
如图1所示,在该应用场景下包括客户端10和客户端20,分布式存储***30包括第一存储节点301、第二存储节点303和第三存储节点304,其中,客户端10对应第一存储节点301,配置有第一存储节点301对应的第一虚拟IP地址,客户端20对应第三存储节点303,配置有第三存储节点303对应的第三虚拟IP地址。当客户端10检测到第一存储节点301出现故障时,向分布式存储***30发送故障信息,并获取第一存储节点301对应的第一虚拟IP地址,由于第三存储节点303为客户端202提供服务,为避免第三存储节点303的负载较重,将第一虚拟IP地址配置给第二存储节点302,从而使得客户端10根据第一虚拟IP地址对第二存储节点302进行数据读写操作,进行不影响客户端10业务。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,本申请实施例中的客户端10和客户端20可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)实现与第一存储节点301和第三存储节点303交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。还需要注意的是,本申请实施例中第一存储节点301、第二存储节点302、第三存储节点303可以是现有的、正在研发的或将来研发的、能够向用户提供信息读写功能的设备的一个示例,本申请的实施方式在此方面不受任何限制。
为便于理解本申请的技术方案,下面将结合附图对本申请实施例提供的一种分布式存储***容灾方法进行说明。
参见图2,该图为本申请实施例提供的一种分布式存储***容灾方法的流程图,如图2所示,该方法可以应用于分布式存储***中的主节点,该方法可以包括:
S201:接收客户端发送的故障信息。
本实施例中,当客户端监测到自身所连接的第一存储节点出现故障时,向分布式存储***中的主节点发送故障信息,以使得分布式存储***中的主节点获知第一存储节点出现故障。其中,第一存储节点为所述分布式存储***中一个存储节点,第一存储节点故障可以为第一存储节点损坏和/或第一存储节点宕机。故障信息用于标识第一存储节点出现故障;第一存储节点为分布式存储***为客户端配置的存储节点。
需要说明的是,主节点用于监控分布式存储***中每个存储节点以及为客户端分配所需的存储节点。在实际应用中,分布式存储***包括多个存储节点,通过某种机制从多个存储节点中选择一个主节点,用于管控其它多个存储节点,同时为需要建立连接的客户端分配存储节点,以使得客户端对所分配的客户端进行读写操作。其中,关于主节点为客户端分配存储节点的具体实现方式将在后续实施例进行说明。
S202:获取第一存储节点对应的第一虚拟IP地址。
当主节点通过客户端发送的故障信息判断出第一存储节点出现故障时,可以从预设配置信息中获取第一存储节点对应的第一虚拟IP地址。
在实际应用中,主节点可以为每个存储节点配置虚拟IP地址,并把该存储节点对应的虚拟IP地址发送给客户端,以使得客户端通过虚拟IP地址访问该虚拟IP地址对应的存储节点。在具体实现时,为满足多客户端对存储节点的访问,主节点可以为一个存储节点配置多个虚拟IP地址,而每个虚拟IP地址只对应一个存储节点,从而使得一个存储节点可以为多个客户端提供服务,以满足大量客户端的访问需求。
S203:将第一虚拟IP地址分配给第二存储节点,以使得客户端根据第一虚拟IP地址对所述第二存储节点进行读写操作。
本实施例中,主机点将第一存储节点对应的第一虚拟IP地址分配给第二存储节点,从而使得客户端利用第一虚拟IP地址访问第二存储节点,以完成读写操作。其中,第二存储节点为所述分布式存储***中另一存储节点。
在实际应用中,分布式存储***包括至少两个存储节点,当分布式存储***包括两个存储节点,第一存储节点出现故障时,主节点将第一存储节点的第一虚拟IP地址分配给第二存储节点,以使得客户端访问第二存储节点;当分布式存储***包括多个存储节点,当第一存储节点出现故障时,主节点从多个存储节点中选择负载较小的存储节点作为第二存储节点,从而使得每个存储节点所负载的客户端数量均衡,避免出现负载较大的存储节点。
另外,当第一存储节点故障恢复正常时,主节点重新为第一存储节点分配虚拟IP地址,以使得第一存储节点可以为其他客户端提供服务。
在具体实现时,主节点通过ctdb为第一存储节点分配虚拟IP地址,ctdb通过调用nfs命令返回当前正在执行业务的虚拟地址,然后主节点可以把未执行业务的一个或多个虚拟IP地址分配给第一存储节点。当nfs命令返回为空时,可以通过重复调用nfs命令的方式获取当前正在执行业务的虚拟地址。当nfs命令长时间返回为空时,可以将该错误记录在日志中,以便后续维护人员可以根据日志对存储节点进行维护。当然,在实际应用中,当第一存储节点恢复正常时,主节点通过ctdb直接将第一虚拟IP地址重新分配给第一存储节点,使得客户端重新访问第一存储节点。其中,第一虚拟IP地址从第二存储节点分配给第一存储节点过程中,可能会出现短暂的业务中断,但并不影响业务后续进行。
通过上述描述,本申请实施例中当客户端所挂载的第一存储节点出现故障时,分布式存储***根据客户端发送的关于第一存储节点故障时的故障信息,判断出第一存储节点故障,则获取第一存储节点对应的第一虚拟IP地址,并从其余多个存储节点中选择一个存储节点即第二存储节点,将第一虚拟IP地址分配给***中的第二存储节点,从而使得客户端根据第一虚拟IP地址对第二存储节点进行读写,避免了第一存储节点故障而导致客户端业务终端的情况,提高客户端中业务的可靠性以及分布式存储***的性能。
在实际应用中,客户端在访问分布式存储***中的存储节点之前,需要和存储节点之间建立通信连接,以便通过该通信连接对存储节点进行读写操作。基于此,本申请实施例提供了一种客户端与存储节点建立通信连接的方法,下面将结合附图对该方法进行说明。
参见图3,该图为本申请实施例提供的一种客户端与存储节点建立通信连接的方法流程图,如图3所示,该方法可以包括:
S301:接收客户端发送的域名挂载请求。
本实施例中,当某客户端需要进行数据读写操作时,向分布式存储***发送连接请求,该***将域名发送给客户端,然后客户端根据域名向分布式存储***发送域名挂载请求,以便分布式存储***中主节点根据域名挂载请求为该客户端配置虚拟IP地址,从而使得客户端将该虚拟IP地址对应的存储节点进行挂载。其中,域名挂载请求包括分布式存储***的域名,该域名为分布式存储***预先为客户端配置的。
S302:根据域名解析获得第一虚拟IP地址。
本实施例中,分布式存储***中主节点根据域名挂载请求中的域名进行域名解析,并根据预先配置的虚拟IP地址分配机制获得第一虚拟IP地址,该第一虚拟IP地址唯一对应第一存储节点,也就是说,当第一虚拟IP地址分配给客户端时,客户端可以根据该第一虚拟IP地址访问第一存储节点。
在一种可能的实现方式中,分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址,当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址。
在实际应用中,一个虚拟IP地址唯一对应一个存储节点,但一个存储节点可以预先配置多个虚拟IP地址,从而使得一个存储节点可以为多个客户端提供读写服务,满足不断增长的大量用户需求。当存在多个客户端需要访问分布式存储***中的存储节点时,主节点可以根据预先配置的负载均衡机制为每个客户端分配一个虚拟IP地址,从而使得每个客户端均可以根据所分配的虚拟IP地址访问该虚拟IP地址对应的存储节点。
在本实施例中,根据预先配置的负载均衡机制为每个客户端分配一个所述虚拟IP地址,具体包括:根据客户端的数量以及存储节点的数量确定每个存储节点连接客户端的数量;对于任一存储节点,将存储节点对应的虚拟IP地址发送给存储节点所要连接的客户端。
在具体实现时,首先确定即将接入分布式存储***的客户端数量,为保证每个存储节点负载均衡,根据客户端数量以及存储节点的数量确定每个存储节点所连接客户端的数量。
当客户端数量大于存储节点的数量时,客户端数量除以存储节点数量,当没有余数时,按照获得的商值为存储节点分配连接的客户端;当有余数时,先按照获得的商值为存储节点分配连接的客户端,然后再把余数对应的客户端数量依次分配给余数个存储节点,该余数个存储节点可以是按照存储节点的ID顺序选择出的存储节点。
当客户端数量小于存储节点的数量时,可以将客户端依次分配给客户端数量个存储节点,在具体实现时,所分配的存储节点可以为按照ID顺序选择的存储节点,也可以为按照负载从小到大的顺序选择的存储节点。具体选择存储节点的方式可以根据实际应用情况确定,本实施例在此不进行限定。
为便于理解,例如,分布式存储***包括3个存储节点,当前存在6个客户端需要访问分布式存储***,则按照负载均衡机制,每个存储节点分配2个客户端,在具体分配时,可以将客户端1和客户端2分配给存储节点1,客户端3和客户端4分配给存储节点2,客户端5和客户端6分配给存储节点3,或者,客户端1分配给存储节点1、客户端2分配给存储节点2、客户端3分配给存储节点3,客户端4分配给存储节点1、客户端5分配给存储节点2、客户端6分配给存储节点3。当存在11个客户端时,按照负载均衡机制,每个存储节点分配3个客户端,剩余2个客户端,在分配时,可以按照上述分配方式先为每个存储节点分配3个客户端,然后在将客户端10分配给存储节点1、客户端11分配给存储节点2。
S303:将第一虚拟IP地址发送给客户端,以使客户端根据第一虚拟IP地址对第一存储节点进行读写。
本实施例中,主节点将获取到的第一虚拟IP地址发送给客户端,该客户端接收到第一虚拟IP地址时,通过第一虚拟IP地址将第一存储节点进行挂载,从而对第一存储节点读写操作。
在实际应用中,当主节点利用负载均衡机制为每个存储节点分配对应的客户端后,将该存储节点对应的虚拟IP地址发送给客户端。在具体实现时,当存储节点对应多个客户端时,由于每个存储节点可以配置多个虚拟IP地址,则该存储节点对应的多个客户端所分配的虚拟IP地址可以相同,也就是,该存储节点对应的多个客户端通过相同的虚拟IP地址将该存储节点进行挂载。当然,也可以为每个客户端分配不同的虚拟IP地址,使得每个客户端通过自身所分配的虚拟IP挂载存储节点。
通过本实施例提供的方法,分布式存储***可以通过负载均衡策略将多个客户端均衡地分配给多个存储节点,有效地避免了单个存储节点负载较重所造成的性能瓶颈,提高了分布式存储***的性能。
基于上述方法实施例,本申请实施例还提供了一种分布式存储***容灾装置,下面将结合附图对该装置进行说明。
参见图4,该图为本申请实施例提供的一种分布式存储***容灾装置结构图,如图4所示,该装置可以包括:
第一接收单元401,用于接收客户端发送的故障信息;所述故障信息用于标识第一存储节点出现故障;所述第一存储节点为所述分布式存储***为所述客户端配置的存储节点;所述第一存储节点为所述分布式存储***中一个存储节点;
获取单元402,用于获取所述第一存储节点对应的第一虚拟IP地址;
第一分配单元403,用于将所述第一虚拟IP地址分配给第二存储节点,以使得所述客户端根据所述第一虚拟IP地址对所述第二存储节点进行读写操作;所述客户端存储有所述第一虚拟IP地址;所述分布式存储***包括至少两个存储节点。
在一种可能的实现方式中,所述装置还包括:第二分配单元,用于当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址;所述分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址。
在一种可能的实现方式中,所述第二分配单元包括:
确定子单元,用于根据所述客户端的数量以及所述存储节点的数量确定每个所述存储节点连接所述客户端的数量;
发送子单元,用于对于任一所述存储节点,将所述存储节点对应的虚拟IP地址发送给所述存储节点所要连接的所述客户端。
在一种可能的实现方式中,,所述装置还包括:第三分配单元,用于当所述第一存储节点恢复正常后,为所述第一存储节点重新分配虚拟IP地址。
在一种可能的实现方式中,所述装置还包括:
第二接收单元,用于在第一接收单元执行之前,接收所述客户端发送的域名挂载请求;所述域名挂载请求包括所述分布式存储***的域名;所述域名为所述分布式存储***预先为所述客户端配置;
解析单元,用于根据所述域名解析获得所述第一虚拟IP地址;所述第一虚拟IP地址唯一对应所述第一存储节点;
发送单元,用于本将所述第一虚拟IP地址发送给所述客户端,以使所述客户端根据所述第一虚拟IP地址对所述第一存储节点进行读写操作。
本申请实施例当客户端所挂载的第一存储节点出现故障时,分布式存储***根据客户端发送的关于第一存储节点故障时的故障信息,判断出第一存储节点故障,则获取第一存储节点对应的第一虚拟IP地址,并从其余多个存储节点中选择一个存储节点即第二存储节点,将第一虚拟IP地址分配给***中的第二存储节点,从而使得客户端根据第一虚拟IP地址对第二存储节点进行读写,避免了第一存储节点故障而导致客户端业务终端的情况,提高客户端中业务的可靠性。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式存储***的容灾方法,其特征在于,所述方法包括:
接收客户端发送的故障信息;所述故障信息用于标识第一存储节点出现故障;所述第一存储节点为所述分布式存储***为所述客户端配置的存储节点;所述第一存储节点为所述分布式存储***中一个存储节点;
获取所述第一存储节点对应的第一虚拟IP地址;所述客户端存储有所述第一虚拟IP地址;
将所述第一虚拟IP地址分配给第二存储节点,以使得所述客户端根据所述第一虚拟IP地址对所述第二存储节点进行读写操作;所述第二存储节点为所述分布式存储***中另一存储节点;所述分布式存储***包括至少两个存储节点。
2.根据权利要求1所述的方法,其特征在于,所述分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址,当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址。
3.根据权利要求2所述的方法,其特征在于,所述当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址,具体包括:
根据所述客户端的数量以及所述存储节点的数量确定每个所述存储节点连接所述客户端的数量;
对于任一所述存储节点,将所述存储节点对应的虚拟IP地址发送给所述存储节点所要连接的所述客户端。
4.根据权利要求1所述的方法,其特征在于,当所述第一存储节点恢复正常后,为所述第一存储节点重新分配虚拟IP地址。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述接收所述客户端发送的故障信息之前,所述方法还包括:
接收所述客户端发送的域名挂载请求;所述域名挂载请求包括所述分布式存储***的域名;所述域名为所述分布式存储***预先为所述客户端配置;
根据所述域名解析获得所述第一虚拟IP地址;所述第一虚拟IP地址唯一对应所述第一存储节点;
将所述第一虚拟IP地址发送给所述客户端,以使所述客户端根据所述第一虚拟IP地址对所述第一存储节点进行读写操作。
6.一种分布式存储***容灾装置,其特征在于,所述装置包括:
第一接收单元,用于接收客户端发送的故障信息;所述故障信息用于标识第一存储节点出现故障;所述第一存储节点为所述分布式存储***为所述客户端配置的存储节点;所述第一存储节点为所述分布式存储***中一个存储节点;
获取单元,用于获取所述第一存储节点对应的第一虚拟IP地址;所述客户端存储有所述第一虚拟IP地址;
第一分配单元,用于将所述第一虚拟IP地址分配给第二存储节点,以使得所述客户端根据所述第一虚拟IP地址对所述第二存储节点进行读写操作;所述客户端存储有所述第一虚拟IP地址;所述分布式存储***包括至少两个存储节点。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二分配单元,用于当存在多个所述客户端需要进行读写操作时,根据预先配置的负载均衡机制为每个所述客户端分配一个所述虚拟IP地址;所述分布式存储***中各个所述存储节点均对应有至少一个虚拟IP地址。
8.根据权利要求7所述的装置,其特征在于,所述第二分配单元包括:
确定子单元,用于根据所述客户端的数量以及所述存储节点的数量确定每个所述存储节点连接所述客户端的数量;
发送子单元,用于对于任一所述存储节点,将所述存储节点对应的虚拟IP地址发送给所述存储节点所要连接的所述客户端。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:第三分配单元,用于当所述第一存储节点恢复正常后,为所述第一存储节点重新分配虚拟IP地址。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在第一接收单元执行之前,接收所述客户端发送的域名挂载请求;所述域名挂载请求包括所述分布式存储***的域名;所述域名为所述分布式存储***预先为所述客户端配置;
解析单元,用于根据所述域名解析获得所述第一虚拟IP地址;所述第一虚拟IP地址唯一对应所述第一存储节点;
发送单元,用于本将所述第一虚拟IP地址发送给所述客户端,以使所述客户端根据所述第一虚拟IP地址对所述第一存储节点进行读写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810968427.9A CN109151028A (zh) | 2018-08-23 | 2018-08-23 | 一种分布式存储***容灾方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810968427.9A CN109151028A (zh) | 2018-08-23 | 2018-08-23 | 一种分布式存储***容灾方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109151028A true CN109151028A (zh) | 2019-01-04 |
Family
ID=64791258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810968427.9A Pending CN109151028A (zh) | 2018-08-23 | 2018-08-23 | 一种分布式存储***容灾方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109151028A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110391933A (zh) * | 2019-06-17 | 2019-10-29 | 浙江工商大学 | 一种嵌入式设备参数配置恢复方法以及嵌入式设备 |
CN110493060A (zh) * | 2019-08-28 | 2019-11-22 | 北京浪潮数据技术有限公司 | 一种虚拟ip分配方法及相关装置 |
CN110750213A (zh) * | 2019-09-09 | 2020-02-04 | 华为技术有限公司 | 一种硬盘管理方法及装置 |
CN111130899A (zh) * | 2019-12-30 | 2020-05-08 | 威创集团股份有限公司 | 一种分布式***的业务恢复方法及*** |
CN111209260A (zh) * | 2019-12-30 | 2020-05-29 | 创新科技术有限公司 | 基于分布式存储的nfs集群及其提供nfs服务的方法 |
CN111258958A (zh) * | 2020-01-10 | 2020-06-09 | 北京猎豹移动科技有限公司 | 一种数据获取方法、数据提供方法及装置 |
CN111625421A (zh) * | 2020-05-26 | 2020-09-04 | 云和恩墨(北京)信息技术有限公司 | 监控分布式存储***的方法及装置、存储介质和处理器 |
CN111787113A (zh) * | 2020-07-03 | 2020-10-16 | 北京大道云行科技有限公司 | 一种节点故障的处理方法、装置、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694863A (zh) * | 2012-05-30 | 2012-09-26 | 电子科技大学 | 基于负载调整和***容错的分布式存储***的实现方法 |
CN103475732A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟地址池的分布式文件***数据卷部署方法 |
CN104283710A (zh) * | 2014-08-18 | 2015-01-14 | 四川长虹电器股份有限公司 | 数据库集群的故障处理方法和管理服务器 |
CN105450775A (zh) * | 2015-12-28 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 用于dns的负载均衡方法和装置 |
CN107645421A (zh) * | 2017-11-09 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种分布式存储的iscsi协议实现方法 |
CN108259239A (zh) * | 2018-01-11 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种数据库高可用性保障方法和*** |
-
2018
- 2018-08-23 CN CN201810968427.9A patent/CN109151028A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694863A (zh) * | 2012-05-30 | 2012-09-26 | 电子科技大学 | 基于负载调整和***容错的分布式存储***的实现方法 |
CN103475732A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟地址池的分布式文件***数据卷部署方法 |
CN104283710A (zh) * | 2014-08-18 | 2015-01-14 | 四川长虹电器股份有限公司 | 数据库集群的故障处理方法和管理服务器 |
CN105450775A (zh) * | 2015-12-28 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 用于dns的负载均衡方法和装置 |
CN107645421A (zh) * | 2017-11-09 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种分布式存储的iscsi协议实现方法 |
CN108259239A (zh) * | 2018-01-11 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种数据库高可用性保障方法和*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110391933A (zh) * | 2019-06-17 | 2019-10-29 | 浙江工商大学 | 一种嵌入式设备参数配置恢复方法以及嵌入式设备 |
CN110493060A (zh) * | 2019-08-28 | 2019-11-22 | 北京浪潮数据技术有限公司 | 一种虚拟ip分配方法及相关装置 |
CN110750213A (zh) * | 2019-09-09 | 2020-02-04 | 华为技术有限公司 | 一种硬盘管理方法及装置 |
CN111130899A (zh) * | 2019-12-30 | 2020-05-08 | 威创集团股份有限公司 | 一种分布式***的业务恢复方法及*** |
CN111209260A (zh) * | 2019-12-30 | 2020-05-29 | 创新科技术有限公司 | 基于分布式存储的nfs集群及其提供nfs服务的方法 |
WO2021136370A1 (zh) * | 2019-12-30 | 2021-07-08 | 威创集团股份有限公司 | 一种分布式***的业务恢复方法及*** |
CN111258958A (zh) * | 2020-01-10 | 2020-06-09 | 北京猎豹移动科技有限公司 | 一种数据获取方法、数据提供方法及装置 |
CN111625421A (zh) * | 2020-05-26 | 2020-09-04 | 云和恩墨(北京)信息技术有限公司 | 监控分布式存储***的方法及装置、存储介质和处理器 |
CN111625421B (zh) * | 2020-05-26 | 2021-07-16 | 云和恩墨(北京)信息技术有限公司 | 监控分布式存储***的方法及装置、存储介质和处理器 |
CN111787113A (zh) * | 2020-07-03 | 2020-10-16 | 北京大道云行科技有限公司 | 一种节点故障的处理方法、装置、存储介质和电子设备 |
CN111787113B (zh) * | 2020-07-03 | 2021-09-03 | 北京大道云行科技有限公司 | 一种节点故障的处理方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109151028A (zh) | 一种分布式存储***容灾方法及装置 | |
CN109949111B (zh) | 电子票据标识分配方法、电子票据生成方法、装置及*** | |
JP7127010B2 (ja) | リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム | |
CN108023967B (zh) | 一种数据平衡方法、装置及分布式存储***中的管理设备 | |
CN104735108B (zh) | 一种使用云桌面的方法、装置和云桌面*** | |
CN105187464B (zh) | 一种分布式存储***中的数据同步方法、装置及*** | |
CN106790629A (zh) | 数据同步装置及其实现数据同步的方法、客户端访问*** | |
CN108023953B (zh) | Ftp服务的高可用实现方法和装置 | |
CN107656937B (zh) | 用于实现读写数据一致性的方法和装置 | |
CN109218100A (zh) | 分布式对象存储集群及其请求响应方法、***和存储介质 | |
CN106357449A (zh) | 一种zedis分布式缓存方法 | |
CN113806300B (zh) | 数据存储方法、***、装置、设备及存储介质 | |
CN112087401B (zh) | 分布式存储中实现服务质量的方法和装置 | |
CN109446062B (zh) | 云计算服务中的软件调试的方法和装置 | |
CN110633046A (zh) | 一种分布式***的存储方法、装置、存储设备及存储介质 | |
CN107172214A (zh) | 一种具有负载均衡的服务节点发现方法及装置 | |
CN110244901A (zh) | 任务分配方法及装置、分布式存储*** | |
CN111078516A (zh) | 分布式性能测试方法、装置、电子设备 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
CN110740155A (zh) | 分布式***中的请求处理方法及装置 | |
CN108200151A (zh) | 一种分布式存储***中ISCSI Target负载均衡方法和装置 | |
CN107092556B (zh) | 测试方法、装置及设备 | |
CN107491551B (zh) | 一种分布式文件***实现客户端访问的方法及装置 | |
CN115277735B (zh) | 数据的处理方法和装置、电子设备及存储介质 | |
US10481963B1 (en) | Load-balancing for achieving transaction fault tolerance |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190104 |