CN109508140A - 存储资源管理方法、装置、电子设备及电子设备、系统 - Google Patents
存储资源管理方法、装置、电子设备及电子设备、系统 Download PDFInfo
- Publication number
- CN109508140A CN109508140A CN201710832001.6A CN201710832001A CN109508140A CN 109508140 A CN109508140 A CN 109508140A CN 201710832001 A CN201710832001 A CN 201710832001A CN 109508140 A CN109508140 A CN 109508140A
- Authority
- CN
- China
- Prior art keywords
- memory space
- data
- preset range
- hard disk
- solid state
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种存储资源管理方法、装置、电子设备及电子设备、系统,应用于分布式存储系统的存储资源管理,其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储资源管理方法包括:删除所述固态硬盘中预定范围的存储空间内的数据;删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。本申请至少一个实施例能够提高存储资源利用率。
Description
技术领域
本发明涉及分布式存储领域,尤其涉及一种存储资源管理方法、装置、电子设备及电子设备、系统。
背景技术
谷歌文件系统(Google File System,GFS)奠定了现代大规模分布式存储系统的基石,阿帕奇软件基金顶级项目Hadoop的重要组件Hadoop分布式文件系统(HadoopDistributed File System,HDFS)是类GFS的系统,已经广泛运用在学术界和工业界。
如图1所示,典型分布式存储系统主要包含三个模块,以三种角色部署在由普通商用服务器构成的集群上。分布式存储系统的三个模块是指:
客户端库(Clients):包括多个客户端(Client),为用户提供访问分布式存储系统的各种接口;
数据节点(DataNode):数据块管理模块,管理分布式存储系统的数据块及相关元数据,执行管理节点指派的任务;
管理节点,比如但不限于是名字节点(NameNode):文件系统命名空间管理模块,管理分布式存储系统的元数据,如文件名到数据块元数据的映射等。
DataNode内部将多块硬盘(一般是串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)硬盘驱动器(Hard Disk Drive,HDD))组织成单一逻辑存储(Single Logical Storage)资源池,用来存储用户数据,为Clients的读/写数据的请求服务;DataNode会将磁盘容量信息和存储的数据块信息上报管理节点,供管理节点进行决策。这种模型下,DataNode对外暴露的存储介质是单一类型的,一般是SATA HDD。
为了保证性能,一般情况下写请求落到DataNode的页缓存(pagecache)里就认为写操作成功,操作系统会异步地把pagecache里的数据持久化到物理设备上。如果在异步持久化尚未发生之前,系统掉电重启,会导致部分提交(commit)给用户的数据丢失。
为了保证数据安全性和写性能,目前的一种解决方案是在分布式存储系统的DataNode或相当于DataNode的节点,比如块服务器(Chunkserver)上增加固态硬盘(SolidState Drive,SSD)作为写缓存(Cache),用户数据写入以直接(direct)、同步(sync)的方式写到写Cache里,Chunkserver异步将写Cache里的数据转储到SATA HDD上。
但是,该解决方案至少存在以下问题:受限于上层应用访问的压力,SSD的资源利用率比较低,得不到充分利用。
发明内容
本申请提供一种存储资源管理方法、装置、电子设备及电子设备、系统,能够提高存储资源利用率。
本申请采用如下技术方案。
一种分布式存储系统中的存储资源管理方法,其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储资源管理方法包括:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
其中,所述固态硬盘的存储空间中可以包括多个依次排列的文件;
所述删除固态硬盘中预定范围的存储空间内的数据可以包括:
删除固态硬盘中位于预定的位置分界线之后的文件。
其中,所述删除固态硬盘中预定范围的存储空间内的数据可以包括:
判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除固态硬盘中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除固态硬盘中预定范围的存储空间内的数据。
其中,所述当前有效数据的存储空间可以是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
其中,所述删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质可以包括:
删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;
初始化所述文件系统对象;
将所述文件系统对象所对应的存储空间识别成新增的存储介质。
一种分布式存储系统,包括:管理节点、数据节点;
所述数据节点包括固态硬盘;所述固态硬盘包括第一存储空间和第二存储空间;其中,所述数据节点将所述第一存储空间作为写缓存,将所述第二存储空间作为存储介质,并将所述存储介质的信息上报给所述管理节点。
一种分布式存储系统中的存储资源管理装置,其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储资源管理装置包括:
删除模块,用于删除所述固态硬盘中预定范围的存储空间内的数据;
识别模块,用于在所述删除模块删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
其中,所述固态硬盘的存储空间中可以包括多个依次排列的文件;
所述删除模块删除固态硬盘中预定范围的存储空间内的数据可以包括:
所述删除模块删除固态硬盘中位于预定的位置分界线之后的文件。
其中,所述删除模块删除固态硬盘中预定范围的存储空间内的数据可以包括:
所述删除模块判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除固态硬盘中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除固态硬盘中预定范围的存储空间内的数据。
其中,所述当前有效数据的存储空间可以是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
其中,所述识别模块在所述删除模块删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质可以包括:
所述识别模块在所述删除模块删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;初始化所述文件系统对象;将所述文件系统对象所对应的存储空间识别成新增的存储介质。
一种用于分布式存储系统中存储资源管理的电子设备,其中,所述分布式存储系统以固态硬盘作为写缓存;所述电子设备包括:
存储器和处理器;
所述存储器用于保存用于进行存储资源管理的程序;所述用于进行存储资源管理的程序在被所述电子设备读取执行时,执行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
一种存储介质,应用于分布式存储系统中;其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储介质存储有用于进行存储资源管理的程序;所述用于进行存储资源管理的程序被执行时进行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
本申请包括以下优点:
本申请至少一个实施例利用分布式存储系统中作为写缓存的固态硬盘富余的存储空间和输入输出(IO)性能,使分布式存储系统在不增加成本的情况下可以提供高速存储介质服务,并提升原有存储资源的利用率。
本申请实施例的一种实现方式中,对于文件形式组织的存储空间采用预定分界线的形式来划定预定范围,更加简洁明了。
本申请实施例的一种实现方式中,在分割固态硬盘前先判断和当前有效数据的存储空间是否冲突,可以避免影响写缓存的正常工作。
本申请至少一个实施例中,一个固态硬盘可以部分作为写缓存,部分作为存储介质,从而可以提高固态硬盘的利用率,在不多增加插槽和运维成本的情况下使分布式存储系统既能够提供高速存储介质,又能保证写数据的性能和可靠性。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是HDFS的架构示意图;
图2是实施例一的存储资源管理方法的流程图;
图3是实施例一的例子中进行存储资源管理的流程图;
图4是实施例一的例子中SSD中存储空间的示意图;
图5是实施例二的例子的架构示意图;
图6是实施例三的存储资源管理装置的示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实现方式中的不同特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种配置中,数据节点或用于存储资源管理的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括一个或多个模块。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
实施例一、一种分布式存储系统中的存储资源管理方法,其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储资源管理方法如图2所示,包括步骤S110~S120:
S110、删除固态硬盘中预定范围的存储空间内的数据;
S120、删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
本实施例适用于已使用SSD作为写Cache的分布式存储系统,可以将分布式存储系统中原有的SSD的存储资源分割成至少两部分,一部分仍然用作写Cache,另一部分则作为存储介质提供给Clients进行数据读、写,提高了SSD的存储空间、IO能力等资源的使用率,使分布式存储系统中原有的SSD可以一物两用:既提供写Cache,也提供SSD类型的存储介质。
本实施例中,所述预定范围的存储空间在删除数据后可以全部作为存储介质,也可以部分作为存储介质,部分另作它用;在部分另作它用的情况下,原来作为写缓存的SSD相当于分割成了三个或更多的部分,分别作为写缓存、存储介质和其它用途。
本实施例中,作为存储介质的那部分SSD的存储空间相当于一个虚拟的SSD,可以被识别成一个或多个SSD盘。
本实施例中,DataNode对外可以不再只暴露单一的存储资源池,而是可以暴露多种存储介质(比如硬盘、SSD),比如DataNode将存储介质的类型、可用存储空间的大小等数据提供给管理节点,当Clients要读、写存储介质上的数据时,管理节点可以调度合适的存储介质给Clients。这样使用户可以将具有不同性能需求的数据存储在不同的存储介质上,比如将热数据存储在读写性能优秀的存储介质上,将温数据存储在读写性能良好的存储介质上,从而在成本和性能上得到最好的折中。其中,可以根据生命周期、读写模式、性能要求等维度,对数据进行分类,比如分成生命周期短、读频繁、延迟敏感的“热数据(Hot Data)”,以及生命周期长、读频率相对较低、延迟要求低的“温数据(Warm Data)”。
本实施例的方案可以将一块物理SSD的部分存储空间用作写Cache,部分存储空间组织成虚拟的SSD,因此无需增加真实的SSD盘、不需要占用独立的磁盘插槽就可以增加提供SSD类型的存储介质,非常便捷;删除数据后,SSD中预定范围的存储空间会被自动识别成新增的存储介质并上报,不需要额外的运维操作。
本实施例中,所述管理节点可以用于管理文件系统命名空间、分布式存储系统的元数据等。所述管理节点可以但不限于是名字节点(NameNode),比如可以是分布式存储系统中的控制端(Master);所述管理节点也可以是预定的其它节点。
本实施例中,可以但不限于由分布式存储系统中的DataNode执行上述步骤S110~S120;所述DataNode可以但不限于是ChunkServer。
当本实施例的方法由DataNode执行时,对于原先使用SSD作为写缓存的分布式存储系统而言,只需要升级DataNode中的程序即可;升级后,DataNode将作为写缓存的SSD的部分存储空间中的数据删除,并将这部分存储空间全部或部分识别成SSD盘,和原先的HDD一起作为存储介质,从而可以提供多种存储介质,并提高原先作为写缓存的SSD的资源利用率。
本实施例中,SSD的预定范围的存储空间的数据被删除后,这部分存储空间可以和新插入SSD的情况一样,被识别成新增的存储介质并上报给管理节点,后续可以为Clients读写数据的请求提供服务。
本实施例中,删除数据可以是指物理删除,即:真正擦除数据或将清零;也可以是指逻辑删除,即:将存储空间设置成“可用”、或“无数据”、或类似状态,原先的数据实际还存在于存储介质上,但系统将这部分数据所在的存储空间当成未使用的存储空间,可以写入新数据,写入的新数据可以覆盖原先的数据。
本实施例中,所述预定范围可以根据经验、试验结果等设置。
本实施例中,预定范围的存储空间可以是连续的存储空间。
本实施例中,所述新增的存储介质的信息可以但不限于包括新增的存储介质的大小、位置、范围等参数。
本实施例中,所述方法还可以包括:修改写缓存的参数,或通知写缓存的参数改变。该操作可以在步骤S110前执行,也可以和步骤S110或S120并行执行,还可以在步骤S120后执行。比如当DataNode中有一个线程用来将用户数据写入写Cache时,可以通知该线程写Cache的参数(如大小、存储空间的范围等)变更为多少;再比如当DataNode中存在写Cache的配置文件时,可以将该配置文件中写Cache的参数变更。
一种实现方式中,所述SSD的存储空间中可以包括多个依次排列的文件;比如标号为0到N的文件,N为正整数。
通常,SSD中会包含一定大小的留存空间,该留存空间不供写入数据使用;可以将除留存空间之外的区域作为SSD的存储空间。
本实现方式中,依次排列可以是指,从SSD的存储空间的起始位置开始,依次保存有文件0、文件1、……、文件N;文件0~文件N可以恰好占满SSD的存储空间,也可以除了文件0~N以外,SSD的存储空间还有所剩余。
其它实现方式中,SSD的存储空间也可以不划分为文件的形式,而是作为一个整体,存储空间中的位可以用存储地址表示。相应地,预定范围的存储空间可以表示为存储地址XXX到存储地址YYY之间的存储空间。
本实现方式的一种备选方案中,所述删除SSD中预定范围的存储空间内的数据可以包括:删除SSD中位于预定的位置分界线之后的文件。
该备选方案中,预定的位置分界线之后的文件所占的存储空间为上述预定范围的存储空间;预定的位置分界线之前的文件所占的存储空间仍用作写缓存,保留原有的文件。当然,也可以设置成,预定的位置分界线之前的文件所占的存储空间为上述预定范围的存储空间,预定的位置分界线之后的文件所占的存储空间仍用作写缓存,保留原有的文件。
该备选方案中,预定的位置分界线可以表示为某个文件之前、或某个文件之后、或某两个相邻文件之间的形式;比如标号为8的文件之后,再比如标号为9的文件之前,再比如标号为8、9的文件之间,这三种形式表达的都是同一个意思,即标号为0~8的文件仍保留,用作写缓存;而标号9~N的文件被删除作为提供给用户使用的存储介质。
本实现方式的其它备选方案中,也可以不采用位置分界线的形式,比如可以直接限定哪些标号的文件要删除(即:这些文件的存储空间属于上述预定范围的存储空间),或者从哪个标号的文件开始进行删除(即:该文件及其后文件的存储空间属于上述预定范围的存储空间),再或者除了哪些标号的文件以外的文件要删除(即:这些文件以外的存储空间属于上述预定范围的存储空间)。无论采用哪种形式,只要能确定哪些文件需要删除即可。
其它实现方式中,如果SSD的存储空间没有划分为文件的形式,则也可以使用预定的位置分界线来划分出预定范围的存储空间;其中,预定的位置分界线可以表示成SSD的存储空间中,某一位之前、或某一位之后、或某相邻两位之间的形式。一种实现方式中,所述删除SSD中预定范围的存储空间内的数据可以包括:
判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除SSD中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除SSD中预定范围的存储空间内的数据。
比如在上述删除SSD中位于预定的位置分界线之后的文件的方案中,相当于在删除前,先判断所述预定的位置分界线是否位于作为当前有效数据的文件之间,比如文件2~7为当前有效数据,包括文件2、7,则是判断预定的位置分界线是否在文件2~7之间;如果不位于作为当前有效数据的文件之间(比如在文件7之后),则删除SSD中位于预定的位置分界线之后的文件;如果位于作为当前有效数据的文件之间,则监视当前有效数据的范围,当位置分界线不再位于作为当前有效数据的文件之间时,删除SSD中位于预定的位置分界线之后的文件。
其中,所述当前有效数据的存储空间可以是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
一种实现方式中,所述删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质可以包括:
删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;
初始化所述文件系统对象;
将所述文件系统对象所对应的存储空间识别成新增的存储介质。
其它实现方式中,也可以通过其它过程将删除数据后的存储空间识别成新增的存储介质。
下面用一个例子说明本实施例。
本例中,分布式存储系统包括Clients、相当于DataNode的ChunkServer,和相当于NameNode的控制端(Master);其中,ChunkServer中包含作为写Cache的SSD,以NameNode作为管理节点。本例的分布式存储系统可以但不限于为盘古分布式文件系统。
本例中,ChunkServer采用日志(Log)结构(Structure)技术来组织SSD上的写Cache,Log空间被组织为一个逻辑上的一维追加写的存储空间,物理上通过标号为0到N的文件组成。新到数据会从0号文件向后追加,直到N号文件写完,绕回0号文件继续写。即:SSD盘除了留存空间外,包括0~N号文件。N是正整数,可以根据SSD盘的大小、留存空间的大小和每个文件的大小确定。
本例中,存储资源的管理过程如图3所示,包括以下步骤201~205。
201、从用作写Cache的SSD上回收部分空间。
具体包括:根据预定的位置分界线,从逻辑上划分SSD盘,确定SSD盘中分割成虚拟SSD盘的部分,删除该部分的文件。
在执行步骤201之前还可以包括:判断位置分界线是否落在当前有效数据的范围内,如果没有落在当前有效数据的范围内则进行步骤201;如果落在当前有效数据的范围内,则等待并监视当前有效数据的范围变化,一旦发现位置分界线不落入当前有效数据的范围内,就进行步骤201。
比如图4所示的情况,下一转储位置(NextDumpPosition)和写位置(WritePosition)之间是当前有效数据的范围,即文件2~文件7(包括文件2、文件7)对应的存储空间是当前有效数据的存储空间,而预定的位置分界线在文件8和文件9之间,因此可以进行步骤201,将文件0~8对应的存储空间留作写Cache,将文件9~N对应的存储空间删除,删除后腾出文件9~N对应的存储空间,这部分存储空间可看成是从SSD中回收的存储空间。
202、将回收的至少部分存储空间构建成一或多块虚拟SSD盘。
本例中,在SSD上回收存储空间后,Chunkserver在内存中会分配一个文件系统(FileSystem)对象,用来组织回收的存储空间。这个FileSystem对象包含逻辑上的总空间、剩余空间等信息。
203、虚拟SSD盘自动被Chunkserver识别。
虚拟SSD盘对应的FileSystem对象初始化结束后,Chunkserver会识别到虚拟SSD盘,并且会识别出虚拟SSD盘的介质类型是SSD。
204、Chunkserver将虚拟SSD盘上报Master。
Chunkserver定期向Master上报自身配置的磁盘。发现虚拟SSD盘后,Chunkserver自动上报给Master。
205、虚拟SSD盘接收用户的数据读写请求。
当Master识别到虚拟SSD盘之后,就可以对外提供多介质存储支持。用户可以要求Master将数据分布到SSD上。
实施例二、一种分布式存储系统,包括:管理节点、数据节点;
所述数据节点包括固态硬盘;所述固态硬盘包括第一存储空间和第二存储空间;其中,所述数据节点将所述第一存储空间作为写缓存,将所述第二存储空间作为存储介质,并将所述存储介质的信息上报给所述管理节点。
本实施例中,分布式存储系统中还可以包括Clients;所述管理节点及Clients可以直接和存储介质交互。所述第二存储空间可以被识别成一个或多个SSD盘,上报给管理节点;当Clients要读、写存储介质上的数据时,管理节点可以从所述第二存储空间所识别成的SSD盘、作为存储介质的硬盘等多种存储介质中调度相应的存储介质给Clients。。
本实施例可以通过对已有的以SSD作为写缓存的分布式存储系统进行升级得到;比如将已有的分布式存储系统中数据节点的程序进行升级,升级后的数据节点将会分割作为写缓存的SSD,将分割出的存储空间识别成新增的存储介质,上报给管理节点。
本实施例的一个例子中,分布式存储系统如图5所示,包括作为管理节点的名字节点、数据节点、客户端库;分布式存储系统中设置有作为存储介质的硬盘。
图5中的写缓存和SSD实际上可以属于同一块物理SSD,只不过是SSD中不同部分的存储空间。
本例中,数据节点将识别到的存储介质上报给名字节点,比如可以上报硬盘、SSD的类型、可用存储空间大小等参数给名字节点。
本例中,对于名字节点而言,可以得知多种存储介质,并可以提供给客户端让用户选择;名字节点可以根据客户端的请求或预定的调度策略从多种存储介质中调度相应的存储介质供客户端库进行读、写数据。
实施例三、一种分布式存储系统中的存储资源管理装置,其中,所述分布式存储系统以固态硬盘作为写缓存;如图6所示,所述存储资源管理装置包括:
删除模块61,用于删除所述固态硬盘中预定范围的存储空间内的数据;
识别模块62,用于在所述删除模块61删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
本实施例中,所述删除模块61是上述存储资源管理装置中负责删除预定范围的存储空间内的数据的部分,可以是软件、硬件或两者的结合。
本实施例中,所述识别模块62是上述存储资源管理装置中负责将预定范围的存储空间识别为新增的存储介质的部分,可以是软件、硬件或两者的结合。
本实施例的存储资源管理装置可以设置于数据节点中,可以是数据节点的组成部分(可以是软件、硬件或两者的结合),也可以设置于数据节点之外的设备中。
一种实现方式中,所述SSD的存储空间中可以包括多个依次排列的文件;所述删除模块删除SSD中预定范围的存储空间内的数据可以包括:
所述删除模块删除SSD中位于预定的位置分界线之后的文件。
一种实现方式中,所述删除模块删除SSD中预定范围的存储空间内的数据可以包括:
所述删除模块判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除SSD中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除SSD中预定范围的存储空间内的数据。
本实现方式中,所述当前有效数据的存储空间可以是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
一种实现方式中,所述识别模块在所述删除模块删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质可以包括:
所述识别模块在所述删除模块删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;初始化所述文件系统对象;将所述文件系统对象所对应的存储空间识别成新增的存储介质。
本实施例的存储资源管理装置的各模块的操作分别对应于实施例一中的步骤S110~S120,各模块操作的其它实现细节可参见实施例一。
实施例四、一种用于分布式存储系统中存储资源管理的电子设备,其中,所述分布式存储系统以固态硬盘作为写缓存;所述电子设备包括:
存储器和处理器;
所述存储器用于保存用于进行存储资源管理的程序;所述用于进行存储资源管理的程序在被所述电子设备读取执行时,执行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
一种实现方式中,所述SSD的存储空间中可以包括多个依次排列的文件;所述用于进行存储资源管理的程序在被所述电子设备读取执行时,所执行的删除SSD中预定范围的存储空间内的数据的操作可以包括:
删除SSD中位于预定的位置分界线之后的文件。
一种实现方式中,所述用于进行存储资源管理的程序在被所述电子设备读取执行时,所执行的删除SSD中预定范围的存储空间内的数据的操作可以包括:
判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除SSD中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除SSD中预定范围的存储空间内的数据。
本实现方式中,所述当前有效数据的存储空间可以是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
一种实现方式中所述用于进行存储资源管理的程序在被所述电子设备读取执行时,所执行的在删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质的操作可以包括:
所述识别模块在所述删除模块删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;初始化所述文件系统对象;将所述文件系统对象所对应的存储空间识别成新增的存储介质。
本实施例中,用于进行存储资源管理的程序在被处理器读取执行时,所执行的操作对应于实施例一中的步骤S110~S120;该程序所执行的操作的其它细节可参见实施例一。
实施例五、一种存储介质,应用于分布式存储系统中;其中,所述分布式存储系统以固态硬盘作为写缓存;
所述存储介质存储有用于进行存储资源管理的程序;所述用于进行存储资源管理的程序被执行时进行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
本实施例中,所述存储介质可以但不限于位于分布式存储系统的DataNode中。
本实施例中,用于进行存储资源管理的程序所进行的操作对应于实施例一中的步骤S110~S120;该程序被执行时所进行的操作的其它细节可参见实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。
Claims (13)
1.一种分布式存储系统中的存储资源管理方法,其中,所述分布式存储系统以固态硬盘作为写缓存;所述存储资源管理方法包括:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
2.如权利要求1所述的存储资源管理方法,其特征在于:
所述固态硬盘的存储空间中包括多个依次排列的文件;
所述删除固态硬盘中预定范围的存储空间内的数据包括:
删除固态硬盘中位于预定的位置分界线之后的文件。
3.如权利要求1所述的存储资源管理方法,其特征在于,所述删除固态硬盘中预定范围的存储空间内的数据包括:
判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除固态硬盘中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除固态硬盘中预定范围的存储空间内的数据。
4.如权利要求3所述的存储资源管理方法,其特征在于:
所述当前有效数据的存储空间是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
5.如权利要求1~4中任一项所述的存储资源管理方法,其特征在于,所述删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质包括:
删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;
初始化所述文件系统对象;
将所述文件系统对象所对应的存储空间识别成新增的存储介质。
6.一种分布式存储系统,包括:管理节点、数据节点;
其特征在于:
所述数据节点包括固态硬盘;所述固态硬盘包括第一存储空间和第二存储空间;其中,所述数据节点将所述第一存储空间作为写缓存,将所述第二存储空间作为存储介质,并将所述存储介质的信息上报给所述管理节点。
7.一种分布式存储系统中的存储资源管理装置,其中,所述分布式存储系统以固态硬盘作为写缓存;其特征在于,所述存储资源管理装置包括:
删除模块,用于删除所述固态硬盘中预定范围的存储空间内的数据;
识别模块,用于在所述删除模块删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
8.如权利要求7所述的存储资源管理装置,其特征在于:
所述固态硬盘的存储空间中包括多个依次排列的文件;
所述删除模块删除固态硬盘中预定范围的存储空间内的数据包括:
所述删除模块删除固态硬盘中位于预定的位置分界线之后的文件。
9.如权利要求7所述的存储资源管理装置,其特征在于,所述删除模块删除固态硬盘中预定范围的存储空间内的数据包括:
所述删除模块判断所述预定范围的存储空间和当前有效数据的存储空间是否存在重合区域,如果不存在重合区域则删除固态硬盘中预定范围的存储空间内的数据;如果存在重合区域则监视当前有效数据的存储空间,当所述预定范围的存储空间和当前有效数据的存储空间不存在重合区域时,删除固态硬盘中预定范围的存储空间内的数据。
10.如权利要求9所述的存储资源管理装置,其特征在于:
所述当前有效数据的存储空间是指下一转储位置和写位置之间,包括所述下一转储位置和写位置在内的存储空间。
11.如权利要求7~10中任一项所述的存储资源管理装置,其特征在于,所述识别模块在所述删除模块删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质包括:
所述识别模块在所述删除模块删除数据后为所述预定范围的存储空间分配对应的文件系统对象;所述文件系统对象用于组织所述预定范围的存储空间;初始化所述文件系统对象;将所述文件系统对象所对应的存储空间识别成新增的存储介质。
12.一种用于分布式存储系统中存储资源管理的电子设备,其中,所述分布式存储系统以固态硬盘作为写缓存;所述电子设备包括:
存储器和处理器;
其特征在于:
所述存储器用于保存用于进行存储资源管理的程序;所述用于进行存储资源管理的程序在被所述电子设备读取执行时,执行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
13.一种存储介质,应用于分布式存储系统中;其中,所述分布式存储系统以固态硬盘作为写缓存;其特征在于:
所述存储介质存储有用于进行存储资源管理的程序;所述用于进行存储资源管理的程序被执行时进行如下操作:
删除所述固态硬盘中预定范围的存储空间内的数据;
删除数据后将所述预定范围的存储空间全部或部分识别成新增的存储介质,将所述新增的存储介质的信息上报给所述分布式存储系统中的管理节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710832001.6A CN109508140B (zh) | 2017-09-15 | 2017-09-15 | 存储资源管理方法、装置、电子设备及电子设备、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710832001.6A CN109508140B (zh) | 2017-09-15 | 2017-09-15 | 存储资源管理方法、装置、电子设备及电子设备、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109508140A true CN109508140A (zh) | 2019-03-22 |
CN109508140B CN109508140B (zh) | 2022-04-05 |
Family
ID=65744983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710832001.6A Active CN109508140B (zh) | 2017-09-15 | 2017-09-15 | 存储资源管理方法、装置、电子设备及电子设备、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109508140B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026337A (zh) * | 2019-12-30 | 2020-04-17 | 中科星图股份有限公司 | 一种基于机器学习和ceph思想的分布式储存方法 |
CN114327892A (zh) * | 2021-12-28 | 2022-04-12 | 武汉天喻信息产业股份有限公司 | Flash资源管理方法、存储介质、电子设备及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038755A (zh) * | 2011-08-04 | 2013-04-10 | 华为技术有限公司 | 多节点系统中数据缓存的方法、装置及系统 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
CN104679661A (zh) * | 2013-11-27 | 2015-06-03 | 阿里巴巴集团控股有限公司 | 混合存储的控制方法及混合存储系统 |
JP2015185133A (ja) * | 2014-03-26 | 2015-10-22 | 日本電気株式会社 | 情報記憶装置および情報記憶方法 |
CN106502591A (zh) * | 2016-10-26 | 2017-03-15 | 深圳市深信服电子科技有限公司 | 一种基于混合存储产品的存储控制方法和存储控制装置 |
CN106708442A (zh) * | 2016-12-30 | 2017-05-24 | 武汉安嘉颐科技有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
CN107092563A (zh) * | 2017-04-20 | 2017-08-25 | 紫光华山信息技术有限公司 | 一种垃圾回收方法及装置 |
-
2017
- 2017-09-15 CN CN201710832001.6A patent/CN109508140B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038755A (zh) * | 2011-08-04 | 2013-04-10 | 华为技术有限公司 | 多节点系统中数据缓存的方法、装置及系统 |
CN104679661A (zh) * | 2013-11-27 | 2015-06-03 | 阿里巴巴集团控股有限公司 | 混合存储的控制方法及混合存储系统 |
JP2015185133A (ja) * | 2014-03-26 | 2015-10-22 | 日本電気株式会社 | 情報記憶装置および情報記憶方法 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
CN106502591A (zh) * | 2016-10-26 | 2017-03-15 | 深圳市深信服电子科技有限公司 | 一种基于混合存储产品的存储控制方法和存储控制装置 |
CN106708442A (zh) * | 2016-12-30 | 2017-05-24 | 武汉安嘉颐科技有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
CN107092563A (zh) * | 2017-04-20 | 2017-08-25 | 紫光华山信息技术有限公司 | 一种垃圾回收方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026337A (zh) * | 2019-12-30 | 2020-04-17 | 中科星图股份有限公司 | 一种基于机器学习和ceph思想的分布式储存方法 |
CN114327892A (zh) * | 2021-12-28 | 2022-04-12 | 武汉天喻信息产业股份有限公司 | Flash资源管理方法、存储介质、电子设备及装置 |
CN114327892B (zh) * | 2021-12-28 | 2024-05-03 | 武汉天喻信息产业股份有限公司 | Flash资源管理方法、存储介质、电子设备及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109508140B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990132B2 (en) | Off-heap direct-memory data stores, methods of creating and/or managing off-heap direct-memory data stores, and/or systems including off-heap direct-memory data store | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
CN102782683B (zh) | 用于数据库服务器的缓冲池扩展 | |
CN104978362B (zh) | 分布式文件系统的数据迁移方法、装置及元数据服务器 | |
CN109800185B (zh) | 一种数据存储系统中的数据缓存方法 | |
US20150058548A1 (en) | HIERARCHICAL STORAGE FOR LSM-BASED NoSQL STORES | |
CN108009008A (zh) | 数据处理方法和系统、电子设备 | |
CN106445405B (zh) | 一种面向闪存存储的数据访问方法及其装置 | |
KR20120090965A (ko) | 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법 | |
US9307024B2 (en) | Efficient storage of small random changes to data on disk | |
US20180107601A1 (en) | Cache architecture and algorithms for hybrid object storage devices | |
CN104503703B (zh) | 缓存的处理方法和装置 | |
CN109947363A (zh) | 一种分布式存储系统的数据缓存方法 | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
CN109086141B (zh) | 内存管理方法和装置以及计算机可读存储介质 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
US11199972B2 (en) | Information processing system and volume allocation method | |
CN115427941A (zh) | 数据管理系统和控制的方法 | |
CN109710587A (zh) | 基于Ceph的数据分层方法、系统、设备和介质 | |
CN108089825B (zh) | 一种基于分布式集群的存储系统 | |
CN106227621A (zh) | 基于逻辑卷管理精简卷的数据备份方法及系统 | |
CN113377292B (zh) | 一种单机存储引擎 | |
CN111158602A (zh) | 数据分层存储方法、读取方法、存储主机及存储系统 | |
US20190294590A1 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
CN103942301A (zh) | 一种面向多数据类型访问应用的分布式文件系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |