一种动态迁移方法及装置制造方法及图纸

技术编号:16700414 阅读:23 留言:0更新日期:2017-12-02 12:39
本发明专利技术公开了一种动态迁移方法及装置,其中该方法包括:确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;从第一个源扩展区开始到最后一个源扩展区结束,依次将每M个源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;对于每个当前级扩展区,均从该当前级扩展区的第一个子源扩展区开始到最后一个子源扩展区结束,依次将每一个子源扩展区作为当前级子扩展区,读取当前级子扩展区对应的待迁移数据,并基于对应关系将待迁移数据写到对应的目的扩展区。本发明专利技术所提供的一种动态迁移方法解决了如何减少动态迁移对存储系统性能影响的技术问题。

A dynamic migration method and device

The invention discloses a device and a method of dynamic transfer, wherein the method comprises: determining the source disk source extension area and to extend the corresponding relationship to the hard disk area between; from the first source expansion area beginning to end a source extension end, in turn every M source as the current expansion expansion area each district, the current level is split into extension number of N sub source expansion area; for each current level expansion zone, from the first end of the current source sub level expansion zone expansion area to the last sub source expansion area, in turn as the current level expansion zone expansion area of each sub read the source, after the migration data of the sub region corresponding to the expansion, and based on the corresponding relationship will be written to the corresponding data transfer objective expansion area. A dynamic migration method provided by this invention solves the technical problem of how to reduce the impact of dynamic migration on the performance of a storage system.

【技术实现步骤摘要】
一种动态迁移方法及装置
本专利技术涉及数据迁移
,更具体地说,涉及一种动态迁移方法及装置。
技术介绍
数据迁移是指将存储数据从当前存储环境移动到新的存储环境。数据迁移包括从同一存储设备中的一个硬盘移动到另一个硬盘,或者从存储集群系统中的一台存储设备移动到另外一台存储设备,或者是从本地一台存储设备移动到异地的另一台存储设备上。数据迁移可以分为静态迁移和动态迁移。静态迁移时,待迁移数据在整个迁移过程中处于不可被访问状态,实现起来较为容易。而动态迁移在整个迁移过程中仅仅允许待迁移数据处于可被访问状态,而且仅仅允许秒级(最多分钟级的)的无法被访问状态。现有技术中一种数据动态迁移方法是:采用内存锁或者硬盘锁机制来锁定被迁移数据的全部或者一部分。然而,在采用共享存储的数据中心,采用现有技术中一种数据动态迁移方法时,可能导致较多数据处于不可被访问状态,从而可能引起多台服务器上众多客户应用的停滞,带来糟糕的客户体验。由于队头阻塞等原因,长时间锁定可能引发链式反应,导致系统性能下降。综上所述,如何减少动态迁移对存储系统性能的影响是目前本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种动态迁移方法,其能解决如何减少动态迁移对存储系统性能的影响的技术问题。本专利技术还提供了一种动态迁移装置。为了实现上述目的,本专利技术提供如下技术方案:一种动态迁移方法,包括:确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;从第一个所述源扩展区开始到最后一个所述源扩展区结束,依次将每M个所述源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;对于每个当前级扩展区,均从该当前级扩展区的第一个所述子源扩展区开始到最后一个所述子源扩展区结束,依次将每一个所述子源扩展区作为当前级子扩展区,读取所述当前级子扩展区对应的待迁移数据,并基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区。优选的,所述基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区之后还包括:判断任一当前级扩展区的全部子源扩展区是否均迁移成功,若否,则标记该当前级扩展区对应的迁移失败的数据;若是,则将预存的该当前级扩展区对应数据的地址信息修改为对应的所述目的扩展区的地址信息。优选的,判断任一当前级扩展区的全部子源扩展区均迁移成功之后还包括:判断所述源扩展区是否均迁移成功,若是,则输出全部迁移成功的提示,若否,则输出迁移失败的所述源扩展区的信息。优选的,所述依次将每M个所述源扩展区作为当前级扩展区之前还包括:确定迁移重试次数,确定重新对每一个所述源扩展区进行迁移的迁移次数为0;判断出任一当前级扩展区的全部子源扩展区未均迁移成功之后,所述标记该当前级扩展区对应的迁移失败的数据之前,还包括:判断全部子源扩展区未均迁移成功的当前级扩展区对应的迁移次数是否小于所述迁移重试次数,若是,则将迁移次数加1,重新对该当前级扩展区进行迁移,若否,则执行所述标记该当前级扩展区对应的迁移失败的数据的步骤。优选的,将任M个所述源扩展区作为当前级扩展区之后还包括:将当前级扩展区的状态修改为正在迁移;判断出任一当前级扩展区的全部子源扩展区均迁移成功之后还包括:将全部子源扩展区均迁移成功的当前级扩展区的状态修改为正常。优选的,所述依次将每M个所述源扩展区作为当前级扩展区之前还包括:基于源硬盘的类型确定每次进行数据迁移的所述源硬盘的源扩展区的数量M。优选的,所述读取所述当前级子扩展区对应的待迁移数据包括:以同步读方式读取所述当前级子扩展区对应的待迁移数据;所述基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区包括:基于所述对应关系将所述待迁移数据以同步写方式写到对应的所述目的扩展区。优选的,所述将每个当前级扩展区均拆分为数量为N的子源扩展区之后还包括:接收I/O请求;判断所述I/O请求对应的所述源扩展区是否为当前级扩展区,若是,则判断该当前级扩展区的当前级子扩展区是否是该当前级扩展区的第一个所述子源扩展区,若该当前级扩展区的当前级子扩展区是该当前级扩展区的第一个所述子源扩展区,则将所述I/O请求加入至所述源扩展区的等待队列,若该当前级扩展区的当前级子扩展区不是该当前级扩展区的第一个所述子源扩展区,则拆分所述I/O请求为对该当前级扩展区对应的所述子源扩展区的子I/O请求;从第一个所述子I/O请求开始到最后一个所述子I/O请求结束,依次将每一个所述子I/O请求作为当前级子I/O请求,若当前级子I/O请求对应的所述子源扩展区完成迁移,则指示所述I/O请求的发送方由对应目的扩展区中实现访问;若当前级子I/O请求对应的所述子源扩展区未完成迁移且当前级子I/O请求对应的所述子源扩展区不是当前级子扩展区,则允许所述I/O请求实现对应访问,若当前级子I/O请求对应的所述子源扩展区未完成迁移且当前级子I/O请求对应的所述子源扩展区是当前级子扩展区,则将当前级子I/O请求加入至所述子源扩展区的等待队列中。优选的,所述将所述I/O请求加入至所述源扩展区的等待队列之后,所述拆分所述I/O请求为对该当前级扩展区对应的所述子源扩展区的子I/O请求之前,还包括:判断当前级子扩展区是否完成迁移,若是,则将所述I/O请求从所述源扩展区的等待队列中取出,执行所述拆分所述I/O请求为对该当前级扩展区对应的所述子源扩展区的子I/O请求的步骤。本专利技术还提供了一种动态迁移装置,包括:确定模块,用于确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;拆分模块,用于从第一个所述源扩展区开始到最后一个所述源扩展区结束,依次将每M个所述源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;迁移模块,用于对于每个当前级扩展区,均从该当前级扩展区的第一个所述子源扩展区开始到最后一个所述子源扩展区结束,依次将每一个所述子源扩展区作为当前级子扩展区,读取所述当前级子扩展区对应的待迁移数据,并基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区。本专利技术所提供的一种动态迁移方法,包括:确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;从第一个源扩展区开始到最后一个源扩展区结束,依次将每M个源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;对于每个当前级扩展区,均从第一个子源扩展区开始到最后一个子源扩展区结束,依次将每一个子源扩展区作为当前级子扩展区,读取当前级子扩展区对应的待迁移数据,并基于对应关系将待迁移数据写到对应的目的扩展区。本专利技术所提供的一种动态迁移方法先确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系,然后依次将每M个源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区,依次将每一个子源扩展区作为当前级子扩展区,每次动态迁移时仅仅迁移当前级子扩展区的数据,其他子源扩展区的数据不做迁移,使得本专利技术方法中处于不可被访问状态的数据仅仅为当前级子扩展区的数据,少于现有技术方法中处于不可被访问状态的数据,而且迁移当前级子扩展区对应的待迁移数据所需的时间也少于现有技术中迁移处于不可被访问状态的数据所需的时间,从而使得因为处于不可被访问状态数据过多出现数据访问停滞现象的几率减少,进而减少了对存储系统性能的影响。综上所述,本专利技术所本文档来自技高网...
一种动态迁移方法及装置

【技术保护点】
一种动态迁移方法,其特征在于,包括:确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;从第一个所述源扩展区开始到最后一个所述源扩展区结束,依次将每M个所述源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;对于每个当前级扩展区,均从该当前级扩展区的第一个所述子源扩展区开始到最后一个所述子源扩展区结束,依次将每一个所述子源扩展区作为当前级子扩展区,读取所述当前级子扩展区对应的待迁移数据,并基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区。

【技术特征摘要】
1.一种动态迁移方法,其特征在于,包括:确定源硬盘的源扩展区和目的硬盘的目的扩展区之间的对应关系;从第一个所述源扩展区开始到最后一个所述源扩展区结束,依次将每M个所述源扩展区作为当前级扩展区,将每个当前级扩展区均拆分为数量为N的子源扩展区;对于每个当前级扩展区,均从该当前级扩展区的第一个所述子源扩展区开始到最后一个所述子源扩展区结束,依次将每一个所述子源扩展区作为当前级子扩展区,读取所述当前级子扩展区对应的待迁移数据,并基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区。2.根据权利要求1所述的方法,其特征在于,所述基于所述对应关系将所述待迁移数据写到对应的所述目的扩展区之后还包括:判断任一当前级扩展区的全部子源扩展区是否均迁移成功,若否,则标记该当前级扩展区对应的迁移失败的数据;若是,则将预存的该当前级扩展区对应数据的地址信息修改为对应的所述目的扩展区的地址信息。3.根据权利要求2所述的方法,其特征在于,判断任一当前级扩展区的全部子源扩展区均迁移成功之后还包括:判断所述源扩展区是否均迁移成功,若是,则输出全部迁移成功的提示,若否,则输出迁移失败的所述源扩展区的信息。4.根据权利要求2所述的方法,其特征在于,所述依次将每M个所述源扩展区作为当前级扩展区之前还包括:确定迁移重试次数,确定重新对每一个所述源扩展区进行迁移的迁移次数为0;判断出任一当前级扩展区的全部子源扩展区未均迁移成功之后,所述标记该当前级扩展区对应的迁移失败的数据之前,还包括:判断全部子源扩展区未均迁移成功的当前级扩展区对应的迁移次数是否小于所述迁移重试次数,若是,则将迁移次数加1,重新对该当前级扩展区进行迁移,若否,则执行所述标记该当前级扩展区对应的迁移失败的数据的步骤。5.根据权利要求2所述的方法,其特征在于,将任M个所述源扩展区作为当前级扩展区之后还包括:将当前级扩展区的状态修改为正在迁移;判断出任一当前级扩展区的全部子源扩展区均迁移成功之后还包括:将全部子源扩展区均迁移成功的当前级扩展区的状态修改为正常。6.根据权利要求1所述的方法,其特征在于,所述依次将每M个所述源扩展区作为当前级扩展区之前还包括:基于源硬盘的类型确定每次进行数据迁移的所述源硬盘的源扩展区的数量M。7.根据权利要求1所述的方法,其特征在于,所述读取所述当前级子扩展区对应的待迁移数据包括:以同步读方式读取所述当前级子扩展区对应的待迁移数据;所述基于所述对应关系将所述待迁移...

【专利技术属性】
技术研发人员:来炜国
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1