CN103677733A - Raid属性变更方法和装置 - Google Patents
Raid属性变更方法和装置 Download PDFInfo
- Publication number
- CN103677733A CN103677733A CN201310689168.3A CN201310689168A CN103677733A CN 103677733 A CN103677733 A CN 103677733A CN 201310689168 A CN201310689168 A CN 201310689168A CN 103677733 A CN103677733 A CN 103677733A
- Authority
- CN
- China
- Prior art keywords
- raid group
- target
- data
- source
- group
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种RAID属性变更方法和装置,属于存储技术领域。所述方法包括:在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组;将所述RAID1组映射给客户端;将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中;当所有数据均拷贝完成时,将所述目标RAID组映射给所述客户端。本发明通过在源RAID组和目标RAID组上建立RAID1组,操作简便,由该RAID1组为客户端提供服务,使得在进行数据拷贝的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据丢失,提高了可靠性。进一步地,当数据拷贝完成时,将该目标RAID组映射给该客户端,实现了将RAID组的属性变更为目标属性的目的,该方法适用于多种目标属性,具有很强的适用性。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种RAID属性变更方法和装置。
背景技术
随着现代社会的信息量越来越大,信息存储技术迅速发展,用户对存储磁盘的容量、IO(Input Output,输入输出)性能和数据可靠性的需求也越来越高。
而为了在IO性能和数据可靠性等方面提升存储系统的性能,可以使用RAID(Redundant Arrays of Inexpensive Disks,磁盘冗余阵列)技术。RAID组是通过将一组物理磁盘分别做条带化处理,将得到的多个条带根据预设规则组合而得到的逻辑盘或逻辑卷。RAID组能够提高数据传输速率和存储系统的稳定冗余性。
RAID组的属性包括RAID的级别、条带属性、容量等。当需要对其属性进行变更时,如将原属性变更为目标属性时,可以暂停处理客户端的业务,直接将该需要变更属性的RAID组由原属性变更为目标属性。另外,还可以将该RAID组中的数据进行备份后,按照目标属性重新组织备份的数据,将重新组织后的数据写入该RAID组,使得该RAID组的属性由原属性变更为目标属性。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在对属性进行变更时,暂停处理客户端的业务会导致服务中断,而若在处理业务的过程中进行属性的变更,会影响IO性能,降低数据稳定性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种RAID属性变更方法和装置。所述技术方案如下:
第一方面,提供了一种RAID属性变更方法,所述方法包括:
在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组,所述源RAID组为需要将属性变更为目标属性的RAID组;
将所述RAID1组映射给客户端;
将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中;
当所有数据均拷贝完成时,将所述目标RAID组映射给所述客户端。
结合第一方面,在第一方面的第一种可能实现方式中,将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中,包括:
根据所述源RAID组中的条带顺序,依次将所述源RAID组中各个条带的数据按照所述目标属性拷贝到所述目标RAID组中。
结合第一方面,在第一方面的第二种可能实现方式中,根据源磁盘冗余阵列RAID组和目标RAID组,建立RAID1组之前,所述方法还包括:
在所述源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立所述目标RAID组,所述目标RAID组的逻辑容量与所述源RAID组的逻辑容量相同,所述目标RAID组包括至少一个条带。
结合第一方面的第二种可能实现方式中,在第一方面的第三种可能实现方式中,根据所述目标属性,将所述源RAID组中的数据拷贝到所述目标RAID组中之后,所述方法还包括:
当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组,并将所述已完成数据拷贝的条带释放。
结合第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组之后,所述方法还包括:
更新所述源RAID组和所述目标RAID组的映射表。
结合上述任一可能的实现方式,在第一方面的第五种可能实现方式中,所述方法还包括:
当发生数据写入操作,且所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组和所述目标RAID组;或,
当发生数据写入操作,且所述目标RAID组中不存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组;当所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据由所述源RAID组拷贝到所述目标RAID组中。
第二方面,提供了一种RAID属性变更装置,所述装置包括:
RAID1组建立模块,用于在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组,所述源RAID组为需要将属性变更为目标属性的RAID组;
第一映射模块,用于将所述RAID1组映射给客户端;
数据拷贝模块,用于将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中;
第二映射模块,用于当所有数据均拷贝完成时,将所述目标RAID组映射给所述客户端。
结合第二方面,在第二方面的第一种可能实现方式中,所述数据拷贝模块包括:
数据拷贝单元,用于根据所述源RAID组中的条带顺序,依次将所述源RAID组中各个条带的数据按照所述目标属性拷贝到所述目标RAID组中。
结合第二方面,在第二方面的第二种可能实现方式中,所述装置还包括:
目标RAID组建立模块,用于在所述源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立所述目标RAID组,所述目标RAID组的逻辑容量与所述源RAID组的逻辑容量相同,所述目标RAID组包括至少一个条带。
结合第二方面的第二种可能实现方式,在第二方面的第三种可能实现方式中,所述装置还包括:
条带加入模块,用于当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组,并将所述已完成数据拷贝的条带释放。
结合第二方面的第三种可能实现方式,在第二方面的第四种可能实现方式中,所述装置还包括:
映射表更新模块,用于更新所述源RAID组和所述目标RAID组的映射表。
结合上述任一可能的实现方式,在第二方面的第五种可能实现方式中,所述装置还包括:
第一写入模块,用于当发生数据写入操作,且所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组和所述目标RAID组;或,
第二写入模块,用于当发生数据写入操作,且所述目标RAID组中不存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组;当所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据由所述源RAID组拷贝到所述目标RAID组中。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法和装置,通过在源RAID组需要变更属性时,在源RAID组和目标RAID组上建立RAID1组,操作简便,由该RAID1组为客户端提供服务,使得在进行数据拷贝的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据的丢失,提高了可靠性。进一步地,当数据拷贝完成时,将该目标RAID组映射给该客户端,实现了将RAID组的属性变更为目标属性的目的,且该方法适用于多种目标属性,具有很强的适用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种RAID属性变更方法的流程图;
图2是本发明实施例提供的一种RAID属性变更方法的流程图;
图3a是本发明实施例提供的一种RAID属性变更方法的流程图;
图3b是本发明实施例提供的RAID组示意图;
图3c是本发明实施例提供的RAID组示意图;
图4是本发明实施例提供的一种RAID属性变更装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于进行说明,先对RAID1进行如下解释:
RAID1是一种镜像磁盘阵列,其原理是将一块硬盘的数据以相同的位置指向另一硬盘的位置,能够把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上,以在成对的硬盘上产生互为备份的数据,当原始硬盘数据繁忙时,可直接从镜像硬盘中读取数据,当原始硬盘失效时,也可以自动切换到镜像硬盘上读写,而不需要重组失效的数据。不会造成业务中断,提供了数据安全保障,最大限度地保证了数据的可用性和可修复性。
图1是本发明实施例提供的一种RAID属性变更方法的流程图,参见图1,所述方法包括:
101、在源RAID组和目标RAID组上建立RAID1组,该源RAID组为需要将属性变更为目标属性的RAID组。
102、将该RAID1组映射给客户端。
103、将该源RAID组中的数据按照该目标属性拷贝到该目标RAID组中。
104、当所有数据均拷贝完成时,将该目标RAID组映射给该客户端。
本发明实施例提供的方法,通过在源RAID组需要变更属性时,在源RAID组和目标RAID组上建立RAID1组,操作简便,由该RAID1组为客户端提供服务,使得在进行数据拷贝的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据的丢失,提高了可靠性。进一步地,当数据拷贝完成时,将该目标RAID组映射给该客户端,实现了将RAID组的属性变更为目标属性的目的,且该方法适用于多种目标属性,具有很强的适用性。
可选地,将该源RAID组中的数据按照该目标属性拷贝到该目标RAID组中,包括:
根据该源RAID组中的条带顺序,依次将该源RAID组中各个条带的数据按照该目标属性拷贝到该目标RAID组中。
可选地,根据源磁盘冗余阵列RAID组和目标RAID组,建立RAID1组之前,该方法还包括:
在该源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立该目标RAID组,该目标RAID组的逻辑容量与该源RAID组的逻辑容量相同,该目标RAID组包括至少一个条带。
可选地,根据该目标属性,将该源RAID组中的数据拷贝到该目标RAID组中之后,该方法还包括:
当该目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,将该源RAID组中已完成数据拷贝的条带加入该目标RAID组,并将该已完成数据拷贝的条带释放。
可选地,当该目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,将该源RAID组中已完成数据拷贝的条带加入该目标RAID组之后,该方法还包括:
更新该源RAID组和该目标RAID组的映射表。
可选地,该方法还包括:
当发生数据写入操作,且该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组和该目标RAID组;或,
当发生数据写入操作,且该目标RAID组中不存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组;当该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据由该源RAID组拷贝到该目标RAID组中。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种RAID属性变更方法的流程图,参见图2,所述方法包括:
201、在源RAID组和目标RAID组上建立RAID1组,该源RAID组为需要将属性变更为目标属性的RAID组。
本发明实施例应用于需要将RAID组的属性变更为目标属性的场景下,其中,该源RAID组映射于客户端,且用于为客户端处理业务。
在本发明实施例中,该源RAID组可以为RAID0、RAID1、RAID5、RAID6、RAID10等类型,RAID组的属性包括RAID的级别、条带属性、容量等,如条带深度、条带宽度,本发明实施例对此不做限定。
在该步骤201之前,该方法还包括:建立目标RAID组,该目标RAID组包括至少一个条带。
其中,可以在该源RAID组对应的物理空间内建立该目标RAID组,如在该源RAID组未占用的物理空间上建立该目标RAID组,或者在该源RAID组中已完成数据拷贝、能够释放的空间上建立该目标RAID组,还可以在该源RAID组对应的物理空间之外建立该目标RAID组,本发明实施例对此不做限定。
可选地,建立的目标RAID组的逻辑容量与该源RAID组的逻辑容量相同。
202、将该RAID1组映射给客户端。
在本发明实施例中,在该源RAID组和目标RAID组上建立RAID1组,并将该RAID1组映射给客户端后,由该RAID1组为客户端处理业务,即可实现当客户端需要读取数据时,可以从该源RAID组或目标RAID组读取数据,当客户端需要写入数据时,可以同时将数据写入该源RAID组和目标RAID组,使得在该源RAID组向该目标RAID组拷贝数据的过程中,不会造成业务的中断,提供了安全保障。
203、根据该源RAID组中的条带顺序,依次将该源RAID组中各个条带的数据按照该目标属性拷贝到该目标RAID组中。
在本发明实施例中,该源RAID组和该目标RAID组均包括至少一个条带,可以按照该源RAID组中的条带顺序,依次将该源RAID组中各个条带的数据按照该目标属性拷贝到该目标RAID组中,以将RAID组的属性变更为目标属性。
如,该源RAID组的条带深度为2KB,当需要将条带深度由2KB变更为4KB时,按照该源RAID组中的条带顺序,依次将源RAID组中各个条带的数据拷贝到该目标RAID组中,且在拷贝的过程中,每个磁盘上的条带数据块大小为4KB。
在拷贝数据的过程中,该RAID1组仍然在为该客户端处理业务,则有可能会发生数据写入操作或数据读取操作,相应的,对于数据写入操作来说,该方法还包括以下任一项:
(1)当发生数据写入操作,且该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组和该目标RAID组。
为了保证数据的安全性,当发生数据写入操作时,可以判断该目标RAID组中是否存在空余物理空间,当该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组和该目标RAID组。
(2)当发生数据写入操作,且该目标RAID组中不存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组,当该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据由该源RAID组拷贝到该目标RAID组中。
具体地,当该目标RAID组中不存在空余物理空间时,先将该数据写入操作对应的数据写入该源RAID组。之后,可以实时或周期性地监测该目标RAID组中是否存在空余物理空间,一旦该目标RAID组中存在空余物理空间,即将该数据写入操作对应的数据由该源RAID组拷贝到该目标RAID组中,或者,当该目标RAID组中存在足够的空余物理空间时,将发生的多次数据写入操作所对应的数据由该源RAID组拷贝到该目标RAID组中。
而对于数据读取操作来说,先在该源RAID组中读取数据,当该源RAID组中不存在待读取的数据或数据失效时,在该目标RAID组中读取数据。
在本发明实施例中,在拷贝数据的过程中发生数据写入操作或数据读取操作时,响应该数据操作或数据读取操作后,再进行数据的拷贝,能够根据当前的负载动态地规划数据拷贝的执行速度,最大限度地避免了数据拷贝过程对业务处理的影响,在保证IO性能的前提下,提高了数据拷贝的效率。
204、当所有数据均拷贝完成时,将该目标RAID组映射给该客户端。
在本发明实施例中,当该源RAID组中的所有数据均拷贝完成时,即可舍弃该源RAID组,而将该目标RAID组映射给该客户端。该目标RAID组的属性符合该目标属性,实现了将RAID组的属性变更为目标属性的目的。
本发明实施例提供的方法,通过在源RAID组需要变更属性时,在源RAID组和目标RAID组上建立RAID1组,操作简便,且使得在变更属性的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据的丢失,提高了可靠性。而且能够动态地根据当前的负载来规划数据拷贝的执行进程,最大限度地避免了数据拷贝过程对业务处理的影响。进一步地,该方法适用于多种目标属性,具有很强的适用性。
图3a是本发明实施例提供的一种RAID属性变更方法的流程图,应用于分布式RAID,参见图3a,该方法包括:
301、在该源RAID组对应的物理空间之外开辟一块空间,在开辟的空间上建立该目标RAID组,该目标RAID组的逻辑容量与该源RAID组的逻辑容量相同。
本发明实施例应用于分布式RAID中,一个RAID组所对应的物理空间可以分布在任意位置,而不限定于一个连续的物理空间。
本发明实施例以在该源RAID组对应的物理空间之外建立该目标RAID组为例进行说明。
可选地,采用自动精简配置的方式,在该源RAID组对应的物理空间之外开辟一块少量的空间,建立该目标RAID组。即在建立该目标RAID组时,并不会一次性地为该目标RAID组分配过大的物理空间,而是按照该目标RAID组实际所需的容量,分多次将少量的物理空间分配给该目标RAID组。
如,该源RAID组对应的物理空间为100G,当前占用的物理空间也是100G,即该源RAID组已将该物理空间全部占用,此时可以在该源RAID组对应的物理空间之外开辟空间,建立该目标RAID组,且建立的该目标RAID组的逻辑容量为100G,物理空间为1G即可,当该源RAID组将1G的数据拷贝到该目标RAID组时,该目标RAID组已没有空闲空间,而该源RAID组可以空余出1G空间,则可以将该源RAID组空余出的1G空间分配给该目标RAID组。
302、在源RAID组和目标RAID组上建立RAID1组,该源RAID组为需要将属性变更为目标属性的RAID组。
参见图3a,当需要将RAID-A的属性变更为目标属性时,建立RAID-B,将RAID-B作为目标RAID组,在RAID-A和RAID-B上建立RAID1组。
303、将该RAID1组映射给客户端。
参见图3b,将该RAID-A和RAID-B建立的RAID组映射给该客户端,为该客户端提供服务。
304、根据该源RAID组中的条带顺序,依次将该源RAID组中各个条带的数据按照该目标属性拷贝到该目标RAID组中。
参见图3b,按照条带顺序,将RAID-A的条带1的数据拷贝到RAID-B的条带3中,将RAID-A的条带2的数据拷贝到RAID-B的条带4中等等。
305、当该目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,将该源RAID组中已完成数据拷贝的条带加入该目标RAID组,并将该已完成数据拷贝的条带释放。
其中,该目标RAID组当前的物理空间容量是指该目标RAID对应的物理空间的剩余容量,该源RAID组的存储数据量是指该源RAID组存储的数据中未完成拷贝的数据量。
在本发明实施例中,该目标RAID组的物理空间容量可能小于该源RAID的数据存储量,而在拷贝数据的过程中,该目标RAID组中存储的数据逐渐增加,有可能会出现空间不足的情况,此时,需要为该目标RAID组分配物理空间。
具体地,当检测到该目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,确定该目标RAID组的物理空间不足以容纳该源RAID组中剩余的、未拷贝的数据,则可以将该源RAID组中已完成数据拷贝的条带加入该目标RAID组,并将该条带释放,以用于存储从该源RAID组拷贝来的数据。
参见图3b,假设条带1已完成数据拷贝,若RAID-B当前的物理空间容量小于RAID-A的存储数据量时,可以将条带1加入RAID-B,作为RAID-B的条带5,并将条带1释放,将条带1加入RAID-B后如图3c所示。
通过将该源RAID组中已完成数据拷贝的条带加入该目标RAID组,避免了该目标RAID组出现空间不足的情况,提高了数据安全性,且能够最大限度地利用系统当前的物理空间,无需增加新的硬盘。
在该步骤305之后,该方法还包括:更新该源RAID组和该目标RAID组的映射表。
其中,该源RAID组的映射表用于确定该源RAID组的至少一个条带的逻辑地址、物理地址等,该目标RAID组的映射表用于确定该目标RAID组的至少一个条带的逻辑地址、物理地址等。
在本发明实施例中,将该源RAID组中已完成数据拷贝的条带加入该目标RAID组时,加入该目标RAID组的条带的逻辑地址和物理地址发生了改变,则更新该源RAID组和该目标RAID组的映射表,以便能够将该源RAID组中的数据按照该目标RAID组的更新后的映射表,拷贝到该目标RAID组新加入的条带中,并在发生相应的数据读取操作时,按照该目标RAID组的更新后的映射表,从该新加入的条带中读取数据。
如将该源RAID组中的条带0加入该目标RAID组时,将该源RAID组的映射表中的条带0删除,并在该目标RAID组的映射表中添加条带0更新后的逻辑地址和物理地址。
需要说明的是,本发明实施例以该步骤305在该步骤304之后执行为例进行说明,实际上,可以实时地判断该目标RAID组当前的物理空间容量是否小于该源RAID组的存储数据量,或者在每次完成一个条带的数据拷贝后进行上述判断。当目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,执行该步骤305。也即是,该步骤305可以在拷贝数据的过程中的任一时刻执行,本发明实施例对此不做限定。
306、当所有数据均拷贝完成时,将该目标RAID组映射给该客户端。
本发明实施例提供的方法,通过在源RAID组需要变更属性时,在源RAID组和目标RAID组上建立RAID1组,操作简便,由该RAID1组为客户端提供服务,使得在进行数据拷贝的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据的丢失,提高了可靠性。进一步地,当数据拷贝完成时,将该目标RAID组映射给该客户端,实现了将RAID组的属性变更为目标属性的目的,且该方法适用于多种目标属性,具有很强的适用性。
图4是本发明实施例提供的一种RAID属性变更装置结构示意图,参见图4,该装置包括:RAID1组建立模块401、第一映射模块402、数据拷贝模块403、第二映射模块404,
其中,RAID1组建立模块401用于在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组,该源RAID组为需要将属性变更为目标属性的RAID组;第一映射模块402与RAID1组建立模块401连接,用于将该RAID1组映射给客户端;数据拷贝模块403与第一映射模块402连接,用于将该源RAID组中的数据按照该目标属性拷贝到该目标RAID组中;第二映射模块404与数据拷贝模块403连接,用于当所有数据均拷贝完成时,将该目标RAID组映射给该客户端。
可选地,该数据拷贝模块403包括:
数据拷贝单元,用于根据该源RAID组中的条带顺序,依次将该源RAID组中各个条带的数据按照该目标属性拷贝到该目标RAID组中。
可选地,该装置还包括:
目标RAID组建立模块,用于在该源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立该目标RAID组,该目标RAID组的逻辑容量与该源RAID组的逻辑容量相同,该目标RAID组包括至少一个条带。
可选地,该装置还包括:
条带加入模块,用于当该目标RAID组当前的物理空间容量小于该源RAID组的存储数据量时,将该源RAID组中已完成数据拷贝的条带加入该目标RAID组,并将该已完成数据拷贝的条带释放。
可选地,该装置还包括:
映射表更新模块,用于更新该源RAID组和该目标RAID组的映射表。
可选地,该装置还包括:
第一写入模块,用于当发生数据写入操作,且该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组和该目标RAID组;或,
第二写入模块,用于当发生数据写入操作,且该目标RAID组中不存在空余物理空间时,将该数据写入操作对应的数据写入该源RAID组;当该目标RAID组中存在空余物理空间时,将该数据写入操作对应的数据由该源RAID组拷贝到该目标RAID组中。
本发明实施例提供的装置,通过在源RAID组需要变更属性时,在源RAID组和目标RAID组上建立RAID1组,操作简便,由该RAID1组为客户端提供服务,使得在进行数据拷贝的过程中,不会对IO性能造成较大的影响,也无需暂停处理客户端的业务,当发生异常情况时不会造成数据的丢失,提高了可靠性。进一步地,当数据拷贝完成时,将该目标RAID组映射给该客户端,实现了将RAID组的属性变更为目标属性的目的,且该装置适用于多种目标属性,具有很强的适用性。
需要说明的是:上述实施例提供的RAID属性变更装置在变更RAID属性时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的RAID属性变更装置与RAID属性变更方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种RAID属性变更方法,其特征在于,所述方法包括:
在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组,所述源RAID组为需要将属性变更为目标属性的RAID组;
将所述RAID1组映射给客户端;
将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中;
当所有数据均拷贝完成时,将所述目标RAID组映射给所述客户端。
2.根据权利要求1所述的方法,其特征在于,将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中,包括:
根据所述源RAID组中的条带顺序,依次将所述源RAID组中各个条带的数据按照所述目标属性拷贝到所述目标RAID组中。
3.根据权利要求1所述的方法,其特征在于,根据源磁盘冗余阵列RAID组和目标RAID组,建立RAID1组之前,所述方法还包括:
在所述源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立所述目标RAID组,所述目标RAID组的逻辑容量与所述源RAID组的逻辑容量相同,所述目标RAID组包括至少一个条带。
4.根据权利要求3所述的方法,其特征在于,根据所述目标属性,将所述源RAID组中的数据拷贝到所述目标RAID组中之后,所述方法还包括:
当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组,并将所述已完成数据拷贝的条带释放。
5.根据权利要求4所述的方法,其特征在于,当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组之后,所述方法还包括:
更新所述源RAID组和所述目标RAID组的映射表。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
当发生数据写入操作,且所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组和所述目标RAID组;或,
当发生数据写入操作,且所述目标RAID组中不存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组;当所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据由所述源RAID组拷贝到所述目标RAID组中。
7.一种RAID属性变更装置,其特征在于,所述装置包括:
RAID1组建立模块,用于在源磁盘冗余阵列RAID组和目标RAID组上建立RAID1组,所述源RAID组为需要将属性变更为目标属性的RAID组;
第一映射模块,用于将所述RAID1组映射给客户端;
数据拷贝模块,用于将所述源RAID组中的数据按照所述目标属性拷贝到所述目标RAID组中;
第二映射模块,用于当所有数据均拷贝完成时,将所述目标RAID组映射给所述客户端。
8.根据权利要求7所述的装置,其特征在于,所述数据拷贝模块包括:
数据拷贝单元,用于根据所述源RAID组中的条带顺序,依次将所述源RAID组中各个条带的数据按照所述目标属性拷贝到所述目标RAID组中。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
目标RAID组建立模块,用于在所述源RAID组对应的物理空间中开辟一块空间,在开辟的空间上建立所述目标RAID组,所述目标RAID组的逻辑容量与所述源RAID组的逻辑容量相同,所述目标RAID组包括至少一个条带。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
条带加入模块,用于当所述目标RAID组当前的物理空间容量小于所述源RAID组的存储数据量时,将所述源RAID组中已完成数据拷贝的条带加入所述目标RAID组,并将所述已完成数据拷贝的条带释放。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
映射表更新模块,用于更新所述源RAID组和所述目标RAID组的映射表。
12.根据权利要求7-11任一项所述的装置,其特征在于,所述装置还包括:
第一写入模块,用于当发生数据写入操作,且所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组和所述目标RAID组;或,
第二写入模块,用于当发生数据写入操作,且所述目标RAID组中不存在空余物理空间时,将所述数据写入操作对应的数据写入所述源RAID组;当所述目标RAID组中存在空余物理空间时,将所述数据写入操作对应的数据由所述源RAID组拷贝到所述目标RAID组中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310689168.3A CN103677733B (zh) | 2013-12-16 | 2013-12-16 | Raid属性变更方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310689168.3A CN103677733B (zh) | 2013-12-16 | 2013-12-16 | Raid属性变更方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677733A true CN103677733A (zh) | 2014-03-26 |
CN103677733B CN103677733B (zh) | 2017-04-12 |
Family
ID=50315416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310689168.3A Active CN103677733B (zh) | 2013-12-16 | 2013-12-16 | Raid属性变更方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677733B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241538A (zh) * | 2017-12-28 | 2018-07-03 | 深圳忆联信息系统有限公司 | 一种固态硬盘中raid资源的管理方法及固态硬盘 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369217A (zh) * | 2008-08-30 | 2009-02-18 | 成都市华为赛门铁克科技有限公司 | 一种raid级别变换的方法和装置 |
CN101556802A (zh) * | 2009-05-25 | 2009-10-14 | 杭州华三通信技术有限公司 | 一种raid阵列转换的方法及装置 |
US20100161898A1 (en) * | 2008-12-19 | 2010-06-24 | Sunny Koul | Method for preserving data integrity by breaking the redundant array of independent disks level 1(raid1) |
CN102023812A (zh) * | 2009-09-23 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种raid级别变换方法和变换装置 |
US20110238912A1 (en) * | 2007-04-27 | 2011-09-29 | Gary Stephen Shuster | Flexible data storage system |
CN102446072A (zh) * | 2010-10-07 | 2012-05-09 | 国际商业机器公司 | 用于池式存储中的raid 阵列变换的系统和方法 |
CN102521058A (zh) * | 2011-12-01 | 2012-06-27 | 北京威视数据系统有限公司 | Raid组磁盘数据预迁移方法 |
-
2013
- 2013-12-16 CN CN201310689168.3A patent/CN103677733B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238912A1 (en) * | 2007-04-27 | 2011-09-29 | Gary Stephen Shuster | Flexible data storage system |
CN101369217A (zh) * | 2008-08-30 | 2009-02-18 | 成都市华为赛门铁克科技有限公司 | 一种raid级别变换的方法和装置 |
US20100161898A1 (en) * | 2008-12-19 | 2010-06-24 | Sunny Koul | Method for preserving data integrity by breaking the redundant array of independent disks level 1(raid1) |
CN101556802A (zh) * | 2009-05-25 | 2009-10-14 | 杭州华三通信技术有限公司 | 一种raid阵列转换的方法及装置 |
CN102023812A (zh) * | 2009-09-23 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种raid级别变换方法和变换装置 |
CN102446072A (zh) * | 2010-10-07 | 2012-05-09 | 国际商业机器公司 | 用于池式存储中的raid 阵列变换的系统和方法 |
CN102521058A (zh) * | 2011-12-01 | 2012-06-27 | 北京威视数据系统有限公司 | Raid组磁盘数据预迁移方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241538A (zh) * | 2017-12-28 | 2018-07-03 | 深圳忆联信息系统有限公司 | 一种固态硬盘中raid资源的管理方法及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN103677733B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2254036B1 (en) | Storage apparatus and data copy method | |
US9448886B2 (en) | Flexible data storage system | |
US7650480B2 (en) | Storage system and write distribution method | |
CN111158587B (zh) | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 | |
CN101414245B (zh) | 存储装置以及使用该存储装置的数据存储方法 | |
CN103733175B (zh) | 一种文件处理方法、装置及存储设备 | |
US7093069B2 (en) | Integration of a RAID controller with a disk drive module | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
US8914578B2 (en) | Capacity-expansion of a logical volume | |
CN102024044A (zh) | 分布式文件系统 | |
CN102937882A (zh) | 对具有使用位图的存储设备的有效访问 | |
CN103699457A (zh) | 基于条带化的磁盘阵列修复方法及装置 | |
CN113448502B (zh) | 分布式存储系统和存储控制方法 | |
US20080195832A1 (en) | Storage controller and storage system | |
US11347414B2 (en) | Using telemetry data from different storage systems to predict response time | |
CN104994135A (zh) | 存储系统中融合san及nas存储架构的方法及装置 | |
CN102629223B (zh) | 一种数据修复方法及装置 | |
US9785372B2 (en) | Storage device and method for configuring raid group | |
CN103631535A (zh) | 一种实现存储池内空间分配的方法及装置 | |
CN104572374A (zh) | 存储的处理方法、装置和存储设备 | |
CN103677733A (zh) | Raid属性变更方法和装置 | |
CN116069266B (zh) | 磁盘漫游控制方法、装置、设备及计算机可读存储介质 | |
US7590780B2 (en) | Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data | |
CN115408207A (zh) | 一种存储系统全局缓存方法、装置以及介质 | |
CN117075814A (zh) | 一种元数据管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |