一种集群文件系统中文件冗余存储方法技术方案

技术编号:6060468 阅读:268 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种集群文件系统中文件冗余存储方法,在保证数据可靠性和可用性的前提下,数据可以在不同存储状态中动态切换。在系统存储资源紧张时,数据可以从镜像方式转化为冗余校验方式存储,减少了冗余空间占用,提高空间利用率。同时数据以镜像方式进行写更新,对于客户端的写请求不必考虑如何进行冗余校验方式的冗余计算及冗余更新问题,新写的数据块镜像到冗余存储管理设备上,写性能相比冗余校验方式得到大幅度提高。另外当存储节点出现故障时可以用镜像和冗余校验结合的方式来进行恢复操作来减少计算量,并改善数据恢复的效率。

File redundancy storage method in cluster file system

The invention provides a file redundancy storage method in a cluster file system, which can dynamically switch data in different storage states under the premise of ensuring data reliability and availability. When the system storage resources are tight, the data can be transformed from mirror mode to redundancy check mode, which can reduce the space occupied by the redundancy and improve the space utilization. At the same time, the data in the mirror mode write update, for write requests from the client does not need to consider how to carry out the redundant calculation and redundant parity update problems, to write new data block image redundancy storage management device, write performance compared to the redundancy check get greatly improved. In addition, when the storage node fails, the combination of mirror image and redundancy check can be used to reduce the computational complexity and improve the efficiency of data recovery.

【技术实现步骤摘要】

本专利技术涉及共享存储系统的数据的安全保障机制,特别涉及集群系统中文件的冗 余存储方法。
技术介绍
在以数据为中心的信息时代,如何妥善有效地保护数据是存储系统的核心问题之 一。人们可以忍受计算机异常宕机、所有应用程序重新启动甚至硬件损坏,但是他们要求信 息永远不会丢失。存储系统最重要的任务是不论发生什么故障,都要保证存储的信息不能 丢失,并且尽力不间断地提供高质量的数据服务。数据信息的毁坏和丢失不但影响到企业 的业务连续性,甚至极大地威胁到一个机构的生存。为了保证存储在磁盘中的数据的安全性,本领域的技术人员提出了独立冗余磁 盘阵列(RAID)技术,该技术将多个磁盘组合成一个磁盘阵列,并在各个磁盘中存储其它 磁盘的冗余信息,使得当阵列中的某个磁盘发生故障后,可以根据阵列中其它磁盘所存 储的冗余信息恢复故障磁盘上的数据。RAID根据实现原理可分为不同的级别,分别用 RAID0-RAID7表示。不同级别的RAID系统的工作模式存在较大的差异,比较有代表性的是 采用镜像方式的RAIDl和采用冗余校验方式的RAID5。在网络存储系统中同样可以采用类似上述的RAID的技术,多个存储节点组成一 个网络RAID系统。但如果采用类似RAIDl的镜像方式,尽管读写性能高,但是空间利用率 只有50%,整个系统的性价比反而较低。如果采用类似RAID5的冗余校验方式,增加了空间 利用率,但是写性能尤其是小写性能较低。如何为高性能、大容量的基于网络存储的集群文件系统,提供高效的数据高可靠 和高可用保障机制,即保持优良的性能并且减少冗余空间的损耗,这个问题已经成为一个 研究热点。目前集群存储厂商Panasas公司的并行文件系统PanFS实现了文件级冗余存储 机制,小文件使用类似RAIDl的镜像方式存放,而大文件采用类似RAID5的冗余校验方式存 放,但PanFS依然无法解决上述传统镜像和冗余校验技术所不能解决的问题。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,为高性能、大容量的基于网络存储 的集群文件系统,提供高效的数据高可靠和高可用保障机制,在保持优良的性能的同时减 少冗余空间的损耗。本专利技术的目的是通过以下技术方案实现的本专利技术提供了,其中,在所述文件系统中, 文件以数据片的方式存放在网络存储节点,包括以下存储状态状态1,数据片以镜像方式 存放;状态2,数据片以冗余校验方式存放;所述方法包括以下步骤读取处于状态1的文件的各数据片;进行冗余计算,生成冗余校验片;将冗余校验片写入文件;释放文件各镜像数据片的存储空间;修改状态1为状态2。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,存储状态2所采 用的冗余校验方式是奇偶校验。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,所述方法的步骤 是由文件系统中作为客户端的应用服务器执行的。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,文件的存储状态 还包括状态3,其中原版本数据片以冗余校验方式存放,写更新所生成的新版本数据片以镜 像方式存放;所述方法还包括以下步骤保持被写更新的处于状态2的原版本数据片不变,生成新版本数据片;将新版本数据片写入相应的存储节点,同时做镜像备份到另一存储节点;修改状态2为状态3。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,还包括以下写更 新步骤对以镜像方式存放的数据片,同时修改存放在两个存储节点的数据片及其镜像;对以冗余校验方式存放的数据片,保持以冗余校验方式存放的原版本数据片不 变,生成新版本数据片;将新版本数据片写入相应的存储节点,同时做镜像备份到另一存储 节点。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,还包括以下步 骤依次遍历处于状态3的文件的镜像数据片,遇到空洞,将原版本数据片填充写入 新版本数据片和镜像数据片;将原版本数据片替换为新版本数据片;释放新版本数据片和冗余校验数据片的存储空间;修改状态3为1。根据本专利技术优选实施例的集群文件系统中的文件冗余存储方法,还包括数据片出 错时的恢复步骤状态1时,用对应节点上的数据片镜像恢复出错数据片;状态2时,进行冗余计算恢复出错的数据片;状态3时,如果出错的是原版本数据片,则进行冗余计算恢复出错数据片;如果出 错的是新版本数据片或者其镜像数据片,则用对应节点上的数据片镜像恢复出错数据片。与现有技术相比,根据本专利技术具体实施例提供的集群文件系统中的文件冗余存储 方法,数据可以在不同存储状态中动态切换。对于客户端的写操作,数据以镜像方式进行写 更新,对于客户端的写请求不必考虑如何进行冗余计算及冗余更新问题,新写的数据块镜 像到冗余存储管理设备上。避免了冗余校验方式中小写更新导致的写性能低下问题,写性 能相比现有冗余校验方式得到大幅度提高。同时,非写活跃性质的数据在系统存储资源紧 张时,可以转化为冗余校验方式存储,在保证数据可靠性和可用性的前提下,减少了冗余空间占用,提高空间利用率。另外当存储节点出现故障时可以用镜像方式和冗余校验结合的 方式来减少计算量,改善数据恢复的效率,保障了数据的可靠性和可用性。附图说明以下参照附图对本专利技术实施例作进一步说明,其中图1为根据本专利技术实施例的各存储节点没有写入数据的初始状态的示意图;图2为根据本专利技术实施例的数据片以镜像方式存放的状态1的示意图;图3为根据本专利技术实施例的数据片以冗余校验方式存放的状态2的示意图;图4为根据本专利技术实施例的原版本数据片以冗余校验方式存放,写更新所生成的 新版本数据片以镜像方式冗余存放的状态3的示意图;图5为根据本专利技术实施例的状态1下写更新数据片的示意图;图6为根据本专利技术实施例的状态3下新版本数据片被再次写更新后的示意图;图7为根据本专利技术实施例的状态3下原版本数据片被写更新的示意图;图8为根据本专利技术实施例的状态2下冗余校验片出错的示意图;图9为根据本专利技术实施例的状态2下数据片出错的示意图;图10为根据本专利技术实施例的状态3下冗余校验片出错的示意图;图11为根据本专利技术实施例的状态3下原版本数据片出错的示意图;图12为根据本专利技术实施例的状态3下新版本数据片的镜像出错的示意图;图13为根据本专利技术实施例的状态3下原版本数据片及其新版本的数据片都出错 的示意图。具体实施例方式为了使本专利技术的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实 施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术, 并不用于限定本专利技术。在本专利技术的实施例中所述文件系统包括作为应用服务器,元数据服务器以及多个 存储节点,其中应用服务器作为文件系统的客户端执行文件的读写操作。图1为根据本发 明的一个实施例的初始状态,各存储节点(SN)没有写入数据。在本专利技术的实施例中初次保 存文件时,文件以数据片的方式分别存放在相应网络存储节点,同时将各存储节点数据片 作镜像备份至其余节点,形成镜像方式冗余存放,提高数据可靠性。此时文件的存储状态称 为状态1,如图2所示。图2为根据本专利技术实施例的状态1,数据片以镜像方式存放。在本 实施例中仅以3个存储节点和3个镜像节点为示例,但在其他实施例中存储节点的数目不 受限制,可以为任意数目。在本专利技术的实施例中,所述文件系统中文件的存储状态还包括如图3所示的状态 2,数据片以冗余校本文档来自技高网
...

【技术保护点】
1.一种集群文件系统中文件冗余存储方法,所述文件系统中文件以数据片的方式存放在网络存储节点,包括以下存储状态:状态1,数据片以镜像方式存放;状态2,数据片以冗余校验方式存放;所述方法包括以下步骤:读取处于状态1的文件的各数据片;进行冗余计算,生成冗余校验片;将冗余校验片写入文件;释放文件各镜像数据片的存储空间;修改状态1为状态2。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘振晗
申请(专利权)人:中国科学院计算技术研究所天津中科蓝鲸信息技术有限公司
类型:发明
国别省市:11

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

1