一种分布式存储系统中加速数据重建的方法技术方案

技术编号:14859975 阅读:100 留言:0更新日期:2017-03-19 12:20
本发明专利技术涉及一种分布式存储系统中加速数据重建的方法,所述方法包括下述步骤:引入数据聚合策略,将小文件数据存放在大的容器中进行重建;集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。该方法在极大程度减少了IO次数的同时,充分提升了磁盘带宽,从而使磁盘的存储压力得到了释放;不仅解决了数据重建速率较慢和单块磁盘损坏后数据重建周期长、风险大的问题,而且减少了资源浪费,大大节约了成本。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及一种分布式存储系统中加速数据重建的方法
技术介绍
在数据大爆炸的今天,需要存储的数据量日益增长。据权威机构统计,在飞速增长的数据中,非结构化数据的增长率远高于结构化数据的增长。因此,为了满足很多行业对非结构化数据的存储需求,一批分布式集群存储系统应运而生,这其中的代表者如开源的lustre、IBM的GPFS、EMC的Isilon、华为的N9000等。所有的分布式集群存储,无一例外,均采用存储虚拟化技术,即将大批的存储节点和磁盘统一管理起来,对外呈现统一的命名空间。随着磁盘技术的发展,磁盘容量快速增长,截止到2013年,4T硬盘已经上市;但是,磁盘的读写带宽并没有随容量那样线性增长。这就给分布式存储系统带来了这样的问题:当磁盘损坏后,数据重建的速率较慢,因此在磁盘数据重建期间,系统中很有可能有其他磁盘损坏,加剧了整个系统数据丢失的风险。而很多应用,如内容分发系统、数字图书馆、网盘等,存储大量的小文件,这样一来,磁盘IO会降低,导致单块磁盘损坏后数据重建周期更长,风险更大。分布式存储系统长期工作在大并发、高负载的环境当中,因此即便对于单个文件,其数据块在磁盘上的分布由于受其他文件写入的影响而处于离散状态,因此对于后续读取的性能有一定影响,从而影响数据重建的性能。对于小文件密集的应用,如网盘、内容分发系统等,由于在单块磁盘上存储了上千万的小文件,由于小文件磁盘读写速率小于10MB每秒,假定系统中同时有多个节点和多个磁盘一起参与,重建速率能够达到100MB每秒。那么对于4T硬盘,存储系统无负载情况下,全部数据重建完成约需要12小时。由于存储系统中,同一批次硬盘的寿命基本相近,因此在此重建期间,其他硬盘损坏的概率比较大,导致系统数据安全性进一步恶化。为了弥补数据重建的效率低下,降低数据丢失的风险,大部分分布式存储系统引入更高的冗余度来保证系统能够同时容忍多块磁盘失效,如Isilon、N9000等均采用纠删码或三副本的方式来进行数据保护。采用更高的冗余度,能够在一定程度上降低整系统数据丢失的风险,但随之带来的是对于网络带宽浪费和增加成本的问题。
技术实现思路
针对现有技术的问题,本专利技术提出一种分布式存储系统中加速数据重建的方法,所述方法包括:引入数据聚合策略,将小文件数据存放在大的容器中进行重建;集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。该方案不仅解决了数据重建的速率较慢和单块磁盘损坏后数据重建周期长,风险大的问题,而且减少了资源浪费,节约了成本。本专利技术的目的是采用下述技术方案实现的:一种分布式存储系统中加速数据重建的方法,所述方法包括下述步骤:优选的,(1)引入数据聚合策略,将小文件数据存放在大的容器中进行重建;优选的,(2)集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。优选的,所述步骤(1)包括,将多个小文件数据存储在同一个容器中,且每个容器以文件的形式存储在磁盘上。进一步地,所述容器用于放置小文件数据信息,所述文件信息包括文件标识和文件元数据的位置信息。进一步地,所述小文件数据添加后,在该文件元数据中记录此文件所在的容器号以及小文件数据在容器文件中所在位置;需要访问时,通过解析该文件元数据,以获取容器号和对应的容器文件,再把文件的数据从容器的相应位置读出即可。优选的,所述容器在存储系统中属于隐藏文件,大小为10MB以上,其操作和正常文件一致;当磁盘损坏时,以容器文件为单位进行修复,从而减少IO次数。优选的,所述(2)包括,当多个容器文件同时写入时,由于磁盘块分配不均,将磁盘块分配的操作进行串行化;所述串行化的具体过程如下:当磁盘分配时,一次分配4M磁盘块,使数据连续地写在磁盘上,保证其磁盘空间中分配的各个容器文件互不影响;当所述容器文件关闭时,将没有用到的预分配的磁盘块释放。进一步地,当所述容器文件正常写入时,按照文件写入时间的顺序,依次进行数据重建;优选的,所述数据重建的方法包括下述步骤:a)按照文件修改时间,将重建任务按照文件所在的磁盘归类和排序,并为每个磁盘生成一个重建任务列表,该任务列表上包括本磁盘的重建任务;b)对于所述每个磁盘的文件重建任务列表,采用单个线程,对任务队列上的任务逐个处理。与最接近的现有技术比,本专利技术的优异效果为:通过本专利技术中的方法,有效提高数据重建的效率,大大降低了由于二次故障而导致的系统数据丢失风险;在极大程度减少了I0次数的同时,充分提升了磁盘带宽,从而使磁盘的存储压力得到了释放,有效地提高了硬盘使用寿命;不仅解决了数据重建速率较慢和单块磁盘损坏后数据重建周期长、风险大的问题,而且减少了资源浪费,大大节约了成本。附图说明如图1所示为本专利技术提供的小文件在容器里存储的示意图。具体实施方式下面结合附图对本专利技术作进一步详细说明。如图1所示,一种分布式存储系统中加速数据重建的方法,所述方法包括下述步骤:(1)引入数据聚合策略,将小文件数据存放在大的容器中进行重建;所述步骤(1)包括,将多个小文件数据存储在同一个容器中,且每个容器以文件的形式存储在磁盘上。所述容器用于放置小文件数据信息,所述信息包括文件标识和文件元数据的位置信息。所述小文件数据添加后,在该文件元数据中记录此文件所在的容器号以及小文件数据在容器文件中所在位置;需要访问时,通过解析该文件元数据,以获取容器号和对应容器的文件,再把文件的数据从容器的相应位置读出即可。所述容器在存储系统中属于隐藏文件,大小为几十MB以上,其操作和正常文件一致;当磁盘损坏时,以容器文件为单位进行修复,从而大大减少IO次数。(2)集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。所述(2)包括,当多个容器文件同时写入时,由于磁盘块分配不均,将磁盘块分配的操作进行串行化;所述串行化的具体过程如下:当磁盘分配时,一次分配4M磁盘块,使数据连续地写在磁盘上,保证其磁盘空间中分配的各个容器文件互不影响;当所述容器文件关闭时,将没有用到的预分配的磁盘块释放。当所述容器文件正常写入时,按照文件写入时间的顺序,依次进行数据重建;所述数据重建的方法包括下述步骤:a)按照文件修改时间,将重建任务按照文件所在的磁盘归类和排序,并为每个磁盘生成一个重建任务列表,该任务列表上包括本磁盘的重建任务;b)对于所述每个磁盘的文件重建任务列表,采用单个线程,对任务队列上的任务逐个处理。最后应当说明的是本文档来自技高网
...

【技术保护点】
一种分布式存储系统中加速数据重建的方法,其特征在于,所述方法包括下述步骤: (1)引入数据聚合策略,将小文件数据存放在大的容器中进行重建; (2)集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。

【技术特征摘要】
1.一种分布式存储系统中加速数据重建的方法,其特征在于,所述方法包括下述步骤:
(1)引入数据聚合策略,将小文件数据存放在大的容器中进行重建;
(2)集中分配存有容器文件的磁盘块,并将每个磁盘上的重建任务串行化。
2.如权利要求1所述一种分布式存储系统中加速数据重建的方法,其特征在于,所述步骤(1)包括,将多个小文件数据存储在同一个容器中,且每个容器以文件的形式存储在磁盘上。
3.如权利要求2所述一种分布式存储系统中加速数据重建的方法,其特征在于,所述容器用于放置小文件数据信息,所述信息包括文件标识和文件元数据的位置信息。
4.如权利要求3所述一种分布式存储系统中加速数据重建的方法,其特征在于,所述小文件数据添加后,在该文件元数据中记录此文件所在的容器号以及小文件数据在容器文件中所在位置;需要访问时,通过解析该文件的元数据,以获取容器号和对应的容器文件,再把文件的数据从容器的相应位置读出即可。
5.如权利要求4所述一种分布式存储系统中加速数据重建的方法,...

【专利技术属性】
技术研发人员:杨浩马照云王利虎苗艳超刘新春邵宗有
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:天津;12

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

1