本发明专利技术公开了一种智能哈希数据布局方法、集群存储系统及其方法,智能哈希数据布局方法用于对一个数据卷中的存储节点进行布局,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。子文件在父目录所属存储节点中进行分布具体包括如下情况之一:所述子文件在父目录所属存储节点中进行散列分布;所述子文件在父目录所属存储节点中进行条带二级分布;所述子文件在父目录所属存储节点中进行复制二级分布;所述子文件在父目录所属存储节点中先进行条带二级分布再进行复制三级分布。本发明专利技术的方法和系统可显著提高集存存储系统的扩展性、性能、可用性和适用性,可极大减小存储服务器的负载压力。
【技术实现步骤摘要】
一种智能哈希数据布局方法、集群存储系统及其方法
本专利技术涉及数据存储
,尤其涉及一种智能哈希数据布局方法、集群存储系统及其方法。
技术介绍
云存储和大数据背景下,数据呈现爆炸式增长趋势。根据研究显示,2020年数字宇宙将达到35.2ZB,比2009年的0.8ZB猛增44倍,这其中80%以上为非结构化数据。高性能计算、医学影像、石油和天然气勘探、数字媒体和社会化WEB等大量数据密集型应用导致数据的井喷,不断对存储方法提出新的严峻挑战。集群存储是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势,已经得到全球市场的广泛认可。集群存储技术其中涉及两大关键问题,即元数据管理和数据布局,这两者直接决定着系统的扩展性、性能和可靠性等特性。集群存储现有技术方案主要是采用专用元数据服务来管理元数据,数据布局信息也保存在元数据服务器上。集中式或分布式元数据管理存在性能瓶颈、单点故障、数据一致性等一系列相关问题,直接影响到系统性能和扩展性。数据布局方式主要采用条带(Stripe)、镜像(Mirror)、哈希(Hash)、一致性哈希(DHT)等方式,它们普通存在的问题是可扩展性不高,当集群规模扩展时大量数据需要迁移并重新分布。其中,哈希和一致性哈希还存在数据分布不均衡的问题。另外,不同数据布局方式在性能、可用性和扩展性方面有不同表现,而在特定集群存储工程实现中往往只会采用单一或两种简单组合的方式,适用的数据负载有限,降低了集群存储系统的应用范围。集群(Cluster)是由多个节点构成的一种松散耦合的节点集合,协同起来对外提供服务。集群主要分为高性能集群HPC(HighPerformanceCluster)、高可用集群HAC(HighAvailablityCluster)和负载均衡集群LBC(LoadBalancingCluster)。集群存储系统是指协同多个节点提供高性能、高可用或负载均衡的存储服务系统,消除单点故障和性能瓶问题,并且具有Scale-Out横向高扩展能力,实现容量和性能线性扩展。集群存储技术其中涉及两大关键问题,即元数据管理和数据布局,这两者直接决定着系统的扩展性、性能和可靠性等特性。集群存储现有技术方案主要是采用专用元数据服务来存储和管理数据布局信息,数据布局方式主要采用条带(Stripe)、镜像(Mirror)、哈希(Hash)、一致性哈希(DHT)等方式。基于元数据服务的数据布局管理模型如图1所示,元数据服务器记录存储服务器集群信息和数据布局信息,并进行数据布局管理。该模型下,请求数据前需要向元数据服务请求数据布局信息,读数据直接返回对应的布局信息,写新数据需要为其分配布局信息,更新或追加数据可能需要修改布局信息。这些都由元数据服务处理,之后把数据布局信息返回给存储客户端。客户端获取到数据对应的布局信息,即可确定数据位于存储服务器集群的具体位置,然后直接向相关存储服务器请求数据并处理响应,这个过程是可以并发进行的。不难发现,数据布局管理依赖于元数据服务器,集中式元数据服务模型存在性能瓶颈和单点故障问题,分布式元数据服务模型解决了上述两个问题,但同时引入了设计复杂性、性能开销和元数据同步一致性等问题,这些问题直接影响到系统性能和扩展性。条带(Stripe)相当于RAID0,即分片存储。RAID0由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。这样写入和读取数据就可以在多个磁盘上同时进行,并发产生非常高的聚合I/O,有效提高了整体I/O性能,而且具有良好的线性扩展性。这对大容量数据尤其显著,如果不分块,数据只能按顺序存储在磁盘阵列的磁盘上,需要时再按顺序读取。而通过条带技术,可获得数倍与顺序访问的性能提升。集群存储中的条带分布与此相似,数据被划分成固定长度的数据分片以Round-Robin轮转方式存储在多个存储节点上,如图2所示。采用条带方式,数据分布在多个存储节点上,读写操作可以在多个节点上并发执行,提高了多用户访问的并发度和聚合I/O带宽,这是集群存储提供高性能的重要方法。条带能够突破单个节点容量限制,提供超大容量数据支持。另外,条带还可以提高存储空间利用率,避免单个存储节点容量不足而总容量有余时写入数据失败的情况发生,并且能够维持节点之间的容量负载均衡。数据条带技术的分块大小选择非常关键,分块粒度越小,并行处理能力就越强,数据存取速度就越高,但同时就会增加处理开销。实际应用中,要根据数据特征和需求来选择合适的分块大小,在数据存取随机性和并发处理能力之间进行平衡,以争取尽可能高的整体性能。数据条带是基于提高I/O性能而提出的,也就是说它只关注性能,而对数据可靠性、可用性没有任何改善。实际上,其中任何一个分块损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概率。镜像(Mirror)相当于RAID1,是一种冗余技术用来提高可用性。RAID1为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。它会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。而且,镜像不需要额外的计算和校验,故障修复非常快,直接复制即可。镜像技术可以从多个副本进行并发读取数据,提供更高的读I/O性能,但不能并行写数据,写多个副本会会导致一定的I/O性能降低。集群存储中的镜像通常称为复制(Replication),可以实现两路及以上的多路复制,如图3所示。采用镜像方式,同一份数据会在多个存储节点上保留多份,用于提高可用性和并发读性能,这个与复制数量成正比。复制技术提供了非常高的数据安全性,其代价也是非常昂贵的,一是存储效率低于50%(1/复制数量),二是写性能下降,二是复制一致性问题复杂。镜像主要用于提高数据可用性,但高成本等问题限制了镜像的广泛应用,主要应用于至关重要的数据保护。哈希方式是集群存储最为常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与集群中的存储节点建立映射关系,从而将不同哈希值的数据分布到不同的节点上,如图4所示。数据特征可以是本体相关的,如文件名,也可以是与应用逻辑相关的值,如用户ID。哈希方式相当于一张大哈希表,每个存储节点相当于哈希桶,被分配一段哈希范围区间,数据根据哈希值分布到各个桶中。只要哈希函数的散列特性较好,哈希方式可以为均匀地将数据分布到集群中去。哈希方式要记录的元信息也非常简单,任何时候节点只需知道哈希函数的计算方式以及存储节点的哈希值范围,就可以确定数据所在的节点位置。哈希分布数据的缺点突出表现为可扩展性不高,一旦集群规模需要扩展,由于节点哈希范围发生变化,导致几乎所有的数据都被迁移并重新分布。另一个重要问题是,一旦所采用数据特征值的数据严重不均,则会出现负载严重不均衡的状态。这种情况下,如果某个存储节点负载过大,有可能扩展集群规模也无法解决负载不均衡的状态。一致性哈希是另一种在工程中使用较为广泛的数据分布方式,最初在P2P网络中作为分布式哈希表(DHT)的常用数据分布算法,如图5所示。一致性哈希的基本方式是使用一个哈希函数计算数本文档来自技高网...
【技术保护点】
一种智能哈希数据布局方法,用于对一个数据卷中的存储节点进行布局,其特征在于,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。
【技术特征摘要】
1.一种智能哈希数据布局方法,用于对一个数据卷中的存储节点进行布局,其特征在于,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布,所述子文件在父目录所属存储节点中进行分布具体包括如下情况之一:所述子文件在父目录所属存储节点中进行条带二级分布;所述子文件在父目录所属存储节点中进行复制二级分布;所述子文件在父目录所属存储节点中先进行条带二级分布再进行复制三级分布;其中,对所述存储节点预设容量阈值,在将目标文件写入目标存储节点之前,判断所述目标存储节点的可用存储容量是否在所述预设容量阈值以下,若是则将所述目标文件写入所述目标存储节点,否则将所述目标文件写入优先队列中容量负载最小的存储节点并创建一个从所述目标存储节点至所述容量负载最小的存储节点的文件链接。2.如权利要求1所述的智能哈希数据布局方法,其特征在于,所述方法还包括写新数据操作,所述写新数据操作包括:S1、存储客户端对请求文件名计算哈希值;S2、所述存储客户端根据内存中维护的数据分布集群节点,向各所述数据分布集群节点请求所述请求文件的父目录的哈希分布信息;S3、使用所述哈希值在所述父目录的哈希分布信息中查找所述请求文件的目标存储节点;S4、判断所述目标存储节点的可用存储容量是否在预设的容量阈值以下,若是则确定所述目标存储节点为所述请求文件的实际存储节点并执行步骤S6,否则执行步骤S5;S5、从优先队列中选择容量负载最小的存储节点作为所述请求文件的实际存储节点,并创建一个从所述目标存储节点至所述实际存储节点的文件链接,执行步骤S6;S6、所述存储客户端与所述实际存储节点直接进行I/O请求,写入新数据。3.如权利要求2所述的智能哈希数据布局方法,其特征在于,所述智能哈希数据布局方法还包括采用后台自动负载均衡技术对存...
【专利技术属性】
技术研发人员:刘爱贵,
申请(专利权)人:北京联创信安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。