CN102123176B - 一种网络存储系统空间分配管理方法及装置 - Google Patents

一种网络存储系统空间分配管理方法及装置 Download PDF

Info

Publication number
CN102123176B
CN102123176B CN201110064046.6A CN201110064046A CN102123176B CN 102123176 B CN102123176 B CN 102123176B CN 201110064046 A CN201110064046 A CN 201110064046A CN 102123176 B CN102123176 B CN 102123176B
Authority
CN
China
Prior art keywords
lun
block
index
resource block
space
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.)
Active
Application number
CN201110064046.6A
Other languages
English (en)
Other versions
CN102123176A (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.)
Hangzhou Sequoia Polytron Technologies Inc
Original Assignee
Macrosan Technologies Co Ltd
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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN201110064046.6A priority Critical patent/CN102123176B/zh
Publication of CN102123176A publication Critical patent/CN102123176A/zh
Application granted granted Critical
Publication of CN102123176B publication Critical patent/CN102123176B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明提供一种网络存储系统空间分配管理装置及方法,用于执行网络存储系统内的资源管理操作,其包括:资源管理单元,创建RAID并把该RAID的可用空间根据指定长度划分为多个资源块并创建块表;创建逻辑资源时为该其建立索引区,该索引区中所有指向物理资源块的索引初始值为空;该装置还包括正向和反向空间管理单元,前者用于在处理逻辑资源上的IO请求时使能实际物理资源块的分配,后者用于闲置资源块的回收与利用。本发明通过资源块的分配和回收,有效提高了存储空间的利用效率。

Description

一种网络存储系统空间分配管理方法及装置
技术领域
本发明涉及网络存储技术,尤其涉及一种RAID阵列资源块管理技术。
背景技术
在涉及众多主机的数据存储的网络环境中,为了提高数据存储的可靠性和安全性,同时为了存储容量的扩展性和灵活性,网络存储技术应运而生。通常来说,网络存储系统的作用是为客户端PC机或者服务器(一般统称为主机或Host)提供可用的存储空间。
一般网络存储系统的前端可以通过IP网络或者FC网络与主机相连,为主机提供数据存储服务。在数据传输方面,以基于IP承载的网络存储系统为例,主机可以基于标准的iSCSI(互联网小型计算机系统接口)协议网络存储系统进行数据的读写操作。网络存储系统的核心是存储控制器(StorageController),存储控制器进行数据处理并把数据写入到后端物理磁盘中。
在传统的网络存储系统中,当主机的某项应用需要一部分存储空间的时候,往往是预先从后端存储系统中划分出一部分足够大的空间预先分配给该项应用,即使这项应用暂时不需要使用这么大的存储空间。但由于这部分存储空间已经被预留了出来,其它应用程序无法利用这些已经部署但实际上处于闲置的存储空间。这种分配模式一方面使闲置的存储空间不断增加,系统总体拥有成本升高;另一方面用户不得不购买更大的存储容量,才能满足业务扩展的需求,成本进一步加大。
自动精简配置(Thin Provisioning)技术是解决上述存储空间过量供给的途径之一。自动精简配置是一种存储管理的特性,核心原理是“欺骗”客户端操作系统,让客户端操作系统认为已经分配了很大逻辑资源,比如客户端操作系统看到一个2TB的逻辑资源,而实际上网络存储设备上只为这个资源分配了几十或者几百GB的物理空间,其余空间都是虚拟出来的。随着应用程序写入越来越多的数据,物理存储利用率也会越来越高,当实际分配的物理空间不足时,再分配额外的物理空间,随需扩展。
请参考图1,服务器(Server)识别逻辑资源(LUN)时,看到的并不是真实空间,而是由自动精简配置技术虚拟出来的空间,真实分配的物理空间取决于资源分配策略,可能只有总空间的四分之一,甚至更少。支持自动精简配置技术的存储系统,可以对LUN进行分类管理,可以使得未启用自动精简配置的LUN和启用自动精简配置的LUN同时存在。
创建一个未启用自动精简配置的LUN时,需要指定LUN总容量、以及在哪些RAID上创建LUN,这里指定的LUN总容量是指客户端看到的LUN大小,也是LUN实际占用的物理空间大小。系统在指定的RAID上分配存储空间,并创建LUN的段表,标识LUN和RAID的对应关系,同时修改RAID的段表,标识这些段已经使用。因为LUN的所有物理空间均已分配,因此LUN的段表也标记了LUN线性空间和RAID实际物理空间的对应关系,LUN上收到IO请求时,根据LUN段表找到对应的物理空间,下发读写命令。
请参考图2所示,逻辑资源1容量为500GB,位于RAIDx和RAIDy上,创建时分配了RAIDx的段1和RAIDy的段1,容量分别为200GB和300GB,因此,逻辑资源1段表的前200GB的空间指向RAIDx的段1,后300GB空间指向RAIDy的段1。
创建一个启用自动精简配置的LUN时,需要指定LUN总容量、LUN预分配物理空间大小以及占用的RAID、LUN物理空间扩容策略。LUN总容量是指客户端看到的LUN大小,LUN预分配物理空间大小是指创建LUN时实际占用的物理空间大小,LUN物理空间扩容策略是指LUN物理空间扩容的触发条件以及扩容策略,比如LUN预分配物理空间使用率达到80%时触发扩容,每次扩容的步长是LUN总容量的5%。系统在指定的RAID上根据LUN预分配物理空间大小分配资源,并创建LUN的段表,标识LUN和RAID的对应关系,同时修改RAID的段表,标识这些段已经使用。
因为启用了自动精简配置的LUN实际分配的物理空间和客户端看到的总空间不对等,因此还需要维护一个专门的LUN线性表,用于记录LUN线性空间和RAID实际物理空间的对应关系。当LUN上收到一个IO写请求时,先从预分配的物理空间中分配应用要访问的空闲空间,修改LUN线性表,写入数据。当LUN上收到一个IO读请求时,如果LUN线性表中有对应的物理空间,直接访问,如果没有,则直接返回全0。
为了简化线性表的管理,一种改进方案是把LUN预分配物理空间按照指定的长度分片,每次从空闲空间分配物理空间时,都按照分片为单位分配容量。当LUN预分配物理空间使用率达到预设的值时,触发物理空间扩容,为LUN分配更多的物理空间,用于后续访问。
请参考图3所示,逻辑资源n启用了启动精简配置,预分配的物理空间位于RAIDy上,对应RAIDy的段n,逻辑资源n需要额外维护一个线性表,记录其线性空间和RAID实际物理空间的对应关系。
上述方案在一定程度上减少了资源浪费,但是还是存在下面的问题:首先LUN预分配物理空间设置为多少最合适,这多数取决于管理员经验。其次,LUN预分配物理空间是每个LUN私有的,多个启用了自动精简配置的LUN之间无法共享这部分空间。最后,系统中启用了自动精简配置的LUN、未启用自动精简配置的LUN共存,采用不同的管理方式,随着应用需求变更,为一个已经存在的LUN启用、禁用自动精简配置的实现非常复杂。
发明内容
有鉴于此,本发明旨在提供一种空间分配方法及装置,提供存储空间的利用效率。本发明是通过以下技术方案实现的:
一种网络存储系统空间分配管理装置,用于执行网络存储系统内的资源管理操作,其中网络存储系统包括存储控制器以及多块磁盘,所述存储控制器的前端端口通过网络连接主机,所述存储控制器的后端磁盘端口与所述磁盘相连;该管理装置包括:
资源管理单元,用于使用所述磁盘创建RAID,并把该RAID的可用空间根据指定长度划分为多个资源块,并创建该RAID对应的块表用于记录资源块是否已被分配使用;其中该资源管理单元进一步用于在创建逻辑资源(LUN)时为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引(Block索引)的初始值为空;
正向空间管理单元,用于在LUN上接收到IO读请求时,判断要访问的区域对应的Block索引是否为空,如果是则返回区域数据为空,如果否,则访问该Block索引对应的资源块;以及用于在LUN上接受到IO写请求时,判断要访问的区域对应的Block索引是否为空,如果是,则对应分配一个空闲的资源块,触发资源管理单元相应修改块表以及LUN索引区,然后将数据写入该新分配的资源块;否则将数据写入该Block索引对应的资源块。
优选地,所述资源管理单元,进一步用于在创建LUN时判断该LUN对应的预设空间分配标记是否为真,如果不为真则继续;如果为真则为该LUN分配物理资源块并更新块表,并为该LUN建立索引区,该索引区中所有指向物理资源块的索引(Block索引)的初始值指向对应的资源块。
优选地,其中所述资源管理单元在LUN索引区中还记录资源块写标记(write_flag),所述正向空间管理单元在资源块写入数据后,将对应的write_flag修改为真,其特征在于,该装置还包括:
反向空间管理单元,用于将空间分配标记为真的LUN对应的索引区中write_flag标记为假的Block索引修改为空,并触发资源管理单元在块表中将对应的资源块修改为空闲;该LUN的所有资源块都处理完成后,将空间分配标记修改为假。
优选地,其中所述资源管理单元在LUN索引区中还记录资源块写标记(write_flag),所述正向空间管理单元在资源块写入数据后,将对应的write_flag修改为真,其特征在于,该装置还包括:
反向空间管理单元,用于将空间分配标记为假的LUN对应的索引区中Block索引为空的Block索引分配物理资源块,并触发资源管理单元更新块表以及LUN索引区的Block索引;该LUN的所有资源块都处理完成后,将空间分配标记修改为真。
优选地,其中所述多个资源块大小相同。
本发明还提供一种网络存储系统空间分配管理方法,用于执行网络存储系统内的资源管理操作,其中网络存储系统包括存储控制器以及多块磁盘,所述存储控制器的前端端口通过网络连接主机,所述存储控制器的后端磁盘端口与所述磁盘相连;该管理方法包括:
步骤A,使用所述磁盘创建RAID,并把该RAID的可用空间根据指定长度划分为多个资源块,并创建该RAID对应的块表用于记录资源块是否已被分配使用;
步骤B,在创建逻辑资源(LUN)时为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引(Block索引)的初始值为空;
步骤C,在LUN上接收到IO读请求时,判断要访问的区域对应的Block索引是否为空,如果是则返回区域数据为空,如果否,则访问该Block索引对应的资源块;
步骤D,在LUN上接受到IO写请求时,判断要访问的区域对应的Block索引是否为空,如果是,则对应分配一个空闲的资源块,触发资源管理单元相应修改块表以及LUN索引区,然后将数据写入该新分配的资源块;否则将数据写入该Block索引对应的资源块。
优选地,还包括:
步骤E,在创建LUN时判断该LUN对应的预设空间分配标记是否为真,如果不为真则继续;如果为真则为该LUN分配物理资源块并更新块表,并为该LUN建立索引区,该索引区中所有指向物理资源块的索引(Block索引)的初始值指向对应的资源块。
优选地,还包括:
步骤F,在LUN索引区中还记录资源块写标记(write_flag),并在在资源块写入数据后,将对应的write_flag修改为真;
步骤G,将空间分配标记为真的LUN对应的索引区中write_flag标记为假的Block索引修改为空,并在块表中将对应的资源块修改为空闲;该LUN的所有资源块都处理完成后,将空间分配标记修改为假。
优选地,还包括:
步骤F,在LUN索引区中还记录资源块写标记(write_flag),并在在资源块写入数据后,将对应的write_flag修改为真;
步骤H,将空间分配标记为假的LUN对应的索引区中Block索引为空的Block索引分配物理资源块,并更新块表以及LUN索引区的Block索引;该LUN的所有资源块都处理完成后,将空间分配标记修改为真。
优选地,其中所述多个资源块大小相同。
在本发明中,所有空间分配标记为假的LUN可共享存储系统中所有空闲的Block,支持谁使用谁分配的原则;同时对于用户需求的变化,及时地进行反向空间分配操作,最大程度的提高资源空间利用率,避免了磁盘空间的浪费,降低了用户部署网络存储系统的成本,同时能及时响应用户需求的变化。
附图说明
图1是现有技术中自动精简配置技术逻辑示意图。
图2是一种现有的自动精简配置技术逻辑原理图。
图3是另一种现有的自动精简配置技术逻辑原理图。
图4是本发明网络存储系统管理装置逻辑层次图。
图5是本发明网络存储系统管理装置逻辑结构图。
图6是本发明记录资源块分配使用情况的块表示意图。
图7是本发明为逻辑资源分配资源块示意图。
图8是本发明响应读操作的流程图。
图9是本发明响应写操作的流程图。
图10是本发明一种对空间进行反向管理操作的流程图。
图11是本发明另一种对空间进行反向管理操作的流程图
具体实施方式
通常网络存储系统为方便主机的数据读写,为了对主机屏蔽存储资源物理上的差异,可以通过虚拟化技术对物理存储资源进行抽象,在物理层面以上(在本发明中是指RAID以上)形成面向用户主机的逻辑资源,并且相应生成逻辑资源地址映射表,以记录逻辑地址与物理地址的映射关系。请参考图3的逻辑层次图,本发明在逻辑资源层与物理层之间引入资源块管理层。以下结合其他附图进一步介绍本发明的详细实施方式。
请参考图4以及图5,本发明网络存储系统管理装置10主要用于执行网络存储系统内的资源管理操作,其中网络存储系统包括存储控制器以及多块磁盘,所述存储控制器的前端端口通过网络连接主机,所述存储控制器的后端磁盘端口与所述磁盘相连,一般来说存储控制器是一个较为完善的计算机系统,其包括CPU与内存等基本硬件以及操作系统等底层软件。以计算机软件实现本发明为例,从逻辑层面看,前述的管理装置10包括:资源管理单元11、正向空间管理单元12以及反向空间分配单元13。该管理装置在网络存储系统中运行,结合网络存储系统其他模块一并运行时,主要包括以下步骤:
步骤101,在网络存储系统中利用所述磁盘创建RAID阵列;并把所述RAID的可用存储空间根据指定大小划分为多个资源块(Block),其中资源块大小可以是用户通过资源管理单元配置的,各个RAID的资源块的大小可以相同也可以不同,这取决对管理开销的容忍度。
把RAID的可用空间划分为多个资源块的同时创建RAID的块表,每个资源块和资源分配相关的特性是已使用和未使用(即空闲),因此块表实现上可以使用bitmap表,bit设置为1表示对应的块已使用,一方面可提高检索效率,另一方面可节省块表占用的空间。请参考图6,比如将一个64GB的第一RAID阵列(array1)按照1GB的块大小划分为64块,array1的块表仅需要8个字节的空间,块表中bit位为1的表示对应的资源块已使用,为0则表示对应的资源块未使用。再比如将一个32GB的第二RAID阵列(array2)按照512M的块大小划分为64块,第二RAID阵列的块表同样也需要8个字节的空间,块表中bit位为1的表示对应的资源块已使用,为0则表示对应的资源块未使用。进一步来说,如果所述指定长度是多个不同的长度,此时可以进一步在块表中记录块的大小,这样可以满足其他管理操作的需求,比如数据迁移等等,但这与本发明主题并不是紧密相关的,不再进一步讨论。
步骤102,创建逻辑资源(LUN)前先判断该LUN预设的空间分配标记是否为真,如果是转步骤104,否则转入步骤103;
步骤103,在创建逻辑资源时为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引(Block索引)的初始值为空;该索引区中所有Block对应的写标记(write_flag)初始值为假;
步骤104,在创建逻辑资源时为该LUN分配实际的物理资源块,修改对应的块表,为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引(Block索引)的初始值指向对应的物理资源块;该索引区中所有Block对应的写标记(write_flag)初始值为假。步骤101至步骤104由资源管理单元11执行。
步骤103与步骤104的差别主要在于是否真实地分配物理空间。步骤104为逻辑资源分配的真实的空间,所谓真实分配是指在逻辑资源占用的RAID阵列的块表中将分配给该逻辑资源的资源块标记更新为已使用状态;为该逻辑资源建立索引区以记录逻辑资源线性逻辑空间与其自身分配到的RAID资源块物理空间的对应关系。而步骤103只是虚拟分配空间,虚拟分配到的资源块在索引区的Block索引是空,并没有指向任何真实的资源块,块表中的任何资源块的状态也没有因此被标记为已分配使用。所谓虚拟分配只是为让主机侧认为其已经获得了相应的存储空间。
在创建逻辑资源时,本发明引入一个新的参数—空间分配标记,该标记包括真假两种状态(比如1和0),分别对应表示创建逻辑资源时是否需要分配真实的物理空间。当然这一参数并不是必须的,因为在有些应用场景中,所有的LUN都只需要虚拟分配或者只需要真实分配空间。
假设分配标记为真,则创建LUN时需要分配真实的物理空间。此时需要在预先设定的索引区记录逻辑资源对应到哪些资源块。请参考图7,索引区中的前四行记录了第一RAID阵列的哪些资源块被分配给了LUN1,以标记A0B10为例,其表示array1的第十个资源块,即块表中第二行从左到右第二个位置所表示的资源块,这个索引区记录了逻辑资源线性逻辑空间与RAID资源块物理空间的对应关系。虽然图6所示的情形是LUN1对应的所有资源块都在一个RAID阵列中。很容易理解的是,LUN1对应的资源块可以分布在不同的RAID阵列中。如果分配了其他RAID阵列的资源块的话,则需要在索引区中进行同样的记录。假设针对LUN启用了自动精简配置特性,则LUN虚拟分配到的所有资源块的索引区标记都是空。
步骤103以及步骤104中针对每个资源块,无论是虚拟分配还是真实分配的,均设定一个write_flag,其同样包括真假两种状态(比如1和0),以表明该资源块在分配之后是否已经写入数据。这一标记将在后续流程中协助为用户分配真实空间或者回收真实空间。
步骤105,请参考图8,LUN上接收到IO读请求时,判断Block索引是否为空,如果是则返回全0(表示主机读取的区域数据为空),如果否,则访问Block索引对应的资源块。
步骤106,请参考图9,LUN上收到IO写请求时,判断Block索引是否为空,如果是,真实分配一个空闲的资源块,相应修改块表以及Block索引,然后将数据写入该资源块;否则将数据写入该Block索引对应的资源块,同时将写入数据的资源块的write_flag修改为1。步骤105和106由正向空间管理单元执行。
在读取Block索引为空的资源块时返回全0是因为用户之前并没有实际写入任何数据,所以该资源块上肯定是空白,所以此时不需要分配实际的资源块,只需要返回全0即可。而写入数据的时候,表明用户需要当前的访问位置存在真实的存储空间,如果Block索引是空,则显然需要分配一个真实的资源块,同时创建反应逻辑空间与物理空间映射关系的Block索引,然后将数据写入。而write_flag的设置则与步骤107与108相关,步骤107与108由反向空间分配单元执行。需要说明的是,步骤107与108并不是实现本发明所必需的步骤,同样的道理write_flag参数也不是必须设置的。
步骤107,将空间分配标记为真的LUN中资源块的write_flag标记为假的Block索引修改为空,并在块表中将对应的资源块修改为空闲;
在具体实现上,请参考图10:
步骤1071,顺序读取空间分配标记为真的LUN的逻辑索引区中的下一条Block索引(初始为第0条),如果读取到下一条,转步骤1072,如果读取不到,表明已经读取到最后一条,转步骤1074;
步骤1072,进一步判断对应资源块的write_flag是否为假,如果是转步骤1073,否则返回步骤1071;
步骤1073,将该Block索引修改为空,并在块表中将对应的资源块修改为空闲;返回1071;
步骤1074,将该LUN的空间分配标记修改为假。
很明显对于存在Block索引但write_flag为0的资源块表示用户实际上没有向该资源块写入任何用户数据,因此可以回收起来供其他LUN分配使用。而步骤1074,由于所有存在Block索引但write_flag为0的空闲资源块都被回收了,且LUN此时分配到的实际资源块的容量小于向主机用户分配的LUN容量,因此该LUN空间分配标记应该被修改为假。步骤107所应用的场景是,某些需要预先分配物理空间的应用本身可能会发生变化,导致已经分配出去的物理空间长期闲置,此时本发明可以对此进行回收加以利用。
步骤108,为空间分配标记为假的LUN索引区中Block索引为空的Block索引分配资源块,并更新块表以及LUN索引区的Block索引。
在具体实现上,请参考图11:
步骤1081,顺序读取空间分配标记为假的LUN索引区中的下一条Block索引(初始为第0条),如果读取到下一条,转步骤1072,如果读取不到,表明已经读取到最后一条,转步骤1074;
步骤1082,进一步判断对应资源块的write_flag是否为假,如果是转步骤1083,否则返回步骤1081;
步骤1083,对应分配一个空闲资源块,并更新块表以及该资源块的Block索引;返回1081;
步骤1084,将该LUN的空间分配标记修改为真。
针对空间分配标记设置为假的LUN,如果应用需求发生了变更,比如说:顺序访问居多且要求IO响应时间越短越好,利用本发明也可以动态的、在线的为LUN预分配所有的真实物理空间,因而能够及时地响应用户需求的变化。
在本发明中,所有空间分配标记为假的LUN可共享存储系统中所有空闲的Block,支持谁使用谁分配的原则;同时对于用户需求的变化,及时地进行反向空间分配操作,最大程度的提高资源空间利用率,避免了磁盘空间的浪费,降低了用户部署网络存储系统的成本,同时能及时响应用户需求的变化。
本发明需要补充说明的是,本申请人在之前以及后续申请的相关专利申请中对逻辑单元划分的标准并不相同,其出发点是为了更好地让本领域普通技术人员了解各个发明独特之处,达到充分公开之目的。在不同的申请中,即便对于名称相同的逻辑单元,其执行的步骤可能也不尽相同。因此并不能依据其他相关申请对本发明做出限制性的解释。以上所述仅仅为本发明较佳的实现方式,任何基于本发明精神所做出的等同的修改皆应涵盖于本发明的权利要求范围中。

Claims (8)

1.一种网络存储系统空间分配管理装置,用于执行网络存储系统内的资源管理操作,其中网络存储系统包括存储控制器以及多块磁盘,所述存储控制器的前端端口通过网络连接主机,所述存储控制器的后端磁盘端口与所述磁盘相连;该管理装置包括:
资源管理单元,用于使用所述磁盘创建RAID,并把该RAID的可用空间根据指定长度划分为多个资源块,并创建该RAID对应的块表用于记录资源块是否已被分配使用;其中该资源管理单元进一步用于在创建逻辑资源LUN时为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引即Block索引的初始值为空;
正向空间管理单元,用于在LUN上接收到IO读请求时,判断要访问的区域对应的Block索引是否为空,如果是则返回区域数据为空,如果否,则访问该Block索引对应的资源块;以及用于在LUN上接受到IO写请求时,判断要访问的区域对应的Block索引是否为空,如果是,则对应分配一个空闲的资源块,触发资源管理单元相应修改块表以及LUN索引区,然后将数据写入新分配的资源块;否则将数据写入该Block索引对应的资源块;
其中,所述资源管理单元,进一步用于在创建LUN时判断该LUN对应的预设空间分配标记是否为真,如果为真则为该LUN分配物理资源块并更新块表,并为该LUN建立索引区,该索引区中所有指向物理资源块的索引即Block索引的初始值指向对应的资源块。
2.根据权利要求1所述的装置,其中所述资源管理单元在LUN索引区中还记录资源块写标记write_flag,所述正向空间管理单元在资源块写入数据后,将对应的write_flag修改为真,其特征在于,该装置还包括:
反向空间管理单元,用于将空间分配标记为真的LUN对应的索引区中write_flag标记为假的Block索引修改为空,并触发资源管理单元在块表中将对应的资源块修改为空闲;该LUN的所有资源块都处理完成后,将空间分配标记修改为假。
3.根据权利要求1所述的装置,其中所述资源管理单元在LUN索引区中还记录资源块写标记write_flag,所述正向空间管理单元在资源块写入数据后,将对应的write_flag修改为真,其特征在于,该装置还包括:
反向空间管理单元,用于将空间分配标记为假的LUN对应的索引区中Block索引为空的Block索引分配物理资源块,并触发资源管理单元更新块表以及LUN索引区的Block索引;该LUN的所有资源块都处理完成后,将空间分配标记修改为真。
4.根据权利要求1所述的管理装置,其中所述多个资源块大小相同。
5.一种网络存储系统空间分配管理方法,用于执行网络存储系统内的资源管理操作,其中网络存储系统包括存储控制器以及多块磁盘,所述存储控制器的前端端口通过网络连接主机,所述存储控制器的后端磁盘端口与所述磁盘相连;该管理方法包括:
步骤A,使用所述磁盘创建RAID,并把该RAID的可用空间根据指定长度划分为多个资源块,并创建该RAID对应的块表用于记录资源块是否已被分配使用;
步骤B,在创建逻辑资源LUN时为该LUN建立索引区,该索引区用于记录LUN线性空间和分配给该LUN的物理资源块的对应关系,该索引区中所有指向物理资源块的索引即Block索引的初始值为空;
步骤C,在LUN上接收到IO读请求时,判断要访问的区域对应的Block索引是否为空,如果是则返回区域数据为空,如果否,则访问该Block索引对应的资源块;
步骤D,在LUN上接受到IO写请求时,判断要访问的区域对应的Block索引是否为空,如果是,则对应分配一个空闲的资源块,触发资源管理单元相应修改块表以及LUN索引区,然后将数据写入新分配的资源块;否则将数据写入该Block索引对应的资源块;
步骤E,在创建LUN时判断该LUN对应的预设空间分配标记是否为真,如果不为真则继续;如果为真则为该LUN分配物理资源块并更新块表,并为该LUN建立索引区,该索引区中所有指向物理资源块的索引即Block索引的初始值指向对应的资源块。
6.根据权利要求5所述的方法,还包括:
步骤F,在LUN索引区中还记录资源块写标记write_flag,并在在资源块写入数据后,将对应的write_flag修改为真;
步骤G,将空间分配标记为真的LUN对应的索引区中write_flag标记为假的Block索引修改为空,并在块表中将对应的资源块修改为空闲;该LUN的所有资源块都处理完成后,将空间分配标记修改为假。
7.根据权利要求5所述的方法,还包括:
步骤F,在LUN索引区中还记录资源块写标记write_flag,并在在资源块写入数据后,将对应的write_flag修改为真;
步骤H,将空间分配标记为假的LUN对应的索引区中Block索引为空的Block索引分配物理资源块,并更新块表以及LUN索引区的Block索引;该LUN的所有资源块都处理完成后,将空间分配标记修改为真。
8.根据权利要求5所述的管理方法,其中所述多个资源块大小相同。
CN201110064046.6A 2011-03-17 2011-03-17 一种网络存储系统空间分配管理方法及装置 Active CN102123176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110064046.6A CN102123176B (zh) 2011-03-17 2011-03-17 一种网络存储系统空间分配管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110064046.6A CN102123176B (zh) 2011-03-17 2011-03-17 一种网络存储系统空间分配管理方法及装置

Publications (2)

Publication Number Publication Date
CN102123176A CN102123176A (zh) 2011-07-13
CN102123176B true CN102123176B (zh) 2015-05-06

Family

ID=44251627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110064046.6A Active CN102123176B (zh) 2011-03-17 2011-03-17 一种网络存储系统空间分配管理方法及装置

Country Status (1)

Country Link
CN (1) CN102123176B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103391212B (zh) * 2012-05-11 2016-08-24 中兴通讯股份有限公司 一种资源管理的容错方法和装置
CN102855092A (zh) * 2012-08-10 2013-01-02 浪潮(北京)电子信息产业有限公司 存储局域网中存储空间的管理方法和装置
CN103218305B (zh) * 2013-05-10 2016-08-17 曙光信息产业(北京)有限公司 存储空间的分配方法
CN103823641B (zh) * 2014-03-13 2017-01-04 深圳市迪菲特科技股份有限公司 一种在线扩容的虚拟卷系统及其实现方法
CN105988727B (zh) * 2015-02-25 2021-04-16 中兴通讯股份有限公司 一种基于raid的存储方法和存储装置
CN106302587B (zh) * 2015-05-26 2019-07-30 阿里巴巴集团控股有限公司 一种互联网信息资源的调度方法及装置
CN105224470A (zh) * 2015-09-30 2016-01-06 汉柏科技有限公司 一种基于精简配置的存储空间分配方法及装置
CN107203329B (zh) 2016-03-17 2020-12-01 伊姆西Ip控股有限责任公司 存储管理方法及设备
CN107122131B (zh) * 2017-04-18 2020-08-14 杭州宏杉科技股份有限公司 自动精简配置的方法及装置
CN109240617A (zh) * 2018-09-03 2019-01-18 郑州云海信息技术有限公司 分布式存储系统写请求处理方法、装置、设备及存储介质
CN110806916B (zh) * 2019-11-05 2024-01-26 北京金和网络股份有限公司 实现saas平台各租户个性化登录页的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840308A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种分级存储系统及其逻辑卷管理方法
CN101976181A (zh) * 2010-10-15 2011-02-16 杭州宏杉科技有限公司 一种存储资源的管理方法及管理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574560B2 (en) * 2006-01-03 2009-08-11 Emc Corporation Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840308A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种分级存储系统及其逻辑卷管理方法
CN101976181A (zh) * 2010-10-15 2011-02-16 杭州宏杉科技有限公司 一种存储资源的管理方法及管理装置

Also Published As

Publication number Publication date
CN102123176A (zh) 2011-07-13

Similar Documents

Publication Publication Date Title
CN102123176B (zh) 一种网络存储系统空间分配管理方法及装置
CN102255962B (zh) 一种分布式存储方法、装置和系统
US10628043B1 (en) Systems and methods for implementing a horizontally federated heterogeneous cluster
CN104636080B (zh) 存储系统及用于其的方法
JP7097379B2 (ja) ストリームを使用するデータの割り振りエリアへの選択的記憶
CN103797770B (zh) 一种共享存储资源的方法和系统
US7478177B2 (en) System and method for automatic reassignment of shared storage on blade replacement
US7953929B1 (en) Expanding the storage capacity of a virtualized data storage system
CN101997918B (zh) 异构san环境中的海量存储资源按需分配的实现方法
KR101930117B1 (ko) 비휘발성 스토리지 장치 세트의 휘발성 메모리 표현 기법
US9851909B2 (en) Intelligent data placement
US20110066823A1 (en) Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
US20080162735A1 (en) Methods and systems for prioritizing input/outputs to storage devices
US11860791B2 (en) Methods for managing input-output operations in zone translation layer architecture and devices thereof
CN103577345A (zh) 提高由多个系统共享的存储高速缓存灵活性的方法和结构
CN104317742A (zh) 一种优化空间管理的自动精简配置方法
CN101702115B (zh) 一种基于集群存储系统实现块协议接口的方法
US8868877B2 (en) Creating encrypted storage volumes based on thin-provisioning mode information
CN102207830A (zh) 一种缓存动态分配管理方法及装置
US8151079B2 (en) Computer system, storage area allocation method, and management computer
CN111949210A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN104731907A (zh) 基于nosql的数据存储方法
US8725979B1 (en) Efficient methods and systems for allocating storage volumes
CN101997919B (zh) 一种存储资源的管理方法及管理装置
CN110308865A (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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 310052 Hangzhou City, Binjiang District Province, Hing Road, No. 2, floor 1, unit 02, unit 301, 03

Patentee after: Hangzhou Sequoia Polytron Technologies Inc

Address before: 310052 Hangzhou City, Binjiang District Province, Hing Road, No. 2, floor 1, unit 02, unit 301, 03

Patentee before: Hangzhou MacroSAN Technologies Co., Ltd.