一种双机存储系统及方法技术方案

技术编号:14421069 阅读:90 留言:0更新日期:2017-01-12 23:25
本发明专利技术公开了一种双机存储系统及方法。所述系统的管理节点由第一和第二管理节点组成,所述第一和第二管理节点互为镜像,用于存储元数据信息以及数据块版本信息,并监听客户端请求,根据客户端请求读取数据提供给客户端。所述方法,包括读操作、写操作和同步操作。本发明专利技术提出的一种双机存储系统及方法,相对与现有的三个以上管理节点,本发明专利技术框架结构简单,不再依靠额外的设备来维持数据一致性。双机系统中的两个管理节点是完全独立的。当一个管理节点失效时,另外一个管理节点可以继续对外提供有限的读写服务,可避免管理节点的单点故障问题,保证了存储系统的可靠性,提高了系统的可用性。

【技术实现步骤摘要】

本专利技术属于存储
,更具体地,涉及一种双机存储系统及方法
技术介绍
随着信息技术的飞速发展,数据也呈现爆炸性的增长趋势。现在很多应用领域对存储系统的容错性方面有着很高的要求,如金融、军事、工业界、航空等。在这些应用环境中,很多因素会对存储系统的容错性带来极大的威胁。一旦引起存储节点部分甚至整体失效,便会增加服务不可用甚至是数据丢失的风险。因此,提高存储系统的容错能力是一个很关键的问题。常见的存储系统,例如分布式存储系统中,其节点错误可分为两类,一类是管理节点失效,二是数据节点失效。而对存储系统的访问将不可避免的途经管理节点,加上管理节点存在单点故障问题,一旦管理节点失效,整个存储系统极可能陷入瘫痪,无法对外提供服务。对此,已有研究者提出高可用性方案来保证管理节点的容错能力,降低系统中的可靠性与可用性风险。现有的管理节点的容错技术主要是以下三种:第一种,元数据备份法。该方法的主要思想是管理节点将元数据信息保存到多个目录以达到容错的目的。通常的做法,选择一个本地目录、一个远程目录,这两个目录通过NFS进行共享。当管理节点发生故障时,启动一个备用机器的管理节点,加载远程目录中的元数据信息,提供服务。第二种,第二管理节点法。该方法的目的就是对文件系统内存中的元数据进行检查,在固定的一段时间或者当日志文件的大小达到了设定的大小时,就将日志文件记录的内容更新到元数据镜像文件中,从而避免日志文件无限制的增加。第三种,热备管理节点法。该方法提供了一个热备管理节点,它备份主管理节点的所有数据,随时可以顶替主节点功能。主管理节点包括响应客户端请求,备份数据节点数据等功能。这两个管理节点的元数据会保持一致,当主管理节点发生故障宕机时,热备管理节点切换状态且切换的时间很短,这就保证了系统可靠性。上述的第一种和第二种方法是基于管理节点重启恢复服务的方式,只是减少启动时间,并没有做到热备。上述的第三种方法虽然突破了重启限制,但其依赖于独立的NFS服务器来保障两个管理节点的元数据一致性,并且热备管理节点状态的切换需要人工介入。
技术实现思路
本专利技术的目的在于提供一种双机存储系统和方法,在保证存储系统的可靠性并提高系统可用性的同时,维持双机系统的数据一致性。该方法在读写过程中依据双机数据版本号的不同状态来区分数据的一致和不一致情况。为实现上述目的,按照本专利技术的一个方面,提供了一种双机存储系统,所述双击存储系统的管理节点由第一和第二管理节点组成,所述第一和第二管理节点互为镜像,用于存储元数据信息以及数据块版本信息,并监听客户端请求,根据客户端请求读取数据提供给客户端。优选地,所述双机存储系统,其第一管理节点,还用于存储第二管理节点的数据块版本信息。优选地,所述双机存储系统,其第二管理节点,还用于存储第一管理节点的数据块版本信息。优选地,所述双机存储系统,其还包括用于在本地文件系统存储数据的第一和第二数据节点;所述第一数据节点用于向第一管理节点提供数据;所述第二数据节点用于向第二管理节点提供数据。优选地,所述双机存储系统,其版本信息包括本地数据版本号和异地数据版本号,所述本地数据块版本号为第一或第二管理节点上该数据块本地保存版本的对应编号;所述异地数据块版本号为第一或第二管理节点上该数据块在相对的外部管理节点即第二或第一管理节点上保存版本的对应编号。优选地,所述双机存储系统,其本地版本号可能值为“0”和“-1”,其中“0”表示“本地数据块写操作成功”,“-1”表示“本地数据块写操作失败”;“0”、“-1”和“?”,其中“0”表示“接收到外部管理节点的写成功信息”,“-1”表示“接收到外部管理节点的写失败信息”,“?”表示“没有接收到外部管理节点的反馈报告”。按照本专利技术的另一方面,提供了一种双机存储方法,包括以下步骤:读操作:本地管理节点接收来自客户端的读请求,核对双方管理节点的版本状态,判断是否需要数据同步。处理读请求后,根据读请求完成请求给客户端反馈报告。写操作:本地管理节点接收来自客户端的写请求,核对双方管理节点的版本对状态,判断是否需要数据同步。处理写请求后,给客户端和外部管理节点反馈报告,并根据写请求完成情况和外部的反馈报告完成本地版本对的更新。同步:每次数据块的读写操作之前都会核对双方管理节点的版本对的状态,发现需要同步时,需要等待一次同步的完成后才能执行读写操作。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:1、本专利技术提出的一种双机存储系统及方法,相对与现有的三个以上管理节点,本专利技术框架结构简单,不再依靠额外的设备来维持数据一致性。双机系统中的两个管理节点是完全独立的。当一个管理节点失效时,另外一个管理节点可以继续对外提供有限的读写服务,可避免管理节点的单点故障问题,保证了存储系统的可靠性,提高了系统的可用性。2、本专利技术提出的一种双机系统的管理方法,每次通过比较双机数据版本号的状态,来区分数据的一致和不一致情况,从而维持了双机系统的数据一致性。附图说明图1是本专利技术实施例提供的双机存储系统的框架图;图2是本专利技术实施例提供的双机存储方法的写请求的流程图;其中,图2a、图2b和图2c分别为3中情况写操作的流程;图3是本专利技术实施例提供的双机存储方法读请求下本地管理节点的操作步骤。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术提供的双机存储系统,包括:第一和第二管理节点,所述第一和第二管理节点互为镜像,用于存储元数据信息以及数据块版本信息,并监听客户端请求,根据客户端请求读取数据提供给客户端;所述第一管理节点,还用于存储第二管理节点的数据块版本信息;所述第二管理节点,还用于存储第一管理节点的数据块版本信息;所述系统,还包括用于在本地文件系统存储数据的第一和第二数据节点;所述第一数据节点用于向第一管理节点提供数据;所述第二数据节点用于向第二管理节点提供数据。所述数据块版本信息为版本号,包括本地数据块版本号和异地数据块版本。所述本地数据块版本号为第一或第二管理节点上该数据块本地保存版本的对应编号;所述异地数据块版本号为第一或第二管理节点上该数据块在相对的外部管理节点即第二或第一管理节点上保存版本的对应编号。具体例如,数据块保存在数据节点A/B上的同时会在对应的管理节点A/B上记录着一对数值版本号,形如(vera,verb)。其中vera为本地数据块版本,表示本地数据块的版本信息,verb为异地数据块版本,表示同一数据块对应的外部管理节点的版本信息。vera可能出现两种值:“0”和“-1”,其中“0”表示“本地数据块写操作成功”,“-1”表示“本地数据块写操作失败”;verb可能出现三种值:“0”、“-1”和“?”,其中“0”表示“接收到外部管理节点的写成功信息”,“-1”表示“接收到外部管理节点的写失败信息”,“?”表示“没有接收到外部管理节点的反馈报告”。第一管理节点,节点A中记录形式为(Avera,Averb),第二管理节点,节点B中记录形式为(Bver本文档来自技高网
...
一种双机存储系统及方法

【技术保护点】
一种双机存储系统,其特征在于,所述双击存储系统的管理节点由第一和第二管理节点组成,所述第一和第二管理节点互为镜像,用于存储元数据信息以及数据块版本信息,并监听客户端请求,根据客户端请求读取数据提供给客户端。

【技术特征摘要】
1.一种双机存储系统,其特征在于,所述双击存储系统的管理节点由第一和第二管理节点组成,所述第一和第二管理节点互为镜像,用于存储元数据信息以及数据块版本信息,并监听客户端请求,根据客户端请求读取数据提供给客户端。2.如权利要求1所述的双机存储系统,其特征在于,所述第一管理节点,还用于存储第二管理节点的数据块版本信息。3.如权利要求1所述的双机存储系统,其特征在于,所述第二管理节点,还用于存储第一管理节点的数据块版本信息。4.如权利要求1所述的双机存储系统,其特征在于,还包括用于在本地文件系统存储数据的第一和第二数据节点;所述第一数据节点用于向第一管理节点提供数据;所述第二数据节点用于向第二管理节点提供数据。5.如权利要求1所述的双机存储系统,其特征在于,所述版本信息包括本地数据版本号和异地数据版本号,所述本地数据块版本号为第一或第二管理节点上该数据块本地保存版本的对应编号;所述异地数据块版本号为第一或第二管理节点上该数据块在相对的外部管理节点即第二或第一管理节点上...

【专利技术属性】
技术研发人员:万胜刚朱铭方俊涛
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1