一种存储系统数据迁移方法及系统与流程

文档序号:12270808阅读:191来源:国知局
一种存储系统数据迁移方法及系统与流程

本发明涉及计算机系统及存储技术领域,特别是涉及一种存储系统数据迁移方法及系统。



背景技术:

随着信息科技的发展以及互联网的普及,在各类应用中计算机系统处理的数据量不断增加,系统中会时刻进行着数据迁移。

目前,计算机系统中进行数据迁移的方法主要有:由主机操作系统命令进行迁移和由备份软件进行迁移。采用主机操作系统命令迁移的方法,进行迁移时需要中断前端业务,如果不中断前端的业务很容易造成数据的不一致;采用备份软件进行迁移,同样需要中断前端业务才能进行。因此对于现有的上述各数据迁移方法,在数据量比较大的情况下,数据迁移会耗费比较多的时间,而此过程中要中断前端业务,若用户对数据实时性要求很高,这无疑会带来巨大不便甚至巨大损失。



技术实现要素:

鉴于此,本发明提供一种存储系统数据迁移方法及系统,克服了现有方法在进行数据迁移时需要中断前端业务才可进行的问题。

为实现上述目的,本发明提供如下技术方案:

一种存储系统数据迁移方法,包括:

在存储系统的磁盘中创建作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,所述虚拟磁盘以数据区块为基本单元管理数据;

建立位图,所述位图中的每一元素映射所述源卷中的一个数据区块,并映射所述目标卷中的一个数据区块;

根据所述位图记录的映射关系,以数据区块为基本单元,将所述源卷中的数据复制到所述目标卷中。

可选地,所述目标卷包含的数据区块的数量大于等于所述源卷包含的数据区块的数量。

可选地,还包括:

当所述源卷中的数据没有成功复制到所述目标卷中时,根据所述位图中的标记,将所述源卷中没有成功复制的数据区块的数据重新复制到所述目标卷中对应的数据区块。

可选地,还包括:

若在所述位图中,业务要进行读操作的数据区块对应标记为已完成迁移,则控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为未迁移,则控制业务读操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为已完成迁移,则控制业务写操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为未迁移,则控制业务写操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务写操作在所述目标卷中对应的数据区块进行。

可选地,还包括:当业务写操作在所述源卷中数据区块进行的过程中,通过读写锁控制该数据区块的数据不进行迁移。

一种存储系统数据迁移系统,包括:

创建模块,用于在存储系统的磁盘中创建作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,所述虚拟磁盘以数据区块为基本单元管理数据;

位图模块,包括位图,所述位图中的每一元素映射所述源卷中的一个数据区块,并映射所述目标卷中的一个数据区块;

数据迁移模块,用于根据所述位图记录的映射关系,以数据区块为基本单元,将所述源卷中的数据复制到所述目标卷中。

可选地,所述目标卷包含的数据区块的数量大于等于所述源卷包含的数据区块的数量。

可选地,所述数据迁移模块还用于:

当所述源卷中的数据没有成功复制到所述目标卷中时,根据所述位图中的标记,将所述源卷中没有成功复制的数据区块的数据重新复制到所述目标卷中对应的数据区块。

可选地,还包括业务读/写操作控制模块,用于:

若在所述位图中,业务要进行读操作的数据区块对应标记为已完成迁移,则控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为未迁移,则控制业务读操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为已完成迁移,则控制业务写操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为未迁移,则控制业务写操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务写操作在所述目标卷中对应的数据区块进行。

可选地,所述业务读/写操作控制模块还用于:

当业务写操作在所述源卷中数据区块进行的过程中,通过读写锁控制该数据区块的数据不进行迁移。

由上述技术方案可知,本发明所提供的存储系统数据迁移方法及系统,在存储系统的磁盘中创建虚拟磁盘,其中包括作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,在虚拟磁盘中以数据区块为基本单元管理数据,并建立位图,位图中的每一元素映射源卷中的一个数据区块,并映射目标卷中的一个数据区块;根据所述位图记录的映射关系,以数据区块为基本单元将源卷中的数据复制到目标卷中。

本发明存储系统数据迁移方法及系统,通过创建虚拟磁盘,在将源卷虚拟磁盘的数据复制到目标卷虚拟磁盘过程中,是以数据区块为基本单元进行,而正在迁移的数据区块不一定正被业务调用,此时不需要中断业务,因此通过该方法进行数据迁移时不需要中断前端业务才可进行,从而克服了现有方法的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种存储系统数据迁移方法的流程图;

图2为本发明实施例提供的一种存储系统数据迁移系统的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明实施例提供一种存储系统数据迁移方法,请参考图1,所述方法包括步骤:

S10:在存储系统的磁盘中创建作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,所述虚拟磁盘以数据区块为基本单元管理数据;

S11:建立位图,所述位图中的每一元素映射所述源卷中的一个数据区块,并映射所述目标卷中的一个数据区块;

S12:根据所述位图记录的映射关系,以数据区块为基本单元,将所述源卷中的数据复制到所述目标卷中。

可以看出,本实施例存储系统数据迁移方法,在存储系统的磁盘中创建虚拟磁盘,其中包括作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,在虚拟磁盘中以数据区块为基本单元管理数据,并建立位图,位图中的每一元素映射源卷中的一个数据区块,并映射目标卷中的一个数据区块;根据所述位图记录的映射关系,以数据区块为基本单元将源卷中的数据复制到目标卷中。

本发明存储系统数据迁移方法,通过创建虚拟磁盘,在将源卷虚拟磁盘的数据复制到目标卷虚拟磁盘过程中,是以数据区块为基本单元进行,而正在迁移的数据区块不一定正被业务调用,此时不需要中断业务,因此通过该方法进行数据迁移时不需要中断前端业务才可进行,从而克服了现有方法在进行数据迁移时需要中断前端业务才可进行的问题。

下面对本实施例存储系统数据迁移方法进行详细说明。本实施例存储系统数据迁移方法包括步骤:

S10:在存储系统的磁盘中创建作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,所述虚拟磁盘以数据区块为基本单元管理数据:。

通过虚拟化技术,在存储系统的物理磁盘上创建虚拟磁盘,对于创建的多个虚拟磁盘,分别标记为源卷和目标卷。

在虚拟磁盘中,以数据区块为基本单元管理数据,即在虚拟磁盘中数据以数据区块为基本单元存储。

其中,作为目标卷的虚拟磁盘包含的数据区块的数量,要大于等于作为源卷的虚拟磁盘包含的数据区块的数量,这样保证在数据迁移过程中能够将源卷中的数据完整复制到目标卷磁盘中。

源卷中的数据区块的容量大小与目标卷中的数据区块的容量大小要一致,这样方便在数据复制迁移过程中数据区块的管理。

另外,数据区块的容量大小可以根据具体数据业务类型进行设置。针对不同业务类型的迁移过程,可设置不同的容量大小,以满足不同业务场景的要求。

S11:建立位图,所述位图中的每一元素映射所述源卷中的一个数据区块,并映射所述目标卷中的一个数据区块。

本方法中数据迁移过程中采用位图管理模式,通过建立位图,建立源卷中数据区块和目标卷中数据区块的映射关系。

位图是一个二维的映射表,也可以理解为连续的一维数组,位图中的每一元素映射源卷中的一个数据区块,并映射目标卷中的一个数据区块,从而建立源卷中数据区块和目标卷中数据区块的映射关系。

在位图中,是以数据区块为基本单元管理数据,位图的大小由数据区块的大小和源卷的大小共同决定,

本实施例中,根据不同的业务类型可相应设计数据区块的大小,数据区块容量太小会使迁移线程不停地进行切换,降低CPU的性能;而数据区块太大,会降低IO数据迁移的原子性,而给数据不一致性带来风险。因此要根据业务类型相应设置数据区块的大小,要保证数据的一致性,还要保证系统的运行效率。

S12:根据所述位图记录的映射关系,以数据区块为基本单元,将所述源卷中的数据复制到所述目标卷中。

根据位图中记录的源卷与目标卷中各数据区块的映射关系,将源卷中数据区块的数据复制到目标卷中对应的数据区块中,进行数据迁移。

优选的,本方法中,当源卷中的数据没有成功复制到目标卷中时,即源卷中各数据区块的数据并没有全部成功复制到目标卷中,在所述位图中会标记出各数据区块是否成功复制,根据位图中的标记,将源卷中没有成功复制的数据区块的数据重新复制到目标卷中对应的数据区块。

当源卷中的数据成功复制到目标卷中时,即源卷中各数据区块的数据都已成功复制到目标卷中时,则将所述源卷中的数据删除,数据迁移过程完成。

进一步的,本方法中在进行数据迁移过程中,系统前端业务IO数据进行读操作及写操作的方式如下:

关于业务IO数据进行读操作的控制方式:

若在所述位图中,业务要进行读操作的数据区块对应标记为已完成迁移,则控制业务读操作在所述目标卷中对应的数据区块进行。

若在所述位图中,业务要进行读操作的数据区块对应标记为未迁移,则控制业务读操作在所述源卷中对应的数据区块进行。

若在所述位图中,业务要进行读操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务读操作在所述目标卷中对应的数据区块进行。

若在所述源卷和所述目标卷中均有读操作,则业务IO数据读操作是上述两种操作的组合实现。

关于业务IO数据进行写操作的控制方式如下:

若在所述位图中,业务要进行写操作的数据区块对应标记为已完成迁移,则控制业务写操作在所述目标卷中对应的数据区块进行。

若在所述位图中,业务要进行写操作的数据区块对应标记为未迁移,则控制业务写操作在所述源卷中对应的数据区块进行。另外,当业务写操作在所述源卷中数据区块进行的过程中,通过读写锁控制该数据区块的数据不进行迁移。

若在所述位图中,业务要进行写操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务写操作在所述目标卷中对应的数据区块进行。

若在所述源卷和所述目标卷中均有写操作,则业务IO数据写操作是上述两种操作的组合实现。

因此,本实施例存储系统数据迁移方法,通过创建虚拟磁盘,在将源卷虚拟磁盘的数据复制到目标卷虚拟磁盘过程中,是以数据区块为基本单元进行,而正在迁移的数据区块不一定正被业务调用,此时不需要中断业务,因此通过该方法达到数据迁移过程中前端业务不中断的目的。数据迁移过程不会影响关键数据业务,保持前端业务的连续性,可满足用户对数据实时性的要求。

相应的,本发明实施例还提供一种存储系统数据迁移系统,请参考图2,所述系统包括:

创建模块20,用于在存储系统的磁盘中创建作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,所述虚拟磁盘以数据区块为基本单元管理数据;

位图模块21,包括位图,所述位图中的每一元素映射所述源卷中的一个数据区块,并映射所述目标卷中的一个数据区块;

数据迁移模块22,用于根据所述位图记录的映射关系,以数据区块为基本单元,将所述源卷中的数据复制到所述目标卷中。

可以看出,本实施例存储系统数据迁移系统,在存储系统的磁盘中创建虚拟磁盘,其中包括作为源卷的虚拟磁盘和作为目标卷的虚拟磁盘,在虚拟磁盘中以数据区块为基本单元管理数据,并建立位图,位图中的每一元素映射源卷中的一个数据区块,并映射目标卷中的一个数据区块;根据所述位图记录的映射关系,以数据区块为基本单元将源卷中的数据复制到目标卷中。

本发明存储系统数据迁移系统,通过创建虚拟磁盘,在将源卷虚拟磁盘的数据复制到目标卷虚拟磁盘过程中,是以数据区块为基本单元进行,而正在迁移的数据区块不一定正被业务调用,此时不需要中断业务,因此通过该方法进行数据迁移时不需要中断前端业务才可进行,从而克服了现有方法的问题。

本实施例中,创建的目标卷包含的数据区块的数量大于等于所述源卷包含的数据区块的数量。这样保证在数据迁移过程中能够将源卷中的数据完整复制到目标卷磁盘中。

本实施例中,所述数据迁移模块22还用于:

当所述源卷中的数据没有成功复制到所述目标卷中时,根据所述位图中的标记,将所述源卷中没有成功复制的数据区块的数据重新复制到所述目标卷中对应的数据区块。

当源卷中的数据成功复制到目标卷中时,即源卷中各数据区块的数据都已成功复制到目标卷中时,则数据迁移模块将所述源卷中的数据删除,数据迁移过程完成。

另外,本实施例存储系统数据迁移系统还包括业务读/写操作控制模块,用于:

若在所述位图中,业务要进行读操作的数据区块对应标记为已完成迁移,则控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为未迁移,则控制业务读操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行读操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务读操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为已完成迁移,则控制业务写操作在所述目标卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为未迁移,则控制业务写操作在所述源卷中对应的数据区块进行;

若在所述位图中,业务要进行写操作的数据区块对应标记为正在迁移,则等待完成迁移后,控制业务写操作在所述目标卷中对应的数据区块进行。

所述业务读/写操作控制模块还用于:

当业务写操作在所述源卷中数据区块进行的过程中,通过读写锁控制该数据区块的数据不进行迁移。

以上对本发明所提供的一种存储系统数据迁移方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1