故障接口节点接管方法及系统的制作方法

文档序号:7864931阅读:332来源:国知局
专利名称:故障接口节点接管方法及系统的制作方法
故障接口节点接管方法及系统技术领域
本发明基本上涉及网络领域,更具体地来说,涉及一种故障接口节点接管方法及系统。
背景技术
互联网行业的快速速度,大块文件存储、海量文件存储和网络存储的需求与日俱增,促进了云存储的迅速发展。云存储可实现云端海量数据的高效存储,如何保证云存储系统的可靠性,对于保证云存储的高可用性有着重大意义。
当前主流的云存储系统一般采用静态的可靠性保障技术——双机热备份技术。双机热备份技术是一种软硬件结合的高容错的应用方案,该方案由两台服务器系统和一个外接的共享磁盘阵列及相应的双机热备份软件组成。双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。双机热备技术在当主机发生故障时,备份机不能实现平滑接管, 不具备负载均衡、并行处理的能力。发明内容
为了克服上述缺陷,本发明提出了一种故障接口节点接管方法及系统,解决了如何更好地进行故障接口节点接管的技术问题。
根据本发明的一个方面,公开了一种故障接口节点接管方法,包括步骤SI :获取所述故障接口节点的虚拟IP地址和正常接口节点的物理地址;以及步骤S2 :根据虚拟IP 地址分配策略在所述正常接口节点中找到用于接管所述故障接口节点的接管接口节点,将所述虚拟IP地址分配给所述接管接口节点;以及步骤S3 :通过ARP欺骗方式使得所述虚拟 IP地址对所述接管接口节点生效。
优选地,所述虚拟IP地址分配策略为轮询分配策略,其中,所述接管接口节点为所述正常接口节点中循环依次排列的正常接口节点。
优选地,所述虚拟IP地址分配策略为权重分配策略,其中,所述接管接口节点为所述正常接口节点中预定权重值最高的正常接口节点。
优选地,所述虚拟IP地址分配策略为哈希分配策略,其中,所述接管接口节点为所述正常接口节点中由所述虚拟IP地址进行哈希计算所得到的正常接口节点。
优选地,所述步骤S3包括将所述虚拟IP地址分配给所述接管接口节点,并且所述接管接口节点广播ARP应答包,其中,所述ARP应答包对应于所述虚拟IP地址和所述接管接口节点的物理地址。
根据本发明的另一方面,提供了一种故障接口节点接管系统,所述系统包括故障接口节点和正常接口节点,其中,所述系统还包括故障接口节点虚拟IP地址获取模块,用于获取所述故障接口节点的虚拟IP地址;正常接口节点获取模块,用于获取所述正常接口节点;虚拟IP地址分配模块,用于根据虚拟IP地址分配策略在所述正常接口节点中找到用于接管所述故障接口节点的虚拟IP地址的接管接口节点,并且将所述虚拟IP地址分配给所述接管接口节点;以及ARP欺骗模块,用于通过ARP欺骗方式使得所述虚拟IP地址对所述接管接口节点生效。
优选地,所述虚拟IP地址分配策略为轮询分配策略,其中,所述接管接口节点为所述正常接口节点中循环依次排列的正常接口节点。
优选地,所述虚拟IP地址分配策略为权重分配策略,其中,所述接管接口节点为所述正常接口节点中预定权重值最高的正常接口节点。
优选地,所述虚拟IP地址分配策略为哈希分配策略,其中,所述接管接口节点为所述正常接口节点中由所述虚拟IP地址进行哈希计算所得到的正常接口节点。
优选地,所述ARP欺骗模块进一步用于获取虚拟IP地址分配策略,并且根据所述虚拟IP地址分配策略得到用于接管所述故障接口虚拟IP地址的接管接口节点,以及所述虚拟IP地址分配给所述接管接口节点,并且所述接管接口节点广播ARP应答包,其中,所述 ARP应答包对应于所述虚拟IP地址和所述接管接口节点的物理地址。
通过本发明所述公开的故障接口节点接管方法及系统,能够更平滑地进行故障接口节点接管。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图I是根据本发明的一个方面的一种故障接口节点接管方法的流程图2是根据本发明的另一个方面的一种故障接口节点接管系统的示意图3是根据本发明的故障接口节点接管系统的示例性示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图I是根据本发明的一个方面的一种故障接口节点接管方法的流程图。在图I 中
步骤SlOO :当系统中有接口节点(例如,服务器)出现故障时,获取该故障接口节点的虚拟IP地址和没有发生故障的正常接口节点的物理地址。
步骤S102 :根据虚拟IP地址分配策略在多个正常接口节点中找到用于接管故障接口节点的接管接口节点,将虚拟IP地址分配给该接管接口节点。其中,虚拟IP地址分配策略用于在多个正常接口节点中找到一个或者多个作为接管接口节点,从而将故障接口节点的虚拟IP地址分配给该接管接口节点。
具体来说,虚拟IP地址分配策略包括但不限于轮询分配策略、权重分配策略和哈希分配策略。
在轮询分配策略中,存储系统依次按顺序选择正常接口节点作为接管接口节点。 例如,将虚拟IP顺序循环分配到每个正常接口节点上。该轮询分配策略可以作为存储系统默认的虚拟IP分配策略。
在权重分配策略中,接管接口节点为正常接口节点中预定权重值最高的正常接口节点。例如,可以预先将多个接口节点按照一定策略分配权重值(比如性能越强的接口节点权重值越高等等)。当某个接口节点出现故障时,可以在正常的接口节点中选择该预定权重值最高的接口节点作为接管接口节点。
在哈希分配策略中,接管接口节点为正常接口节点中由虚拟IP地址进行哈希计算所得到的正常接口节点。其中,该哈希计算策略是预先设定的,通过所获取的发生故障的接口节点的虚拟IP地址可以计算出使用哪个或者哪几个正常接口节点来接管该故障接口节点。
步骤S104 :通过ARP欺骗方式使得虚拟IP地址对接管接口节点生效,从而使得该接管接口节点能够平滑接管该故障接口节点,维持系统的正常运行。该步骤进一步包括将虚拟IP地址分配给接管接口节点,并且接管接口节点广播ARP应答包,其中,ARP应答包对应于虚拟IP地址和接管接口节点的物理地址。
ARP是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式表格方式和非表格方式。ARP具体说来就是将网络层地址解析为数据连接层的MAC地址。ARP原理某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个 ARP请求报文(携带主机A的IP地址Ia和物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文,其中就包含有B的MAC地址。A接收到B的应答后,就会更新本地的ARP缓存,接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此, 本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。ARP协议并不只在发送了 ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即 IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C。这就是一个简单的ARP欺骗。为了实现基于ARP欺骗的IP接管,当接口节点被重新分配了新的虚拟IP的时候,需要立即广播一个ARP应答包,并在短时间内频繁的发送ARP应答包,达到虚拟IP平滑接管的效果。
优选地,本故障接口节点接管方法可以应用于存储系统。
通过本实施例所描述的故障接口节点接管方法,可以使得没有发生故障的接口节点平滑地接管发生故障的接口节点,从而使得存储系统能够应对故障,正常运行。
图2是根据本发明的另一个方面的一种故障接口节点接管系统100的示意图。故障接口节点接管系统100包括虚拟IP地址获取模块102、物理地址获取模块104、虚拟IP 地址分配模块106和ARP欺骗模块108。其中,虚拟IP地址获取模块102用于获取故障接口节点的虚拟IP地址。物理地址获取模块104用于获取正常接口节点的物理地址。虚拟 IP地址分配模块106用于根据虚拟IP地址分配策略在正常接口节点中找到用于接管故障接口节点的接管接口节点,并且将虚拟IP地址分配给接管接口节点。ARP欺骗模块108用于通过ARP欺骗方式使得虚拟IP地址对接管接口节点生效。其中,虚拟IP地址分配策略用于在多个正常接口节点中找到一个或者多个作为接管接口节点,从而将故障接口节点的虚拟IP地址分配给该接管接口节点。具体来说,虚拟IP地址分配策略包括但不限于轮询分配策略、权重分配策略和哈希分配策略。在轮询分配策略中,存储系统依次按顺序选择正常接口节点作为接管接口节点。例如,将虚拟IP顺序循环分配到每个正常接口节点上。该轮询分配策略可以作为存储系统默认的虚拟IP分配策略。在权重分配策略中,接管接口节点为正常接口节点中预定权重值最高的正常接口节点。例如,可以预先将多个接口节点按照一定策略分配权重值(比如性能越强的接口节点权重值越高等等)。当某个接口节点出现故障时,可以在正常的接口节点中选择该预定权重值最高的接口节点作为接管接口节点。在哈希分配策略中,接管接口节点为正常接口节点中由虚拟IP地址进行哈希计算所得到的正常接口节点。其中,该哈希计算策略是预先设定的,通过所获取的发生故障的接口节点的虚拟IP地址可以计算出使用哪个或者哪几个正常接口节点来接管该故障接口节点。在一个优选实施例中,ARP欺骗模块108进一步用于获取虚拟IP地址分配策略,并且根据虚拟IP地址分配策略得到用于接管故障接口地址的接管接口节点的物理地址,以及虚拟IP地址分配给接管接口节点,并且接管接口节点广播ARP应答包,其中,ARP应答包对应于虚拟IP地址和接管接口节点的物理地址。优选地,本故障接口节点接管系统可以应用于存储系统。通过本实施例所描述的故障接口节点接管系统,可以使得没有发生故障的接口节点平滑地接管发生故障的接口节点,从而使得存储系统能够应对故障,正常运行。图3是根据本发明的故障接口节点接管系统的示例性示意图。如图3所示,由并行文件系统和多个接口节点组成,接口节点运行并行文件系统客户端和存储系统代理程序,并作为存储的访问点,整个存储系统配置一系列虚拟IP,将这些虚拟IP平均分配到每个接口节点上,客户端就可以通过虚拟IP连接到接口节点进行存储操作。并行文件系统客户端保证了所有接口节点的存储数据的一致性。存储系统代理程序用来实现虚拟IP的分配等功能。当一个接口节点发生故障失效后,存储系统会将此接口节点上的虚拟IP交由其他正常可用的接口节点接管,若客户端正通过失效接口节点的虚拟IP连接存储系统进行,客户端不会感觉到接口节点发生故障,可以正常使用,达到虚拟IP的平滑接管。其中,存储访问接入节点的高可用需要下面的两方面来保证第一,并行文件系统客户端所有接口节点都运行同一个并行文件系统的客户端,客户端的数据读写都在同一个并行文件系统中进行,保证了存储数据的一致性。第二,存储系统代理程序当一个接口节点失效后,存储系统与该接口节点的代理程序失去联系,存储系统立即将此接口节点的虚拟IP分配到其他健康的接口节点上,然后被分配的接口节点使用ARP欺骗的方法达到虚拟IP平滑接管的效果。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种故障接口节点接管方法,其特征在于,包括 步骤SI :获取所述故障接口节点的虚拟IP地址和正常接口节点;以及 步骤S2 :根据虚拟IP地址分配策略在所述正常接口节点中找到用于接管所述故障接口节点的接管接口节点,将所述虚拟IP地址分配给所述接管接口节点;以及 步骤S3 :通过ARP欺骗方式使得所述虚拟IP地址对所述接管接口节点生效。
2.根据权利要求I所述的故障接口节点接管方法,其特征在于,所述虚拟IP地址分配策略为轮询分配策略,其中,所述接管接口节点为所述正常接口节点中循环依次排列的正常接口节点。
3.根据权利要求I所述的故障接口节点接管方法,其特征在于,所述虚拟IP地址分配策略为权重分配策略,其中,所述接管接口节点为所述正常接口节点中预定权重值最高的正常接口节点。
4.根据权利要求I所述的故障接口节点接管方法,其特征在于,所述虚拟IP地址分配策略为哈希分配策略,其中,所述接管接口节点为所述正常接口节点中由所述虚拟IP地址进行哈希计算所得到的正常接口节点。
5.根据权利要求I所述的故障接口节点接管方法,其特征在于,所述步骤S3包括 将所述虚拟IP地址分配给所述接管接口节点,并且所述接管接口节点广播ARP应答包,其中,所述ARP应答包对应于所述虚拟IP地址和所述接管接口节点的物理地址。
6.一种故障接口节点接管系统,所述系统包括故障接口节点和正常接口节点,其特征在于,所述系统还包括 故障接口节点虚拟IP地址获取模块,用于获取所述故障接口节点的虚拟IP地址; 正常接口节点获取模块,用于获取所述正常接口节点; 虚拟IP地址分配模块,用于根据虚拟IP地址分配策略在所述正常接口节点中找到用于接管所述故障接口节点的接管接口节点,并且将所述虚拟IP地址分配给所述接管接口节点;以及 ARP欺骗模块,用于通过ARP欺骗方式使得所述虚拟IP地址对所述接管接口节点生效。
7.根据权利要求6所述的故障接口节点接管系统,其特征在于,所述虚拟IP地址分配策略为轮询分配策略,其中,所述接管接口节点为所述正常接口节点中循环依次排列的正常接口节点。
8.根据权利要求6所述的故障接口节点接管系统,其特征在于,所述虚拟IP地址分配策略为权重分配策略,其中,所述接管接口节点为所述正常接口节点中预定权重值最高的正常接口节点。
9.根据权利要求6所述的故障接口节点接管系统,其特征在于,所述虚拟IP地址分配策略为哈希分配策略,其中,所述接管接口节点为所述正常接口节点中由所述虚拟IP地址进行哈希计算所得到的正常接口节点。
10.根据权利要求6所述的故障接口节点接管系统,其特征在于,所述ARP欺骗模块进一步用于获取虚拟IP地址分配策略,并且根据所述虚拟IP地址分配策略得到用于接管所述故障接口虚拟IP地址的接管接口节点,以及所述虚拟IP地址分配给所述接管接口节点,并且所述接管接口节点广播ARP应答包,其中,所述ARP应答包对应于所述虚拟IP地址和所述接管接口节点的物理地址。
全文摘要
本发明公开了一种存储系统中的故障接口节点接管方法,包括步骤S1获取故障接口节点的虚拟IP地址和正常接口节点;以及步骤S2根据虚拟IP地址分配策略在正常接口节点中找到用于接管故障接口节点的接管接口节点,将虚拟IP地址分配给接管接口节点;以及步骤S3通过ARP欺骗方式使得虚拟IP地址对接管接口节点生效。此外,本发明还公开了一种故障接口节点接管系统,系统包括故障接口节点和正常接口节点,系统还包括故障接口节点虚拟IP地址获取模块、正常接口节点获取模块、虚拟IP地址分配模块和ARP欺骗模块。通过本发明公开的故障接口节点接管方法及系统,能够平滑地进行故障接口节点接管。
文档编号H04L29/08GK102932500SQ20121044266
公开日2013年2月13日 申请日期2012年11月7日 优先权日2012年11月7日
发明者谢莹莹, 郭庆, 班军成, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1