技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种数据迁移方法及计算设备与流程  >  正文

一种数据迁移方法及计算设备与流程

  • 国知局
  • 2024-10-21 14:32:23

本技术实施例涉及服务器领域,尤其涉及一种数据迁移方法及计算设备。

背景技术:

1、随着虚拟机(virtual machine,vm)应用场景越来越多,当一个vm所在的宿主机发生故障或资源不足时,需要将该vm进行迁移,以保障业务运行的可靠性。

2、然而,在目前的vm迁移方法中,当源虚拟机的磁盘格式与目标宿主机的磁盘格式不同时,通常在源虚拟机关机后对迁移数据进行格式转换,以完成数据迁移,若迁移数据的数据量较大,将导致迁移数据的格式转换时间较长,从而导致业务中断的时长较大。

技术实现思路

1、本技术实施例提供一种数据迁移方法及计算设备,能够缩短业务中断时长。

2、为达到上述目的,本技术实施例采用如下技术方案:

3、第一方面,本技术实施例提供了一种数据迁移方法,该包括:在第一服务器上的源虚拟机处于运行状态的情况下,通过多个线程将多个原磁盘中的数据向第二服务器迁移;该原磁盘为上述源虚拟机的磁盘,上述第二服务器包括目标磁盘,该目标磁盘为目标虚拟机的磁盘,该原磁盘的磁盘格式与目标磁盘的磁盘格式不同;在上述多个线程中存在完成数据迁移的目标线程,且该目标线程对应的第一原磁盘中不存在第一增量数据的情况下,对上述目标线程迁移的第一原磁盘的迁移数据进行格式转换操作,该格式转换操作用于表示将迁移数据的格式转换为与目标磁盘的磁盘格式相适配,该第一增量数据是在对第一原磁盘进行数据迁移过程中,该第一原磁盘中的新增数据;在关机条件满足的情况下,将源虚拟机关机,对第二原磁盘执行磁盘迁移操作,其中,该第二原磁盘为未完成数据迁移的线程对应的原磁盘和/或存在增量数据的原磁盘,该磁盘迁移操作用于表示将未迁移数据完成迁移并进行格式转换操作,该未迁移数据包括未完成迁移的数据和/或增量数据。

4、上述实施例在通过多个线程,将第一服务器上运行的源虚拟机中的多个原磁盘中的数据向第二服务器迁移;并在该多个线程中存在完成数据迁移的目标线程,且该目标线程对应的第一原磁盘中不存在增量数据的情况下,在源虚拟机处于运行状态下,对第二服务器中从第一原磁盘迁移的迁移数据(即:目标线程迁移的第一原磁盘的迁移数据)进行格式转换操作,以使该迁移数据的数据格式与第二服务器包括的目标磁盘的磁盘格式相适配;最后,在关机条件满足的情况下,将源虚拟机关机,并对未完成数据迁移的线程对应的原磁盘和/或存在增量数据的原磁盘(即:第二原磁盘)执行磁盘迁移操作,该磁盘迁移操作用于表示将未迁移数据完成迁移并进行格式转换操作,该未迁移数据包括未完成迁移的数据和/或增量数据。可见,上述实施例在源虚拟机的运行状态阶段已开始对迁移数据执行格式转换操作,从而避免了在源虚拟机关机后转换上述迁移数据的数据格式耗时较久的问题,因此,缩短了源虚拟机的业务中断的时长。

5、一种可能的实现方式中,在对目标线程迁移的第一原磁盘的迁移数据进行格式转换操作之前,该方法还包括:在第一预设时长内监测第一原磁盘中是否产生第二增量数据;上述对目标线程迁移的第一原磁盘的迁移数据进行格式转换操作,包括:如果第一预设时长内第一原磁盘中未产生第二增量数据,则对该第二服务器上的第一原磁盘对应的迁移数据进行格式转换操作。

6、上述实施例在确定第一原磁盘中不存在第一增量数据的情况下,在第一预设时长内监测第一原磁盘中是否产生第二增量数据,在未产生第二增量数据的情况下,才对第二服务器中该第一原磁盘对应的迁移数据进行数据格式转换,从而避免了后续频繁执行回滚操作导致耗时较长的问题。

7、一种可能的实现方式中,如果第一预设时长内第一原磁盘中产生第二增量数据,则确定第二增量数据为第一增量数据。

8、一种可能的实现方式中,上述方法还包括:在触发对目标线程迁移的第一原磁盘的迁移数据进行格式转换操作之后,监测该第一原磁盘中是否产生的第三增量数据;当监测到第一原磁盘中产生第三增量数据时,针对该第二服务器上的第一原磁盘对应的迁移数据执行回滚操作,该回滚操作用于将经格式转换操作的迁移数据恢复为未经格式转换操作的迁移数据。

9、上述实施例在触发对第二服务器上第一原磁盘对应的迁移数据进行格式转换操作后,管理设备监测第一原磁盘中是否产生第三增量数据,在产生该第三增量数据的情况,将经格式转换操作的迁移数据恢复为未经格式转换操作的迁移数据,从而避免了第二服务器上经格式转换操作的迁移数据存在脏数据的问题,因此,提高了第二服务器上的迁移数据的准确性。

10、一种可能的实现方式中,上述方法还包括:当监测到第一原磁盘中产生第三增量数据时,将第三增量数据确定为第一增量数据。

11、一种可能的实现方式中,该方法包括:在第一原磁盘中存在第一增量数据的情况下,判定关机条件是否满足;若关机条件满足,则将源虚拟机关机,对多个原磁盘执行磁盘迁移操作。

12、一种可能的实现方式中,上述对多个原磁盘执行磁盘迁移操作,包括:通过多个不同线程,将多个原磁盘的未迁移数据迁移至第二服务器;通过不同线程对第二服务器上的各原磁盘对应的迁移数据进行格式转换操作;在对原磁盘完成磁盘迁移操作之后,启动该目标虚拟机。

13、一种可能的实现方式中,上述方法还包括:若关机条件不满足,则通过多个线程将多个原磁盘中的未迁移数据向第二服务器迁移。

14、上述实施例通过多个线程将源虚拟机包括的多个原磁盘中的数据向第二服务器迁移,在该多个原磁盘中的任一磁盘(即第一原磁盘)中的数据完成迁移时,确定该第一原磁盘是否存在第一增量数据,如果该第一原磁盘不存在第一增量数据时,确定该管理设备是否满足关机条件,当满足该关机条件的情况下,对该源虚拟机进行关机,并对源虚拟机中第二原磁盘中的的未迁移数据进行冷迁移,最后,对第二服务器中的各原磁盘对应的迁移数据进行格式转换操作。在该关机条件不满足时,将第一增量数据确定为未迁移数据,循环上述方法直至该关机条件满足。由于上述关机条件包括第二服务器中存在正在进行数据格式转换的数据(简称:转换数据),所以在第二服务器中存在转换数据的情况下,确定上述关机条件不满足,即不对源虚拟机进行关机,而是在等待该转换数据转换完成之后,即上述第二服务器中不存在转换数据的情况下,对该源虚拟机进行关机,从而避免了在关机状态下,因该转换数据的数据量较大,导致转换该转换数据的耗时较大,进而导致业务中断的时长较大的问题。

15、一种可能的实现方式中,上述关机条件包括:第二服务器上不存在正在进行数据格式转换的原磁盘对应的迁移数据;和/或,预测的业务中断时长小于第二预设时长;该业务中断时长是预测的通过不同线程将各原磁盘中的未迁移数据迁移至第二服务器,以及通过不同线程对第二服务器中的各原磁盘对应的迁移数据进行数据格式转换所需的时长。

16、上述实施例在第二服务器中存在正在进行数据格式转换的迁移数据(简称:转换数据)的情况下,确定上述关机条件不满足,即不对源虚拟机进行关机,而是在等待该转换数据转换完成之后,即上述第二服务器中不存在转换数据的情况下,对该源虚拟机进行关机,从而避免了在关机状态下,因该转换数据的数据量较大,导致转换该转换数据的耗时较大,进而导致上述源虚拟机的业务中断的时长较大的问题。

17、上述实施例在预测的业务中断时长大于或等于第二预设时长的情况下,确定上述关机条件不满足,从而不对源虚拟机关机;而是在该业务中断时长小于上述第二预设时长的情况下,确定上述关机条件满足,继而对该源虚拟机进行关机;由于上述预测的业务中断时长是预测的通过不同线程将各原磁盘中的未迁移数据冷迁移至第二服务器,以及通过该不同线程对第二服务器中的各原磁盘对应的迁移数据进行数据格式转换所需的时长;可见,上述实施例是将源虚拟机的业务中断的时长压缩在第二预设时长以内,进而避免了关机后因迁移各原磁盘的未迁移数据,以及对第二服务器中各磁盘对应的迁移数据进行数据格式转换的耗时较大,导致源虚拟机的业务中断的时长较大的问题,因此,缩短了源虚拟机的业务中断的时长。

18、第二方面,本技术实施例提供了一种数据迁移装置,该数据迁移装置包括:迁移单元、数据处理单元以及虚拟机处理单元;迁移单元用于在第一服务器上的源虚拟机处于运行状态的情况下,通过多个线程将多个原磁盘中的数据向第二服务器迁移;原磁盘为源虚拟机的磁盘,第二服务器包括目标磁盘,目标磁盘为目标虚拟机的磁盘,原磁盘的磁盘格式与目标磁盘的磁盘格式不同;数据处理单元用于在多个线程中存在完成数据迁移的目标线程,且目标线程对应的第一原磁盘中不存在第一增量数据的情况下,对目标线程迁移的第一原磁盘的迁移数据进行格式转换操作,格式转换操作用于表示将迁移数据的格式转换为与目标磁盘的磁盘格式相适配,第一增量数据是在对第一原磁盘进行数据迁移过程中,第一原磁盘中的新增数据;虚拟机处理单元用于在关机条件满足的情况下,将源虚拟机关机;数据处理单元对第二原磁盘执行磁盘迁移操作,其中,第二原磁盘为未完成数据迁移的线程对应的原磁盘和/或存在增量数据的原磁盘,磁盘迁移操作用于表示将未迁移数据完成迁移并进行格式转换操作,未迁移数据包括未完成迁移的数据和/或增量数据。

19、一种可能的实现方式中,数据处理单元用于在第一预设时长内监测第一原磁盘中是否产生第二增量数据;数据处理单元用于如果第一预设时长内第一原磁盘中未产生第二增量数据,则对第二服务器上的第一原磁盘对应的迁移数据进行格式转换操作。

20、一种可能的实现方式中,数据处理单元用于如果第一预设时长内第一原磁盘中产生第二增量数据,则确定第二增量数据为第一增量数据。

21、一种可能的实现方式中,数据处理单元用于在触发对目标线程迁移的第一原磁盘的迁移数据进行格式转换操作之后,监测第一原磁盘中是否产生的第三增量数据;数据处理单元还用于当监测到第一原磁盘中产生第三增量数据时,针对第二服务器上的第一原磁盘对应的迁移数据执行回滚操作,回滚操作用于将经格式转换操作的迁移数据恢复为未经格式转换操作的迁移数据。

22、一种可能的实现方式中,数据处理单元用于当监测到第一原磁盘中产生第三增量数据时,将第三增量数据确定为第一增量数据。

23、一种可能的实现方式中,数据处理单元用于在第一原磁盘中存在第一增量数据的情况下,判定关机条件是否满足;数据处理单元还用于若关机条件满足,则将源虚拟机关机,对多个原磁盘执行磁盘迁移操作。

24、一种可能的实现方式中,迁移单元用于通过多个不同线程,将多个原磁盘的未迁移数据迁移至第二服务器;数据处理单元用于通过不同线程对第二服务器上的各原磁盘对应的迁移数据进行格式转换操作;虚拟机处理单元用于在对原磁盘完成磁盘迁移操作之后,启动目标虚拟机。

25、一种可能的实现方式中,数据处理单元用于若关机条件不满足,则通过多个线程将多个原磁盘中的未迁移数据向第二服务器迁移。

26、一种可能的实现方式中,关机条件包括:第二服务器上不存在正在进行数据格式转换的原磁盘对应的迁移数据;和/或,预测的业务中断时长小于第二预设时长;业务中断时长是预测的通过不同线程将各原磁盘中的未迁移数据迁移至第二服务器,以及通过不同线程对第二服务器中的各原磁盘对应的迁移数据进行数据格式转换所需的时长。

27、第三方面,提供了一种计算设备,计算设备包括处理器和存储器,该存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,以实现第一方面及其可能的实现方式的方法。

28、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中的计算机指令被计算设备执行时,使得计算设备执行第一方面及其可能的实现方式的方法。

29、第五方面,提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面及其可能的实现方式的方法。

30、应当理解的是,本技术实施例的第二方面至第五方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果,此处不再赘述。

本文地址:https://www.jishuxx.com/zhuanli/20241021/318508.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。