一种数据迁移方法和装置制造方法

文档序号:6532525阅读:157来源:国知局
一种数据迁移方法和装置制造方法
【专利摘要】本发明提供了一种数据迁移技术,包括:获取第一磁盘组的负载信息;当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号LUN的至少一个迁出Extent中的数据读取到所述控制器的缓存中;获取第二磁盘组中的至少一个迁入Extent,所述迁入Extent的数量和所述迁出Extent的数量相同,每个所述迁出Extent的RAID等级和一个所述迁入Extent的RAID等级一一对应,所述迁入Extent是空闲的Extent;将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系。
【专利说明】一种数据迁移方法和装置
【技术领域】
[0001]本发明涉及存储技术,特别涉及一种数据迁移技术。
【背景技术】
[0002]在存储领域中,为了提高数据的读写速度或者增强数据的安全性,一种称为廉价磁盘阵列(Redundant Arrays of Independent Disks, RAID)的技术得到广泛应用。在这项技术中,按照某个RIAD级别的要求把多个磁盘联系在一起,组成一个RAID组。
[0003]按照小型计算机系统接口(SmallComputer System Interface, SCSI),或者纤维通道(Fibre Channel, FC)、因特网小型计算机系统接口网iSCSI (internet SmallComputer System Interface, SCSI)等封装了 SCSI的协议,或者其他类似协议,可以根据RAID组的容量,从逻辑上对RAID组做横向切割,把这个RAID组划分成多个逻辑单元(LogicUnit)。在存储领域中,习惯上也以LUN (逻辑单元号,Logic Unit Number)来称呼逻辑单元,除非特别说明,本发明沿用这种习惯。
[0004]RAID组中每个磁盘都为这个LUN提供相同大小的存储空间,每个切割下来的单元就称为一个LUN。每个LUN可以单独供主机访问,这样的话,原先的一个RAID组就可以逻辑上作为多个RAID组来使用了。
[0005]磁盘组由至少一个RAID组组成,由于磁盘组内磁盘数量难以直接扩充,而磁盘组建立之初,难以确定用户对资源的实际需求量,因此经常出现磁盘组能提供的资源难以满足用户需求的情况。

【发明内容】

[0006]本发明提供一种数据迁移技术,可以实现跨磁盘组的数据迁移。
[0007]第一方面,本发明提供一种数据迁移方法,应用于控制器中,所述控制器分别和第一磁盘组、第二磁盘组连接,所述第一磁盘组DG以及所述第二磁盘组均包括磁盘 ,每个所述磁盘包括多个分块Chunk,其中,至少2个来自同一 DG且不同磁盘的Chunk,按照廉价磁盘冗余阵列RAID算法组成分块组CKG,每个CKG划分成多个长度Extent,且所述CKG中每个所述Chunk为所述Extent提供同样大小的存储空间,该方法包括:获取第一磁盘组的负载信息;当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号LUN的至少一个迁出Extent中的数据读取到所述控制器的缓存中;获取第二磁盘组中的至少一个迁入Extent,所述迁入Extent的数量和所述迁出Extent的数量相同,每个所述迁出Extent
的RAID等级和一个所述迁入Extent的RAID等级--对应,所述迁入Extent是空闲的
Extent ;将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系。
[0008]在第一方面的第一种可能的实现方式中,负载信息包括:每秒带宽BPS高于第一阈值,与空闲存储空间低于第二阈值中的至少一种。
[0009]第二方面,本发明提供一种数据迁移装置,用于迁移第一磁盘组的数据到第二磁盘组,所述第一磁盘组DG以及所述第二磁盘组均包括磁盘,每个所述磁盘包括多个分块Chunk,其中,至少2个来自同一 DG且不同磁盘的Chunk,按照廉价磁盘冗余阵列RAID算法组成分块组CKG,每个CKG划分成多个长度Extent,且所述CKG中每个所述Chunk为所述Extent提供同样大小的存储空间,该装置包括:参数获取单元,用于获取第一磁盘组的负载信息;数据读取单元,和所述参数获取单元41连接,当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号LUN的至少一个迁出Extent中的数据读取到所述控制器的缓存中;数据写入单元,和所述数据读取单元连接,用于获取第二磁盘组中的至少一个迁入Extent,所述迁入Extent的数量和所述迁出Extent的数量相同,每个所述迁出Extent
的RAID等级和一个所述迁入Extent的RAID等级--对应,所述迁入Extent是空闲的
Extent ;LUN更新单元,用于将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系。
[0010]在第二方面的第一种可能的实现方式中,负载信息包括:每秒带宽BPS高于第一阈值,与空闲存储空间低于第二阈值中的至少一种。
【专利附图】

【附图说明】
[0011]为了更清楚地说明本发明实施例技术方案,下面将对实施例所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其他的附图。
[0012]图1是本发明实施例数据迁移方法流程图;
[0013]图2是本发明实施例控制器示意图;
[0014]图3是本发明实施例·数据迁移装置结构图。
【具体实施方式】
[0015]下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所获得的所有其他实施例,都属于本发明保护的范围。
[0016]传统的RAID技术中,先按照选定的RAID级别把多个磁盘组合在一起形成RAID组,然后以RAID组中每个磁盘作为最小单位,每个磁盘取出大小相等的一部分空间共同组成LUN。LUN作为单位提供给主机读写,因为LUN横跨了所有磁盘,所以当主机写数据时,数据会写到整个RAID组中;读数据时,由整个RAID组提供数据给主机。
[0017]大部分RAID级别都提供了数据重构的功能。例如在RAID3中,有一个磁盘存储校验数据,其余磁盘存储业务数据。当有一个磁盘发生了故障后,可以由其余磁盘通过校验算法恢复出故障磁盘中的数据。然而,由于单个磁盘的存储空间越来越大,而组成RAID组中的磁盘数量往往不多,例如由6个磁盘组成一个RAID组,因此如果有一个磁盘发生了故障,只能由RAID组中数量不多的其余磁盘参与重构,这个时间可能会很漫长,例如重构I太字节(TB)的数据块,需要耗费10小时。如果重构期间有新的磁盘发生故障,将可能对存储系统造成无法恢复的数据丢失。
[0018]和现有技术中直接以磁盘作为粒度建立RAID组不同的是。本发明方案中,先把多个磁盘中的每个磁盘切分成大小相等的分块(CK,Chunk),例如6个磁盘组成一个磁盘组(Disk Group, DG),把DG中每个磁盘切分成大小是64MB (兆字节)的Chunk,然后以Chunk作为粒度建立RAID组,例如3个Chunk组成一个RAID组,由这些Chunk构成的RAID组,我们称为分块组(Chunk Group, CKG)。同一个磁盘中不会有属于同一个CKG中多个Chunk,换句话说,一个磁盘至多为一个CKG提供一个Chunk。并非DG中的每个磁盘都要为CKG提供Chunk,也就是,CKG中Chunk的数量可以比DG中磁盘的数量少。
[0019]需要说明的是,本发明所涉及的技术并不受限于存储介质本身,因此除了磁盘外,同样适用于固态硬盘、可擦写光盘、软盘、磁带等其他介质,为了方便说明,本发明实施例以磁盘进行举例。本发明实施例所说的数据,例如图片、视频、数据库数据、音频、文本等。
[0020]此时磁盘间不再组成传统的RAID关系,而是可以组成更大磁盘数量的磁盘组(例如96个磁盘),磁盘上的Chunk可与此磁盘组中不同磁盘的Chunk组成CKG。每个CKG可以有自己的RAID级别,这样,一个磁盘上的Chunk可以属于多个RAID级别的多个分块组。
[0021]把CKG中的每个Chunk划分成小块的存储空间,由每个Chunk提供相同大小的一块空间,可以组成一个长度(Extent),—个Extent的大小例如256KB (千字节)。用这种办法,可以把一个CKG可以分割成多个Extent,形成Extent Pool (长度池)。Extent是组成本发明LUN的基本单元,从Extent Pool中选取一个或多个Extent可以组成LUN以供主机访问。当LUN由多个Extent组成时,组成这个LUN的Extent来自同一个CKG,也可以来自不同的CKG,组成同一个LUN的Extent的RAID级别可以相同也可以不同,Extent的Raid级别与其来自的CKG的RAID级别相同。属于同一个LUN的不同Extent的存储空间大小相同,可以方便数据迁移时实现互斥。
[0022]此外,由于传统RAID技术中,对LUN中数据的寻址方式是LUN ID+逻辑块地址(LBA)地址。如果每6个Chunk组成一个RAID组,那么每个Extent的存储空间也来自6个磁盘。但是由于LUN由不同的Extent组成,而每个Extent所跨越的磁盘可以不一样,所以在这种情况下,LUN跨越的磁盘数量可以比传统RAID组跨越的磁盘更多。因此当有磁盘发生故障时,参与重构的磁盘数量也更多,重构时间大大缩短。本发明实施例Chunk、CKG、Extent以及LUN的建立都可以通过控制器来完成。存储系统中由控制器和存储介质共同组成,存储介质提供存储空间,而控制器对存储空间进行管理,并负责对存储空间中数据的读出和写入。Extent跨越的磁盘,是指Extent的存储空间所来源的磁盘。
[0023]本发明实施例可以实现跨DG的数据迁移。在一个存储系统中可以有多个DG,每个DG由多个相同类型的磁盘组成,在DG中按照RAID算法要求的数量选出CKG,CKG是由DG中不同硬盘上的块构成的,LUN的空间就是由若干个CKG的空间构成的,所以LUN的数据可以分布到了 DG内的多个硬盘中。
[0024]本发明实施例中,同一个磁盘组属于同一个故障域,不同磁盘组属于不同的故障域。也就是说如果一个磁盘组中有任意数量的磁盘发送故障,在恢复数据时,与其他磁盘组的磁盘无关,依靠磁盘组内部的其他磁盘进行恢复。
[0025]通过CKG的划分,同一个磁盘组的磁盘与其他磁盘存在直接或间接的关系。例如一共有磁盘A、B、C、D和E共计5个磁盘组成一个DG,那么组成一个CKG的Chunk可以来自其中任意2个或者2个以上磁盘。例如CKGl的Chunk可以来自A、B和C这3个磁盘,CKG2的Chunk来自A、B、C和D这4个磁盘、CKG3的Chunk来自C、D、E这三个磁盘……由于磁盘A与磁盘C共同提供Chunk组成CKGI,因此通过CKGl与CKG2,磁盘A、C建立了直接的联系;通过CKG3,磁盘C与E建立了直接联系;通过磁盘A、C之间的直接联系和磁盘C、E之间的直接联系,形成磁盘A、E的间接联系。
[0026]如图1,下面对跨DG的数据迁移做具体介绍。
[0027]步骤11,控制器获取第一 DG的每秒带宽(Band Per Second,BPS)以及剩余磁盘空间。第一 DG中有可以迁移出去的LUN,称为迁出LUN,迁出LUN映射由多个Extent组成,并和组成它的Extent存在映射关系。其中,控制器对第一 DG、第二 DG进行管理。迁出任意LUN的任意Extent中的数据都可以减少第一 DG的负载。第一 DG和第二 DG可以是由相同规格的存储介质组成,例如相同读写速度存储介质。
[0028]每次执行输入操作或者输出操作时,控制器都可以记录下来,对一个时间段内的输入/输出操作的总数进行统计,取平均值就可以获得每秒BPS。而控制器查询DG的总存储空间,以及每次写操作占用的磁盘空间,可以获得DG剩余空间。
[0029]步骤12,当BPS高于第一阈值,并且剩余磁盘空间低于第二阈值时,读出迁出LUN中至少一个Extent的数据到控制器的缓存。
[0030]本步骤介绍的是数据迁移的触发条件。BPS是读/写操作平均每秒占用的带宽。例如根据阈值的设置,当BPS>=100MB/S,并且剩余存储空间<=10%,就触发迁移,然后迁出LUN中至少一个Extent的数据到控制器的缓存。读出数据的Extent的数量可以由用户设定,也可以分别设置阈值,然后根据算法计算获得。例如可以设置当满足BPS <= 50MB/S并且剩余存储空间> =50%就不再迁移。那么可以根据这两个停止迁移的阈值设置计算或者大致估算出需要迁移的Extent的数量。
[0031]步骤13,获取第二 DG的Extent信息,将读取到控制器缓存的数据,写入第二 DG的Extent中。从第一 DG中读出数据的Extent,和第二 DG中写入数据的Extent具有相同的RAID级别以及存储容量。获取第二 DG的Extent信息和步骤12也可以任意一个先执行,或者并行执行。被写入的Extent是没有存储有效数据的,可以称为空闲Extent。Extent的RAID级别就是Extent所属于的CKG的RAID级别。
[0032]如果控制器管理的DG除了第一 DG外,还有多个,可以从这多个DG中任意挑选一个作为第二 DG,也可以根据一定的条件选取,例如设置迁入阈值,迁入阈值的判断参数和迁出阈值的判断参数相同。当迁出阈值考虑BPS是否高于第一阈值,则迁入阈值考虑BPS是否低于第三阈值。当迁出阈值考虑BPS是否高于第一阈值,并且空闲空间是否小于第二阈值;则迁入阈值考虑BPS是否低于第三阈值,并且空闲空间是否大于第四阈值。例如,可以设定BPS和剩余存储空间均满足一定条件的DG作为第二 DG,例如BPS <= 20MB/S并且剩余存储空间>= 80%才能成为被迁入数据的DG。选择除了第一 DG外的任意一个DG作为第二DG,从统计上来看也可以达到本发明是有益效果。
[0033]步骤14,更新迁出LUN所映射的Extent,具体而言,是把与第一 DG中读出数据的Extent的映射,改为与第二 DG中写入数据的Extent的映射。可以释放第一 DG中读出数据的迁出Extent的存储空间,使其成为空闲Extent,供其他LUN使用。
[0034]本发明实施例中,第一磁盘组以及第二磁盘组均包括磁盘,每个磁盘包括多个分块Chunk。CKG由至少2个Chunk组成按照RAID算法组成,组成同一个CKG的Chunk来自同一 DG的不同磁盘。每个CKG划分成多个长度Extent,并且每个Extent的存储空间由CKG的所有Chunk共同提供,对同一个Extent,每个Chunk提供的存储空间大小相同。[0035]LUN是由Extent组成的,通过映射关系,记录LUN所包含的Extent。通过更新映射关系,使得LUN中的一部分Extent来自第二 DG,完成了对LUN中数据的迁移。
[0036]本实施例中,涉及BPS、剩余磁盘空间这两项参数,可以把这两项参数统称为负载信息,并以此两项参数同时满足阈值,也就是当BPS ^ 100MB/S,并且剩余存储空间≤10%,作为触发数据迁移操作。在其他实施例中,也可以只获取其中一项参数,当这一项参数满足阈值时就触发数据迁移。或者是同时考虑两项参数,设置两项参数各自权重,把两项参数加权后得到一个总的数值,然后用总的数值和总阈值进行比较,以判断是否处罚数据迁移操作。
[0037]本发明实施例采用LUN-Extent的映射关系对LUN的内容进行寻址,把待迁移的数据复制到目的DG,然后改变这个映射关系就可以实现跨DG的数据迁移。而传统RAID中,以LUN ID+LAB地址来进行寻址,无法完成跨DG的数据迁移。
[0038]如图2,从硬件来描述,上述数据迁移步骤可以由控制器2的处理器21执行,控制器2的内存22中存储有程序指令,处理器21执行程序指令来实现这个方法。控制器2和磁盘组31磁盘组32连接,具体而言可以是内存22和磁盘组31以及磁盘组32连接。
[0039]如图3,本发明还提供一种数据迁移装置4,可以应用上述迁移方法。数据迁移装置4包括参数获取单元41,数据读取单元42,数据写入单元43以及LUN更新单元44。数据迁移装置4集成在控制器中,可以在磁盘组之间对数据进行迁移。
[0040]参数获取单元41,用于获取第一 DG的每秒读写操作次(Input/OutputOperations Per Second, BPS)以及剩余磁盘空间。
[0041]第一 DG中有可 以迁移出去的LUN,称为迁出LUN,也可以称为迁出LUN,迁出LUN映射有多个Extent。其中,控制器对第一 DG、第二 DG进行管理。迁出任意LUN的任意Extent中的数据都可以减少第一 DG的负载。第一 DG和第二 DG可以是由相同规格的存储介质组成,例如相同读写速度存储介质。
[0042]每次执行输入操作或者输出操作时,可以记录在控制器都的缓存中,对一个时间段内的输入/输出操作的总数进行统计,取平均值就可以获得每秒BPS。而参数获取单元41查询DG的总存储空间,以及每次写操作占用的磁盘空间,可以获得DG剩余空间。
[0043]数据读取单元42,和参数获取单元41连接,用于当BPS高于第一阈值,并且剩余磁盘空间低于第一阈值时,读出迁出LUN中至少一个Extent的数据到控制器的缓存。
[0044]可以设置阈值作为数据迁移的触发条件。例如根据阈值的设置,当BPS≥100MB/S,并且剩余存储空间< 10%,就触发迁移,然后迁出LUN中至少一个Extent的数据到控制器的缓存。读出数据的Extent的数量可以由用户设定,也可以分别设置阈值,然后根据算法计算获得。例如可以设置当满足BPSS 50MB/S并且剩余存储空间≥50%就不再迁移。那么可以根据这两个停止迁移的阈值设置计算或者大致估算出需要迁移的Extent的数量。
[0045]数据写入单元43,和数据读取单元42连接,用于获取第二 DG的Extent信息,将读取到控制器缓存的数据,写入第二 DG的Extent中。
[0046]从第一 DG中读出数据的Extent,和第二 DG中写入数据的Extent具有相同的RAID级别以及存储容量。被写入的Extent是没有存储有效数据的,可以称为空闲Extent。Extent的RAID级别就是Extent所属于的CKG的RAID级别。
[0047]如果DG有三个或者三个以上,数据写入单元43可以从中任意挑选一个作为第二DG,也可以根据一定的条件选取,例如设置迁入阈值,迁入阈值的项目和迁出阈值匹配。当迁出阈值考虑BPS是否高于第一阈值,则迁入阈值考虑BPS是否低于第三阈值。当迁出阈值考虑BPS是否高于第一阈值,并且空闲空间是否小于第二阈值;则迁入阈值考虑BPS是否低于第三阈值,并且空闲空间是否大于第四阈值。
[0048]LUN更新单元44,和数据写入单元43连接,用于更新迁出LUN所映射的Extent,具体而言,是把与第一 DG中读出数据的Extent的映射,改为与第二 DG中写入数据的Extent的映射。LUN更新单元44还可以进一步,、释放第一 DG中读出数据的迁出Extent的存储空间,使其成为空闲Extent。
[0049]LUN是由Extent组成的,通过映射关系,记录LUN所包含的Extent。通过更新映射关系,使得LUN中的一部分Extent来自第二 DG,完成了对LUN中数据的迁移。
[0050]本发明实施例中,第一磁盘组DG以及第二磁盘组均包括磁盘,每个磁盘包括多个分块Chunk。CKG由至少2个Chunk组成按照RAID算法组成,组成同一个CKG的Chunk来自同一 DG的不同磁盘。每个CKG划分成多个长度Extent,并且每个Extent的存储空间由CKG的所有Chunk共同提供,对同一个Extent,每个Chunk提供的存储空间大小相同
[0051]本实施例中,涉及BPS、剩余磁盘空间这两项参数,可以把这两项参数统称为负载信息,并以此两项参数同时满足阈值,也就是当BPS ^ 100MB/S,并且剩余存储空间≤10%,作为触发数据迁移操作。在其他实施例中,也可以只获取其中一项参数,当这一项参数满足阈值时就触发数据迁移。或者是同时考虑两项参数,对两项设置权重,加权后得到一个总的数值,然后用总的数值和总阈值进行比较,以判断是否处罚数据迁移操作。
[0052]本发明实施例采用LUN-Extent的映射关系对LUN的内容进行寻址,把待迁移的数据复制到目的DG,然后改变这个映射关系就可以实现跨DG的数据迁移。而传统RAID中,以LUN ID+LAB地址来进行寻址,无法完成跨DG的数据迁移。
[0053]上述实施例中,除了 BPS,还可以使用每秒读写次数(Input/OutputOperationsPer Second, IOPS)作为阈值,BPS=IOPSX I/O大小,1/0大小是单次读/写请求所请求的数据量,例如比如512B,4KB,1MB等等。
[0054]本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
[0055]计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
[0056]计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
【权利要求】
1.一种数据迁移方法,应用于控制器中,所述控制器分别和第一磁盘组、第二磁盘组连接,其特征在于:所述第一磁盘组以及所述第二磁盘组均包括磁盘,每个所述磁盘包括多个分块Chunk,其中,至少2个来自同一磁盘组且不同磁盘的Chunk,按照廉价磁盘冗余阵列RAID算法组成分块组CKG,每个CKG划分成多个长度Extent,且所述CKG中每个所述Chunk为所述Extent提供同样大小的存储空间,该方法包括: 获取第一磁盘组的负载信息; 当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号LUN的至少一个迁出Extent中的数据读取到所述控制器的缓存中; 获取第二磁盘组中的至少一个迁入Extent,所述迁入Extent的数量和所述迁出Extent的数量相同,每个所述迁出Extent的RAID等级和一个所述迁入Extent的RAID等级--对应,所述迁入Extent是空闲的Extent ; 将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述负载信息达到迁出阈值,包括: 每秒带宽BPS高于第一阈值;和 空闲存储空间低于第二阈值。
3.根据权利要求1所述的方法,其特征在于,所述负载信息达到迁出阈值,包括: 每秒带宽BPS高于第一阈值。·
4.根据权利要求1所述的方法,其特征在于,所述负载信息达到迁出阈值,包括: 空闲存储空间低于第二阈值。
5.根据权利要求1、2、3或4所述的方法,其特征在于,将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系之后,进一步包括: 释放所述迁出Extent的存储空间。
6.根据权利要求1、2、3或4所述的方法,其特征在于: 所述第二磁盘组的负载信息满足迁入阈值。
7.根据权利要求1、2、3或4所述的方法,其特征在于: 属于同一个LUN的不同Extent的存储空间大小相同。
8.一种数据迁移装置,用于迁移第一磁盘组的数据到第二磁盘组,其特征在于:所述第一磁盘组以及所述第二磁盘组均包括磁盘,每个所述磁盘包括多个分块Chunk,其中,至少2个来自同一磁盘组且不同磁盘的Chunk,按照廉价磁盘冗余阵列RAID算法组成分块组CKG,每个CKG划分成多个长度Extent,且所述CKG中每个所述Chunk为所述Extent提供同样大小的存储空间,该装置包括: 参数获取单元,用于获取第一磁盘组的负载信息; 数据读取单元,和所述参数获取单元41连接,当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号LUN的至少一个迁出Extent中的数据读取到所述控制器的缓存中; 数据写入单元,和所述数据读取单元连接,用于获取第二磁盘组中的至少一个迁入Extent,所述迁入Extent的数量和所述迁出Extent的数量相同,每个所述迁出Extent的RAID等级和一个所述迁入Extent的RAID等级--对应,所述迁入Extent是空闲的Extent ; LUN更新单元,用于将所述迁出LUN与所述迁出Extent的映射关系更新为所述迁出LUN与所述迁入Extent的映射关系。
9.根据权利要求8所述的装置,其特征在于,所述负载信息达到迁出阈值,包括: 每秒带宽BPS高于第一阈值;和 空闲存储空间低于第二阈值。
10.根据权利要求8所述的装置,其特征在于,所述负载信息达到迁出阈值,包括: 每秒带宽BPS高于第一阈值。
11.根据权利要求8所述的装置,其特征在于,所述负载信息达到迁出阈值,包括: 空闲存储空间低于第二阈值。
12.根据权利要求8、9、10或11所述的装置,其特征在于: 属于同一个LUN的不同Extent的`存储空间大小相同。
【文档编号】G06F3/06GK103858092SQ201380002566
【公开日】2014年6月11日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】任仕飞, 薛强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1