CN101710339A - 控制机群文件系统中数据存储方法和系统及创建文件方法 - Google Patents

控制机群文件系统中数据存储方法和系统及创建文件方法 Download PDF

Info

Publication number
CN101710339A
CN101710339A CN200910238519A CN200910238519A CN101710339A CN 101710339 A CN101710339 A CN 101710339A CN 200910238519 A CN200910238519 A CN 200910238519A CN 200910238519 A CN200910238519 A CN 200910238519A CN 101710339 A CN101710339 A CN 101710339A
Authority
CN
China
Prior art keywords
memory node
load
file system
cluster file
grouping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910238519A
Other languages
English (en)
Other versions
CN101710339B (zh
Inventor
王毓
熊劲
孟丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2009102385192A priority Critical patent/CN101710339B/zh
Publication of CN101710339A publication Critical patent/CN101710339A/zh
Application granted granted Critical
Publication of CN101710339B publication Critical patent/CN101710339B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了控制机群文件系统中数据存储方法和系统及创建文件方法,所述机群文件系统是采用存储节点分组存放文件,所述数据存储方法,包括下列步骤:在间隔期间内收集和衡量机群文件系统中每个存储节点的包含I/O访问负载和空间利用率的二元负载信息;根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;机群文件系统的负载不均衡,对机群文件系统中的数据进行数据迁移。

Description

控制机群文件系统中数据存储方法和系统及创建文件方法
技术领域
本发明涉及机群文件系统的存储体系结构领域,特别是涉及一种控制机群文件系统中数据存储方法和系统及创建文件方法。
背景技术
随着机群技术的发展,机群计算已经不仅仅局限于高能物理研究、地址勘探、气候模拟分析等传统的以高性能计算为主的科学计算领域。目前的机群计算更多地应用于商业应用领域,例如金融、电信、因特网信息服务等。对于上述这些应用,不仅需要大量的计算资源,而且需要大量的数据存储和访问操作。
无论是在科学计算应用,商业应用,还是因特网信息服务,应用所产生的数据,其文件大小都近似满足对数正态分布。文件的大小从几个字节,到几个GB不等。应用中产生文件的巨大差异可能会造成系统中的文件存储的分布极不均衡。如果应用中产生的大文件都集中存放到某个或者某些存储节点上,则势必会造成这些存储节点的磁盘空间利用过高,而系统中其它存储节点的磁盘空间利用则较为空闲。实验表明,随着存储节点的磁盘空间利用率越来越高,其写性能逐渐下降。当存储节点的磁盘空间利用接近饱和时,因为磁盘中大量碎片的存在,其写性能会急剧下降。而且由于该存储节点的磁盘空间利用已经接近饱和,所剩空间不多,如果再往此存储节点上写数据,则不仅其写性能很差,而且如果要写的文件大小超过磁盘的剩余空间,则写操作会发生失败。这样不仅系统的聚合性能会下降,而且系统的正常功能会受到影响。不同的应用对其所产生的文件的访问频度和访问压力并不相同。在有些应用中,例如LLNL实验室的物理模拟应用ml,在写阶段,只有少数几个存储节点承担了大部分的读写访问和数据传输任务。在该应用中不同存储节点在I/O操作次数和数据传输量上差异很大,所承担的磁盘I/O负载也极不均衡。访问过热的存储节点中有大量的读写请求竞争磁盘I/O,而由于磁盘带宽本身受限,因此其读写性能会比其它节点的要低。那些访问过热的存储节点将成为整个系统的性能瓶颈,导致系统的聚合性能和吞吐量下降。
针对应用中大规模的数据量以及文件的I/O访问负载的特点,机群文件系统面临的挑战是如何有效地存放这些数据,从而尽量避免上述提到的单个节点的性能瓶颈问题,提高机群文件系统的聚合性能和可用性。
伪随机的哈希方法在选择文件的存放位置时应用较为广泛。传统的consistent hashing和extendible hashing中均没有考虑节点间磁盘空间利用和I/O访问负载上的差异。Ceph中提出的RUSH和CRUSH算法均可以支持系统中存储节点在磁盘容量上的异构。Brinkmann通过为不同的节点根据其容量赋予不同的unit ranges的方法,可以有效地支持节点磁盘的异构。Dynamo采用虚拟节点的方法,来达到I/O访问负载和存储空间利用的均衡,但它只适用于请求大小相同的场景。Sorrento通过定量的方法将存储空间利用和I/O访问负载两者结合起来,通过数据迁移,做到负载在整体意义上的均衡。但它需要应用的I/O访问特点,来选择最佳的负载结合方式。上述这些方法不能有效地考虑到磁盘存储空间利用和I/O访问负载两个因素,或者对应用本身提出了要求。
发明内容
本发明的目的在于提供一种控制机群文件系统中数据存储方法和系统及创建文件方法,是通过实时收集和衡量存储系统的负载进行数据的迁移,使得存储系统中存储节点之间的I/O访问负载处于均衡状态,并且没有存储节点的磁盘空间利用率达到饱和。其能够充分利用所有存储节点的磁盘带宽,使得存储系统的聚合性能达到最大。
为实现本发明的目的而提供的一种控制机群文件系统中数据存储的方法,所述机群文件系统是采用存储节点分组存放文件,所述方法,包括下列步骤:
步骤100.在间隔期间内收集和衡量机群文件系统中每个存储节点的包含I/O访问负载和空间利用率的二元负载信息;
步骤200.根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;
步骤300.机群文件系统的负载不均衡,对机群文件系统中的数据进行数据迁移;
所述方法,还包括:
步骤400.当需要创建新文件时,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。
所述步骤100,包括下列步骤:
步骤110.根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
步骤120.以磁盘的空间利用率,衡量每个存储节点的存储空间利用率。
所述步骤200,包括下列步骤:
步骤210.根据所述存储节点的存储空间利用率,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则表示机群文件系统的负载是不均衡的,执行步骤220;否则,表示机群文件系统的负载是均衡的;
步骤220.检查所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则执行步骤300;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
步骤230.根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的,那么执行步骤300。
所述阈值为95%。
所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
所述步骤300,包括下列步骤:
步骤310.针对存储节点的存储空间的利用率大于所述阈值的情况,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不频繁的所述机群文件系统中的一个或多个存储节点上去;
步骤320.对于所述存储节点的I/O访问负载失衡的情况,根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
步骤310中,所述数据将优先选择很久没有被访问过的数据,以尽量减小对用户正常执行I/O操作的影响。
步骤310中,迁移的数据量,根据当前存储节点的存储空间利用率与整个机群文件系统的平均存储空间利用率的差值,与选择的数据迁移目的端存储节点的存储空间利用率相比较,计算得到能够迁移的数据量,以期迁移尽量最少最优的数据量。
步骤310中,数据迁移的方式是:在数据迁移的源存储节点端,采用多线程的方式,将数据并行迁移到一个或者多个目的存储节点上去。
步骤320中,所述源存储节点分组内的存储节点与目的存储节点分组内的存储节点分别又形成一一对应的迁移源存储节点与迁移目的存储节点的关系。
步骤320中,所述数据将优先选择最近被访问过的数据来达到I/O访问负载的均衡。
步骤320中,迁移的数据量比例,根据应用中产生的数据量来进行调整。
步骤320中,数据迁移的方式是:通过源与目的存储节点分组内的多个存储节点同时进行迁移,并且在每个存储节点内部采用多线程的方式进行数据的迁移。
所述步骤400,包括下列步骤:
步骤410.根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的,执行步骤430;否则,表示机群文件系统的负载是不均衡的,那么执行步骤420;
步骤420.以I/O访问负载作为负载,选择存储节点分组i的概率pi为:i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数;
步骤430.以存储空间利用率作为负载,选择存储节点分组i的概率pi为:i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数;
步骤440.得到选择每个分组存放的概率pi之后,由pi将区间[0,1)分成N个子区间,为:[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),具中p1+p2+…+pN-1+pN=1;
步骤450.在新文件存储时,为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
步骤460.在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,返回步骤410,重新选择一个存储节点分组作为新文件的存放位置;若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
为实现本发明的目的还提供一种控制机群文件系统中数据存储的系统,所述机群文件系统是采用存储节点分组存放文件,所述系统包括:
存储节点负载获取模块,用于在间隔期间内收集和衡量机群文件系统中每个存储节点的二元负载信息;
负载衡量模块,用于根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;
数据迁移模块,用于在机群文件系统的负载不均衡时,对机群文件系统中的数据进行数据迁移;
所述系统,还包括:
文件存储位置选择模块,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。
所述存储节点负载获取模块,包括:
I/O访问负载获取模块,用于根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
存储空间利用率获取模块,用于获取每个存储节点的存储空间利用率。
所述负载衡量模块,包括:
存储空间利用率判断模块,用于根据所述存储节点的存储空间利用率,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则触发检测模块;否则,表示机群文件系统的负载是均衡的;
检测模块,用于检测所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则触发数据迁移模块;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
I/O访问负载判断模块,用于根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,触发数据迁移模块。
所述阈值为95%。
所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
所述数据迁移模块,包括:
存储空间利用率均衡模块,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不频繁的所述机群文件系统中的一个或多个存储节点上去;
I/O访问负载均衡模块,用于根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
所述文件存储位置选择模块,包括:
I/O访问负载概率计算模块,用于计算以I/O访问负载作为负载时,选择存储节点分组i的概率pi为:i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数;
存储空间利用率概率计算模块,用于计算以存储空间利用率作为负载时,选择存储节点分组i的概率pi为:
Figure G2009102385192D0000062
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数;
概率划分模块,用于根据I/O访问负载概率计算模块或存储空间利用率概率计算模块得到的选择每个分组存放的概率,将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
随机数产生模块,用于在新文件存储时为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
控制模块,用于在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,重新选择一个存储节点分组作为新文件的存放位置;若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
为实现本发明的目的还提供一种机群文件系统中创建文件分布选择法,包括下列步骤:
步骤100.收集机群文件系统中每个存储节点的I/O访问负载和空间利用率,根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,判断所述机群文件系统的负载是否均衡,若是,执行步骤300;否则,执行步骤200;
步骤200.根据所述I/O访问负载,计算选择存储节点分组i的概率pi为:
Figure G2009102385192D0000071
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤300.根据存储空间利用率,计算选择存储节点分组i的概率pi为:
Figure G2009102385192D0000072
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤400.为创建的新文件生成一个随机数ε∈[0,1),选择该随机数ε所在子区间对应的那个存储节点分组,若该分组中存在饱和的存储节点,则返回步骤200;否则,所述存储节点分组作为该新文件的存放位置。
所述步骤100,包括下列步骤:
步骤110.根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间;
步骤120.判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的。
所述步骤400,包括下列步骤:
步骤410.在新文件存储时,为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
步骤420.在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则执行步骤430;否则,返回步骤410;
步骤430.放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,返回步骤200,重新选择一个存储节点分组作为新文件的存放位置;
步骤440.若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
所述阈值为95%。
所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
本发明的有益效果是:
1.本发明采用基于负载的概率分布方法,将文件分布到机群文件系统中所有存储节点上去,能够充分考虑系统中存储节点间负载的差异;
2.本发明在文件存放时,通过在负载较轻的存储节点上存放较多的文件,在负载较重的存储节点上存放较少的文件,能够充分利用机群文件系统中所有存储节点的磁盘带宽,最大化系统的聚合性能;
3.当机群文件系统中存储节点间I/O访问负载差异很大,或者某个存储节点的磁盘空间利用发生饱和,造成机群文件系统的聚合性能会急剧下降时,本发明通过将负载较重的存储节点上的部分数据迁移到负载较轻的存储节点上去,能够有效地缓解负载较重的节点上的磁盘访问压力,消除性能瓶颈,系统的聚合性能得到提升;
4.本发明中在选择数据迁移的目的时,选择负载较低的一个或多个存储节点,而不是只选择负载最低的存储节点,能够防止该负载最低的存储节点再次成为性能瓶颈而发生数据迁移的抖动现象;
5.本发明中对于存储节点存储空间利用率饱和的情况,优先迁移冷数据,能够尽量减小对用户正常执行I/O操作的影响。
附图说明
图1是本发明一种控制机群文件系统中数据存储的方法步骤流程图;
图2是本发明中收集和衡量机群文件系统中每个存储节点的负载的方法步骤流程图;
图3是本发明的采用存储节点分组存放文件的机群文件系统的示意图;
图4是本发明中衡量所述机群文件系统的负载是否均衡的方法步骤流程图;
图5是本发明中数据迁移的方法步骤流程图;
图6是本发明一种机群文件系统中创建文件分布选择法的步骤流程图;
图7是本发明一种控制机群文件系统中数据存储的方法一实施例的步骤流程图;
图8是本发明中判断机群文件系统的负载是否均衡的步骤流程图;
图9是本发明中根据随机数为创建的新文件选择存放位置的步骤流程图;
图10是本发明中控制机群文件系统中数据存储的系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种控制机群文件系统中数据存储的方法和系统。进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的一种控制机群文件系统中数据存储方法和系统及创建文件方法,是通过实时收集和衡量存储系统的负载进行数据的迁移,使得存储系统中存储节点之间的I/O访问负载处于均衡状态,并且没有存储节点的磁盘空间利用率达到饱和。其能够充分利用所有存储节点的磁盘带宽,使得存储系统的聚合性能达到最大。
下面结合上述目标详细介绍本发明的一种控制机群文件系统中数据存储的方法,图1是本发明一种控制机群文件系统中数据存储的方法步骤流程图,如图1所示,所述方法,包括下列步骤:
步骤100.在间隔期间内收集和衡量机群文件系统中每个存储节点的负载;
在机群文件系统中进行数据存储时,需要考虑系统中存储节点间的I/O访问负载差异和存储节点间的存储空间利用率差异两个因素,存储节点存储空间利用率上的差异对文件存储系统的I/O性能影响较小,但需要防止出现某个存储节点的存储空间利用率饱和的情况;存储节点间I/O访问负载的巨大差异会导致存储系统的聚合性能降低,存储系统响应时间增大。
因此,本发明中在衡量存储节点的负载时,把存储节点的存储空间利用率和存储节点的I/O访问负载两者有效地结合起来。每个存储节点的负载,既包括存储节点的I/O访问负载又包括存储节点的存储空间利用率。用一个二元组来定义负载:f=(fl,fs)。即对于负载f,首先考虑节点的I/O访问负载fl,其次考虑节点的存储空间利用率fs,作为以后衡量负载的标准。
图2是本发明中收集和衡量机群文件系统中每个存储节点的负载的方法步骤流程图,如图2所示,所述步骤100,包括下列步骤:
步骤110.根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
本发明中,对于每个存储节点的I/O访问负载,是通过磁盘在负载收集间隔期间内的磁盘带宽平均利用率来进行衡量。Linux系统命令iostat可以统计和计算在某个较小的时间间隔期间内某个指定磁盘的磁盘带宽利用率。通过扩展该命令的计算方法,可以计算出磁盘在系统预设的负载收集时间间隔期内的磁盘平均带宽利用率,以此作为I/O访问负载的衡量因子fl
步骤120.以磁盘的空间利用率,衡量每个存储节点的存储空间利用率;
本发明中,对于存储节点的存储空间利用率,以磁盘的空间利用率作为存储空间利用因素的衡量因子fs
步骤200.根据所述每一个存储节点的负载,衡量所述机群文件系统的负载是否均衡;
图3是本发明的采用存储节点分组存放文件的机群文件系统的示意图,本发明中是将机群文件系统中的存储节点分为若干个分组,在每个分组上以stripe方式存放文件,其结构如图3所示,因此,在衡量机群文件系统的I/O访问负载是否均衡时,需要针对存储节点分组进行衡量,而不在针对某一个存储节点,存储节点分组的I/O访问负载是分组中所有节点的I/O访问负载的平均值。而衡量机群文件系统的存储空间利用率时,仍然是针对每一个存储节点而言的。
所述存储节点分组的I/O访问负载是分组中所有存储节点的I/O访问负载的平均值。
随着应用运行的深入,文件的存储和访问越来越多,文件的大小和I/O访问特征事先并不知道,不可预测。因此,机群文件系统中存储节点分组之间的I/O访问负载可能会出现不均衡。这种不均衡,可能是因为应用在某段时间内,只对某一个或者某几个存储节点分组中的文件进行频繁的集中性读写操作,造成该存储节点分组在该时间段内的I/O访问严重过热。其次由于文件大小差异很大,可能会出现机群文件系统中不同存储节点之间的存储空间利用率相差很大,特别是当存储空间利用饱和是时,该存储节点将成为系统的性能瓶颈。
为了充分利用机群文件系统中存储节点的聚合磁盘带宽,最大化地提升机群文件系统的聚合性能,需要判断机群文件系统的负载是否均衡,并针对上述两种可能出现的情况进行区分,分别采取相应的数据迁移操作。
本发明中,当每次进行存储节点的负载收集时,首先,判断是否有某个节点的磁盘空间利用已经达到95%,如果有,则检查系统中是否有其它节点的磁盘空间利用率小于95%;如果有,则需要进行数据迁移;如果没有,则说明整个系统的磁盘空间利用已经趋于饱和,此时需要向系统中添加新的存储节点。其次,判断是否有某个存储节点分组的I/O访问负载发生失衡,亦即是否有某个存储节点分组的I/O访问负载已经超出相应的I/O访问负载均衡置信区间上限。如果有,则需要触发数据迁移。
图4是本发明中衡量所述机群文件系统的负载是否均衡的方法步骤流程图,如图4所示,所述步骤200,包括下列步骤:
步骤210.根据所述存储节点的存储空间利用率fs,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则表示机群文件系统的负载是不均衡的,执行步骤220;否则,表示机群文件系统的负载是均衡的;
本发明中,对于存储节点的磁盘空间利用饱和的情况,通过其存储空间利用率是否达到或者超过阈值95%来进行衡量。
步骤220.检查所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则执行步骤300;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
步骤230.根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,采取均值与标准方差的衡量方法得到所述存储节点分组的I/O访问负载均衡的置信区间[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],并判断所有所述存储节点分组的I/O访问负载fl′是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的,那么执行步骤300。
本发明中,对于I/O访问负载不均衡的衡量方式,采取通用的均值与标准方差的衡量方法,即μ(f)±C×σ(f),C的大小默认取为3。这样得到节点I/O访问负载均衡的置信区间:[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)]。当所有存储节点分组的I/O访问负载fl′都在该区间范围之内时,系统的访问负载是均衡的。如果有某个存储节点分组的I/O访问负载超出该区间的上限,则该存储节点分组的访问过热。
步骤300.机群文件系统的负载不均衡,对机群文件系统中的数据进行数据迁移。
本发明中,在每次收集到存储节点的二元负载信息时,都需要进行上述两种情况的判断,并在机群文件系统的负载不均衡的情况下,对机群文件系统中的数据进行数据迁移。
数据根据其温度可以分为冷数据和热数据。热数据是指那些最近被访问过的数据,冷数据是指已经有很久没有被访问过的数据。我们用最近访问时间(Last Access Time)来表征数据的温度信息。机群文件系统中文件的温度满足双峰分布,即要么文件比较热,要么文件比较冷介于两者之间的文件很少。
针对上述不同原因所引起的性能瓶颈,采取不同的数据迁移策略。图5是本发明中数据迁移的方法步骤流程图,如图5所示,在进行数据迁移时,所述步骤300,包括下列步骤:
步骤310.针对存储节点的存储空间的利用率大于所述阈值的情况,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不太热(即频繁)的所述机群文件系统中的一个或多个存储节点上去;
较佳地,本发明中在选择数据迁移的目的存储节点时,选择负载较低的一个或多个存储节点,而不是只选择负载最低的存储节点,是为了防止该负载最低的存储节点再次成为性能瓶颈而发生数据迁移的抖动现象。
较佳地,本发明中对于存储节点存储空间利用率饱和的情况,优先迁移冷数据,以尽量减小对用户正常执行I/O操作的影响。
较佳地,本步骤中,迁移的数据量,根据当前存储节点的存储空间利用率与整个机群文件系统的平均存储空间利用率的差值,与选择的数据迁移目的端存储节点的存储空间利用率相比较,计算得到能够迁移的数据量,以期迁移尽量最少最优的数据量。
较佳地,本步骤中的数据迁移的方式是:对于存储节点存储空间利用率饱和的情况,在数据迁移的源存储节点端,采用多线程的方式,将数据并行迁移到一个或者多个目的存储节点上去。
步骤320.对于所述存储节点的I/O访问负载失衡的情况,根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
较佳地,本发明中源存储节点分组内的存储节点与目的存储节点分组内的存储节点分别又形成一一对应的迁移源存储节点与迁移目的存储节点的关系。
较佳地,本发明中对于I/O访问负载失衡的情况,优先迁移热数据来达到I/O访问负载的均衡。
较佳地,本步骤中,迁移的数据量比例一般较小,可以根据应用中产生的数据量来进行调整。
较佳地,本步骤中的数据迁移的方式是:对于I/O访问负载失衡的情况,通过源与目的存储节点分组内的多个存储节点同时进行迁移,并且在每个存储节点内部采用多线程的方式进行数据的迁移。
由于本发明中是将机群文件系统中的存储节点分为若干个分组,在每个分组上以stripe方式存放文件,因此当在所述机群文件系统中创建一个文件时,需要基于所述机群文件系统中所有存储节点分组的负载信息,选择一个分组作为文件的存放位置。
因此,本发明还提出一种机群文件系统中创建文件分布选择法,是一种基于存储节点分组负载的概率分布选择法。其是根据每个存储节点分组的负载f,(这里f可以是fl或者fs),这里存储节点分组fs的计算是用该存储节点分组中已经利用的磁盘空间大小除以该存储节点分组的总的磁盘容量。
每个存储节点分组的负载占机群文件系统中所有存储节点分组负载之和的比重就决定了选择该分组的可能性。如果某个分组的负载所占的比重越大,那么选择它作为新文件存放位置的概率就越小。某个存储节点分组的负载所占的比重越小,那么选择它作为新文件存放位置的概率就越大。从统计意义上,对于两次负载收集间隔期内的大量文件创建操作,文件能够根据系统中存储节点的负载而存放到所有的存储节点上去。
基于步骤100中得到的存储节点负载的二元组信息,在进行新文件的位置选择时,以存储节点分组的I/O访问负载为主,其次是存储节点分组的存储空间利用率,前提条件是所选择的存储节点其存储空间利用率不能饱和。图6是本发明一种机群文件系统中创建文件分布选择法的步骤流程图,图7是本发明一种控制机群文件系统中数据存储的方法一实施例的步骤流程图,如图6和图7所示,当需要创建新文件时,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。具体的步骤是:
步骤100’.收集机群文件系统中每个存储节点的I/O访问负载和空间利用率,根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,判断所述机群文件系统的负载是否均衡,若是,执行步骤300’;否则,执行步骤200’;首先判断所述机群文件系统中存储节点分组的I/O访问负载是否均衡,图8是本发明中判断机群文件系统的负载是否均衡的步骤流程图,如图8所示,所述步骤100’,包括下列步骤:
步骤110’.根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间;
步骤120’.判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的。
步骤200’.根据所述I/O访问负载,计算选择存储节点分组i的概率pi为:
Figure G2009102385192D0000151
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤300’.根据存储空间利用率,计算选择存储节点分组i的概率pi为:
Figure G2009102385192D0000152
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
如果I/O访问负载不均衡,则以I/O访问负载作为负载,即f=fl,采用上述的概率分布法进行文件位置的选择。此时选择存储节点分组i的概率pi为:
Figure G2009102385192D0000153
i=1,2,…,N,N为总的存储节点分组数;
如果I/O访问负载已经近似均衡,则以存储空间利用率作为负载,即f=fs,采用上述的概率分布法进行文件位置的选择。此时选择存储节点分组i的概率pi为:i=1,2,…,N,N为总的存储节点分组数。得到选择每个分组存放的概率pi之后,由pi将区间[0,1)分成N个子区间,即为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),具中p1+p2+…+pN-1+pN=1。
步骤400’.为创建的新文件生成一个随机数ε∈[0,1),选择该随机数ε所在子区间对应的那个存储节点分组,若该分组中存在饱和的存储节点,则返回步骤200’;否则,所述存储节点分组作为该新文件的存放位置。
图9是本发明中根据随机数为创建的新文件选择存放位置的步骤流程图,如图9所示,所述步骤400’包括下列步骤:
步骤410’.在新文件存储时,为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
步骤420’.在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则执行步骤430’;否则,返回步骤410’;
步骤430’.放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,返回步骤200’,重新选择一个存储节点分组作为新文件的存放位置;
步骤440’.若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
当新创建一个文件时,生成一个随机数ε∈[0,1)。该随机数所在子区间对应的那个分组即为该文件的存放位置。此处,生成随机数ε是为了实现能够按照分组负载对应的概率把新文件放到相应的分组中去。
在按照上述概率分布方法选出一个存储节点分组之后,还需要再次判断该存储节点分组内每个存储节点的磁盘剩余空间。如果该存储节点分组内某个存储节点的磁盘空间利用率已经达到95%以上,则放弃该存储节点分组(在重新计算概率时不考虑该存储节点分组),立即返回步骤1),重新选择一个存储节点分组作为新文件的存放位置。如果所有的选择都返回失败,即所述机群文件系统中所有存储节点的存储空间利用率都已经达到或者超过95%,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
相应于本发明的一种控制机群文件系统中数据存储的方法,还提供一种控制机群文件系统中数据存储的系统,图10是本发明中控制机群文件系统中数据存储的系统的结构示意图,如图10所示,所述系统,包括:
存储节点负载获取模块1,用于在间隔期间内收集和衡量机群文件系统中每个存储节点的二元负载信息;
负载衡量模块2,用于根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;
数据迁移模块3,用于在机群文件系统的负载不均衡时,对机群文件系统中的数据进行数据迁移;
所述系统,还包括:
文件存储位置选择模块4,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。
所述存储节点负载获取模块1,包括:
I/O访问负载获取模块11,用于根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
存储空间利用率获取模块12,用于获取每个存储节点的存储空间利用率。
所述负载衡量模块2,包括:
存储空间利用率判断模块21,用于根据所述存储节点的存储空间利用率,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则触发检测模块;否则,表示机群文件系统的负载是均衡的;
检测模块22,用于检测所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则触发数据迁移模块;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
I/O访问负载判断模块23,用于根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,触发数据迁移模块。
所述阈值为95%。
所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
所述数据迁移模块3,包括:
存储空间利用率均衡模块31,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不频繁的所述机群文件系统中的一个或多个存储节点上去;
I/O访问负载均衡模块32,用于根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
所述文件存储位置选择模块4,包括:
I/O访问负载概率计算模块41,用于计算以I/O访问负载作为负载时,选择存储节点分组i的概率pi为:
Figure G2009102385192D0000181
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数;
存储空间利用率概率计算模块42,用于计算以存储空间利用率作为负载时,选择存储节点分组i的概率pi为:
Figure G2009102385192D0000182
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数;
概率划分模块43,用于根据I/O访问负载概率计算模块或存储空间利用率概率计算模块得到的选择每个分组存放的概率,将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),具中p1+p2+…+pN-1+pN=1;
随机数产生模块44,用于在新文件存储时为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
控制模块45,用于在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,重新选择一个存储节点分组作为新文件的存放位置;若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
本发明的有益效果在于:
1.本发明采用基于负载的概率分布方法,将文件分布到机群文件系统中所有存储节点上去,能够充分考虑系统中存储节点间负载的差异;
2.本发明在文件存放时,通过在负载较轻的存储节点上存放较多的文件,在负载较重的存储节点上存放较少的文件,能够充分利用机群文件系统中所有存储节点的磁盘带宽,最大化系统的聚合性能;
3.当机群文件系统中存储节点间I/O访问负载差异很大,或者某个存储节点的磁盘空间利用发生饱和,造成机群文件系统的聚合性能会急剧下降时,本发明通过将负载较重的存储节点上的部分数据迁移到负载较轻的存储节点上去,能够有效地缓解负载较重的节点上的磁盘访问压力,消除性能瓶颈,系统的聚合性能得到提升;
4.本发明中在选择数据迁移的目的时,选择负载较低的一个或多个存储节点,而不是只选择负载最低的存储节点,能够防止该负载最低的存储节点再次成为性能瓶颈而发生数据迁移的抖动现象;
5.本发明中对于存储节点存储空间利用率饱和的情况,优先迁移冷数据,能够尽量减小对用户正常执行I/O操作的影响。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (28)

1.一种控制机群文件系统中数据存储的方法,其特征在于,所述机群文件系统是采用存储节点分组存放文件,所述方法,包括下列步骤:
步骤100.在间隔期间内收集和衡量机群文件系统中每个存储节点的包含I/O访问负载和空间利用率的二元负载信息;
步骤200.根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;
步骤300.机群文件系统的负载不均衡,对机群文件系统中的数据进行数据迁移。
2.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述方法,还包括:
步骤400.当需要创建新文件时,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。
3.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述步骤100,包括下列步骤:
步骤110.根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
步骤120.以磁盘的空间利用率,衡量每个存储节点的存储空间利用率。
4.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述步骤200,包括下列步骤:
步骤210.根据所述存储节点的存储空间利用率,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则表示机群文件系统的负载是不均衡的,执行步骤220;否则,表示机群文件系统的负载是均衡的;
步骤220.检查所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则执行步骤300;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
步骤230.根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的,那么执行步骤300。
5.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述阈值为95%。
6.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
7.根据权利要求1所述的控制机群文件系统中数据存储的方法,其特征在于,所述步骤300,包括下列步骤:
步骤310.针对存储节点的存储空间的利用率大于所述阈值的情况,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不频繁的所述机群文件系统中的一个或多个存储节点上去;
步骤320.对于所述存储节点的I/O访问负载失衡的情况,根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
8.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤310中,所述数据将优先选择很久没有被访问过的数据,以减小对用户正常执行I/O操作的影响。
9.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤310中,迁移的数据量,根据当前存储节点的存储空间利用率与整个机群文件系统的平均存储空间利用率的差值,与选择的数据迁移目的端存储节点的存储空间利用率相比较,计算得到能够迁移的数据量,以期迁移尽量最少最优的数据量。
10.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤310中,数据迁移的方式是:在数据迁移的源存储节点端,采用多线程的方式,将数据并行迁移到一个或者多个目的存储节点上去。
11.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤320中,所述源存储节点分组内的存储节点与目的存储节点分组内的存储节点分别又形成一一对应的迁移源存储节点与迁移目的存储节点的关系。
12.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤320中,所述数据将优先选择最近被访问过的数据来达到I/O访问负载的均衡。
13.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤320中,迁移的数据量比例,根据应用中产生的数据量来进行调整。
14.根据权利要求7所述的控制机群文件系统中数据存储的方法,其特征在于,步骤320中,数据迁移的方式是:通过源与目的存储节点分组内的多个存储节点同时进行迁移,并且在每个存储节点内部采用多线程的方式进行数据的迁移。
15.根据权利要求4所述的控制机群文件系统中数据存储的方法,其特征在于,所述步骤400,包括下列步骤:
步骤410.根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的,执行步骤430;否则,表示机群文件系统的负载是不均衡的,那么执行步骤420;
步骤420.以I/O访问负载作为负载,选择存储节点分组i的概率pi为:
Figure F2009102385192C0000031
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数;
步骤430.以存储空间利用率作为负载,选择存储节点分组i的概率pi为:
Figure F2009102385192C0000032
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数;
步骤440.得到选择每个分组存放的概率pi之后,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤450.在新文件存储时,为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
步骤460.在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,返回步骤410,重新选择一个存储节点分组作为新文件的存放位置;若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
16.一种控制机群文件系统中数据存储的系统,其特征在于,所述机群文件系统是采用存储节点分组存放文件,所述系统包括:
存储节点负载获取模块,用于在间隔期间内收集和衡量机群文件系统中每个存储节点的二元负载信息;
负载衡量模块,用于根据所述每一个存储节点的二元负载信息,衡量所述机群文件系统的负载是否均衡;
数据迁移模块,用于在机群文件系统的负载不均衡时,对机群文件系统中的数据进行数据迁移;
17.根据权利要求16所述的控制机群文件系统中数据存储的系统,其特征在于,所述系统,还包括:
文件存储位置选择模块,根据所述每一个存储节点的二元负载信息,选择新文件的存储位置。
18.根据权利要求16所述的控制机群文件系统中数据存储的系统,其特征在于,所述存储节点负载获取模块,包括:
I/O访问负载获取模块,用于根据磁盘在间隔期间内收集的磁盘带宽平均利用率,衡量每个存储节点的I/O访问负载;
存储空间利用率获取模块,用于获取每个存储节点的存储空间利用率。
19.根据权利要求16所述的控制机群文件系统中数据存储的系统,其特征在于,所述负载衡量模块,包括:
存储空间利用率判断模块,用于根据所述存储节点的存储空间利用率,判断所述存储节点的存储空间利用率是否达到一阈值,若是,则触发检测模块;否则,表示机群文件系统的负载是均衡的;
检测模块,用于检测所述机群文件系统中是否存在存储空间利用率小于所述阈值的存储节点,若是,则触发数据迁移模块;否则,表明所述机群文件系统的存储空间利用率已达到饱和,需要向所述机群文件系统添加新的存储节点;
I/O访问负载判断模块,用于根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间,并判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,触发数据迁移模块。
20.根据权利要求19所述的控制机群文件系统中数据存储的系统,其特征在于,所述阈值为95%。
21.根据权利要求19所述的控制机群文件系统中数据存储的系统,其特征在于,所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
22.根据权利要求16所述的控制机群文件系统中数据存储的系统,其特征在于,所述数据迁移模块,包括:
存储空间利用率均衡模块,根据所述机群文件系统的规模,将存储空间的利用率大于所述阈值的存储节点中的数据迁入到存储空间利用率低,并且I/O访问不频繁的所述机群文件系统中的一个或多个存储节点上去;
I/O访问负载均衡模块,用于根据所述机群文件系统的规模,将I/O访问负载高的源存储节点分组中的数据迁入到I/O访问负载低的一个或者多个目的存储节点分组上去。
23.根据权利要求16所述的控制机群文件系统中数据存储的系统,其特征在于,文件存储位置选择模块,包括:
I/O访问负载概率计算模块,用于计算以I/O访问负载作为负载时,选择存储节点分组i的概率pi为:
Figure F2009102385192C0000051
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数;
存储空间利用率概率计算模块,用于计算以存储空间利用率作为负载时,选择存储节点分组i的概率pi为:
Figure F2009102385192C0000061
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数;
概率划分模块,用于根据I/O访问负载概率计算模块或存储空间利用率概率计算模块得到的选择每个分组存放的概率,将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),具中p1+p2+…+pN-1+pN=1;
随机数产生模块,用于在新文件存储时为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
控制模块,用于在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,重新选择一个存储节点分组作为新文件的存放位置;若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
24.一种机群文件系统中创建文件分布选择法,其特征在于,所述创建文件分布选择法,包括下列步骤:
步骤100.收集机群文件系统中每个存储节点的I/O访问负载和空间利用率,根据所述存储节点的I/O访问负载得到每个存储节点分组的I/O访问负载,判断所述机群文件系统的负载是否均衡,若是,执行步骤300;否则,执行步骤200;
步骤200.根据所述I/O访问负载,计算选择存储节点分组i的概率pi为:
Figure F2009102385192C0000062
i=1,2,…,N,其中,fl为I/O访问负载,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤300.根据存储空间利用率,计算选择存储节点分组i的概率pi为:
Figure F2009102385192C0000071
i=1,2,…,N,其中,fs为存储空间利用率,N为总的存储节点分组数,由pi将区间[0,1)分成N个子区间,为:
[0,p1),[p1,p1+p2),[p1+p2,p1+p2+p3),……,[p1+p2+…+pN-1,p1+p2+…+pN-1+pN),其中p1+p2+…+pN-1+pN=1;
步骤400.为创建的新文件生成一个随机数ε∈[0,1),选择该随机数ε所在子区间对应的那个存储节点分组,若该分组中存在饱和的存储节点,则返回步骤200;否则,所述存储节点分组作为该新文件的存放位置。
25.根据权利要求24所述的机群文件系统中创建文件分布选择法,其特征在于,所述步骤100,包括下列步骤:
步骤110.根据所述存储节点分组的I/O访问负载计算得到所述存储节点分组的I/O访问负载均衡的置信区间;
步骤120.判断所有所述存储节点分组的I/O访问负载是否都在该置信区间之内,若是,则表示机群文件系统的负载是均衡的;否则,表示机群文件系统的负载是不均衡的。
26.根据权利要求24所述的机群文件系统中创建文件分布选择法,其特征在于,所述步骤400,包括下列步骤:
步骤410.在新文件存储时,为该新文件生成一个随机数ε∈[0,1),该随机数ε所在子区间对应的那个存储节点分组为该新文件的存放位置;
步骤420.在选出存储节点分组之后,判断该存储节点分组内每个存储节点的存储空间利用率是否达到一阈值,若是,则执行步骤430;否则,所述存储节点分组为该新文件的存放位置;
步骤430.放弃该存储节点分组,在重新计算概率时不考虑该存储节点分组,重新选择一个存储节点分组作为新文件的存放位置;
步骤440.若所有的选择都返回失败,则新文件创建操作失败,返回出错,此时需要对机群文件系统的容量进行扩展。
27.根据权利要求26所述的控制机群文件系统中数据存储的系统,其特征在于,所述阈值为95%。
28.根据权利要求25所述的控制机群文件系统中数据存储的系统,其特征在于,所述置信区间为[μ(fl′)-3×σ(fl′),μ(fl′)+3×σ(fl′)],其中fl′为所述存储节点分组的I/O访问负载。
CN2009102385192A 2009-11-20 2009-11-20 控制机群文件系统中数据存储方法和系统及创建文件方法 Expired - Fee Related CN101710339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102385192A CN101710339B (zh) 2009-11-20 2009-11-20 控制机群文件系统中数据存储方法和系统及创建文件方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102385192A CN101710339B (zh) 2009-11-20 2009-11-20 控制机群文件系统中数据存储方法和系统及创建文件方法

Publications (2)

Publication Number Publication Date
CN101710339A true CN101710339A (zh) 2010-05-19
CN101710339B CN101710339B (zh) 2012-02-01

Family

ID=42403129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102385192A Expired - Fee Related CN101710339B (zh) 2009-11-20 2009-11-20 控制机群文件系统中数据存储方法和系统及创建文件方法

Country Status (1)

Country Link
CN (1) CN101710339B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306157A (zh) * 2011-07-12 2012-01-04 中国人民解放军国防科学技术大学 数据中心环境下一种面向节能的高可靠数据存储方法
CN103036994A (zh) * 2012-12-18 2013-04-10 曙光信息产业(北京)有限公司 实现负载均衡的云存储系统
CN103279582A (zh) * 2013-06-24 2013-09-04 浙江宇天科技股份有限公司 一种基于Oracle分区的数据存储方法及装置
CN103858124A (zh) * 2011-09-02 2014-06-11 肯普沃德公司 用于数据维护的方法
CN104378442A (zh) * 2014-11-26 2015-02-25 北京航空航天大学 一种减少资源竞争的Trace文件转储方法
CN105117173A (zh) * 2015-08-31 2015-12-02 北京神州云科数据技术有限公司 一种负载均衡方法及装置
CN105488079A (zh) * 2014-10-11 2016-04-13 苏州精易会信息技术有限公司 处理多租户数据的方法
CN106250440A (zh) * 2016-07-26 2016-12-21 金蝶软件(中国)有限公司 文档管理方法和装置
WO2017041650A1 (zh) * 2015-09-09 2017-03-16 阿里巴巴集团控股有限公司 用于扩展分布式一致性服务的方法和设备
CN103825785B (zh) * 2014-03-24 2017-05-10 北京中电普华信息技术有限公司 一种服务节点的监测方法及装置
CN106911776A (zh) * 2017-02-24 2017-06-30 郑州云海信息技术有限公司 一种云存储设备的管理方法及装置
CN107621980A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种虚拟机迁移方法、集群控制系统和控制装置
CN107688625A (zh) * 2017-08-18 2018-02-13 郑州云海信息技术有限公司 一种基于分布式存储系统的存储小文件的方法及系统
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备
US9948716B2 (en) 2010-04-23 2018-04-17 Compuverde Ab Distributed data storage
CN108197229A (zh) * 2017-12-29 2018-06-22 北京搜狐新媒体信息技术有限公司 一种磁盘数据的平衡方法及系统
CN108804038A (zh) * 2018-05-29 2018-11-13 新华三技术有限公司 日志数据迁移的方法、装置、服务器和计算机可读介质
CN108900626A (zh) * 2018-07-18 2018-11-27 中国联合网络通信集团有限公司 一种云环境下数据存储方法、装置及系统
CN109815258A (zh) * 2018-12-29 2019-05-28 深圳云天励飞技术有限公司 一种数据处理的方法及装置
CN109829097A (zh) * 2018-12-25 2019-05-31 深圳云天励飞技术有限公司 一种数据处理的方法及装置
CN110300035A (zh) * 2019-05-23 2019-10-01 厦门网宿有限公司 判断存储系统负载状态的方法、系统、装置及服务器
CN110460663A (zh) * 2019-08-12 2019-11-15 深圳市网心科技有限公司 分布式节点间的数据分配方法、装置、服务器及存储介质
US10579615B2 (en) 2011-09-02 2020-03-03 Compuverde Ab Method for data retrieval from a distributed data storage system
US10650022B2 (en) 2008-10-24 2020-05-12 Compuverde Ab Distributed data storage
CN114428707A (zh) * 2022-01-12 2022-05-03 湖北美和易思教育科技有限公司 一种基于资源的分布式存储方法、系统、设备及存储介质

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907256B2 (en) 2008-10-24 2024-02-20 Pure Storage, Inc. Query-based selection of storage nodes
US10650022B2 (en) 2008-10-24 2020-05-12 Compuverde Ab Distributed data storage
US9948716B2 (en) 2010-04-23 2018-04-17 Compuverde Ab Distributed data storage
CN102306157A (zh) * 2011-07-12 2012-01-04 中国人民解放军国防科学技术大学 数据中心环境下一种面向节能的高可靠数据存储方法
CN102306157B (zh) * 2011-07-12 2012-11-14 中国人民解放军国防科学技术大学 数据中心环境下一种面向节能的高可靠数据存储方法
CN103858124A (zh) * 2011-09-02 2014-06-11 肯普沃德公司 用于数据维护的方法
US10579615B2 (en) 2011-09-02 2020-03-03 Compuverde Ab Method for data retrieval from a distributed data storage system
US10430443B2 (en) 2011-09-02 2019-10-01 Compuverde Ab Method for data maintenance
US10769177B1 (en) 2011-09-02 2020-09-08 Pure Storage, Inc. Virtual file structure for data storage system
US9965542B2 (en) 2011-09-02 2018-05-08 Compuverde Ab Method for data maintenance
US11372897B1 (en) 2011-09-02 2022-06-28 Pure Storage, Inc. Writing of data to a storage system that implements a virtual file structure on an unstructured storage layer
US10909110B1 (en) 2011-09-02 2021-02-02 Pure Storage, Inc. Data retrieval from a distributed data storage system
CN103036994B (zh) * 2012-12-18 2015-08-19 曙光信息产业(北京)有限公司 实现负载均衡的云存储系统
CN103036994A (zh) * 2012-12-18 2013-04-10 曙光信息产业(北京)有限公司 实现负载均衡的云存储系统
CN103279582A (zh) * 2013-06-24 2013-09-04 浙江宇天科技股份有限公司 一种基于Oracle分区的数据存储方法及装置
CN103825785B (zh) * 2014-03-24 2017-05-10 北京中电普华信息技术有限公司 一种服务节点的监测方法及装置
CN105488079A (zh) * 2014-10-11 2016-04-13 苏州精易会信息技术有限公司 处理多租户数据的方法
CN104378442A (zh) * 2014-11-26 2015-02-25 北京航空航天大学 一种减少资源竞争的Trace文件转储方法
CN104378442B (zh) * 2014-11-26 2017-08-25 北京航空航天大学 一种减少资源竞争的Trace文件转储方法
CN105117173A (zh) * 2015-08-31 2015-12-02 北京神州云科数据技术有限公司 一种负载均衡方法及装置
WO2017041650A1 (zh) * 2015-09-09 2017-03-16 阿里巴巴集团控股有限公司 用于扩展分布式一致性服务的方法和设备
CN107621980A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种虚拟机迁移方法、集群控制系统和控制装置
CN106250440A (zh) * 2016-07-26 2016-12-21 金蝶软件(中国)有限公司 文档管理方法和装置
CN106250440B (zh) * 2016-07-26 2019-07-09 金蝶软件(中国)有限公司 文档管理方法和装置
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备
CN106911776A (zh) * 2017-02-24 2017-06-30 郑州云海信息技术有限公司 一种云存储设备的管理方法及装置
CN107688625A (zh) * 2017-08-18 2018-02-13 郑州云海信息技术有限公司 一种基于分布式存储系统的存储小文件的方法及系统
CN108197229A (zh) * 2017-12-29 2018-06-22 北京搜狐新媒体信息技术有限公司 一种磁盘数据的平衡方法及系统
CN108804038A (zh) * 2018-05-29 2018-11-13 新华三技术有限公司 日志数据迁移的方法、装置、服务器和计算机可读介质
CN108900626A (zh) * 2018-07-18 2018-11-27 中国联合网络通信集团有限公司 一种云环境下数据存储方法、装置及系统
CN109829097A (zh) * 2018-12-25 2019-05-31 深圳云天励飞技术有限公司 一种数据处理的方法及装置
CN109815258A (zh) * 2018-12-29 2019-05-28 深圳云天励飞技术有限公司 一种数据处理的方法及装置
CN110300035A (zh) * 2019-05-23 2019-10-01 厦门网宿有限公司 判断存储系统负载状态的方法、系统、装置及服务器
CN110460663A (zh) * 2019-08-12 2019-11-15 深圳市网心科技有限公司 分布式节点间的数据分配方法、装置、服务器及存储介质
CN110460663B (zh) * 2019-08-12 2022-09-20 深圳市网心科技有限公司 分布式节点间的数据分配方法、装置、服务器及存储介质
CN114428707A (zh) * 2022-01-12 2022-05-03 湖北美和易思教育科技有限公司 一种基于资源的分布式存储方法、系统、设备及存储介质
CN114428707B (zh) * 2022-01-12 2024-08-09 武汉美和易思数字科技有限公司 一种基于资源的分布式存储方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN101710339B (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
CN101710339B (zh) 控制机群文件系统中数据存储方法和系统及创建文件方法
CN103036994B (zh) 实现负载均衡的云存储系统
CN100476742C (zh) 基于对象存储设备的负载平衡方法
US10657101B2 (en) Techniques for implementing hybrid flash/HDD-based virtual disk files
CN105653591B (zh) 一种工业实时数据分级存储及迁移方法
CN110058822B (zh) 一种磁盘阵列横向拓展方法
CN106161120B (zh) 动态均衡负载的分布式元数据管理方法
CN106066896B (zh) 一种应用感知的大数据重复删除存储系统及方法
US9182927B2 (en) Techniques for implementing hybrid flash/HDD-based virtual disk files
CN101604337B (zh) 一种哈希表项存储、查找装置及方法
CN107436813A (zh) 一种元数据服务器动态负载均衡的方法及系统
CN108183947A (zh) 分布式缓存方法及系统
JP5716537B2 (ja) 記憶媒体制御装置、記憶装置、記憶媒体制御方法、プログラム
CN105577806B (zh) 一种分布式缓存方法及系统
CN112947860B (zh) 一种分布式数据副本的分级存储与调度方法
WO2022048356A1 (zh) 一种云平台的数据处理方法、系统、电子设备及存储介质
CN104699424A (zh) 一种基于页面热度的异构内存管理方法
CN106534308A (zh) 一种分布式存储系统中解决数据块访问热点的方法及装置
CN108932150A (zh) 基于ssd和磁盘混合存储的缓存方法、装置及介质
CN111367469A (zh) 一种分层存储数据迁移方法和系统
US11269544B1 (en) Deleting an object from an object storage subsystem for managing paged metadata
CN109144431A (zh) 数据块的缓存方法、装置、设备及存储介质
JP2012247901A (ja) データベースの管理方法、データベースの管理装置及びプログラム
CN106131118B (zh) 一种分布式缓存的方法、装置和系统
CN115981848B (zh) 一种内存数据库分片调整方法、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120201

Termination date: 20201120

CF01 Termination of patent right due to non-payment of annual fee