System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及服务器领域,尤其涉及一种数据迁移方法及计算设备。
技术介绍
1、随着虚拟机(virtual machine,vm)应用场景越来越多,当一个vm所在的宿主机发生故障或资源不足时,需要将该vm进行迁移。
2、常见的vm迁移方法包括:在vm运行阶段将该vm的元数据和磁盘中存储的数据(简称:全量数据)通过串行的方式迁移至目标宿主机,然后,将该vm进行关机,并在该vm关机后,将迁移上述元数据和磁盘数据的过程中,该磁盘中新增的数据(即:增量数据)迁移至该目标宿主机,并在该增量数据迁移至目标宿主机后,在目标宿主机上运行该vm迁移后的目标vm。
3、然而,由于上述全量数据的数据量较大,所以迁移该全量数据的耗时较久,以使上述增量数据的数据量较大,而上述迁移方法是在该增量数据迁移至目标宿主机后,运行该目标vm,从而导致该vm上的业务中断的时长较大。
技术实现思路
1、本申请实施例提供一种数据迁移方法及计算设备,能够缩短业务中断时长。
2、为达到上述目的,本申请实施例采用如下技术方案:
3、第一方面,本申请实施例提供了一种数据迁移方法,该包括:在源虚拟机处于运行状态的情况下,通过多个线程分别将原磁盘中的数据向目标磁盘迁移;该原磁盘为源虚拟机的磁盘,该目标磁盘为目标虚拟机的磁盘;当多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据,确定目标关机时长;在目标关机时长满足关机条件的情况下,执行虚拟机切换操作,该虚拟机切换操作用于表示将
4、上述实施例在源虚拟机处于运行状态的情况下,通过多个线程将该源虚拟机的磁盘(原磁盘)中的数据向目标虚拟机的磁盘(目标磁盘)中迁移;当多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据确定目标关机时长,并在该目标关机时长满足关机条件的情况下将源虚拟机运行的业务切换至上述目标虚拟机。由于上述是通过多个线程将上述原磁盘中的数据向目标磁盘迁移,所有减少了原磁盘中的数据的迁移时间,以使该原磁盘中的增量数据减少,从而避免了源虚拟机关机后因迁移该增量数据导致该源虚拟机的业务中断时长较大的问题,因此,缩短了业务中断时长。
5、此外,上述实施例在多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据确定目标关机时长;并在该目标关机时长满足关机条件的情况下才会将源虚拟机运行的业务切换至上述目标虚拟机,所以用户通过设定该关机条件即可控制该源虚拟机的关机时长,从而解决了因源虚拟机关机时长较大导致该源虚拟机的业务中断时长较大的问题;因此,缩短了业务中断时长。
6、一种可能的实现方式中,上述在原磁盘包括第一磁盘和第二磁盘的情况下,当多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据,确定目标关机时长;包括:在第一磁盘中的数据完成迁移时,分别确定第一磁盘和第二磁盘的增量数据,其中,一个磁盘的增量数据包括该磁盘的新增数据;该新增数据是迁移该磁盘中的数据的过程中,该磁盘中新增的数据;基于上述第二磁盘中的增量数据和未迁移数据以及该第一磁盘中的增量数据,确定目标关机时长;该目标关机时长是预测的将各磁盘中的增量数据和未迁移数据迁移至目标磁盘所需的时长。
7、上述实施例中基于第二磁盘中的增量数据和未迁移数据以及第一磁盘中的增量数据,确定目标关机时长;由于磁盘中的增量数据也是需要迁移至目标磁盘的,继而基于增量数据和未迁移数据确定目标关机时长提高了该目标关机时长的准确度。
8、一种可能的实现方式中,上述磁盘的增量数据还包括预测增量数据;该预测增量数据是基于磁盘新增数据的速率,预测的将源虚拟机由运行状态切换为关机状态所需的时长内该磁盘中的新增数据。
9、上述实施例中的增量数据在包括新增数据的基础上还包括预测增量数据;该预测增量数据是基于磁盘新增数据的速率,预测的将该源虚拟机由运行状态切换为关机状态所需的时长内该磁盘中的新增数据;从而避免了源虚拟机的磁盘因在关机过程中产生新增的数据,而导致确定的该磁盘的关机时长不准确的问题,因此,提高了目标关机时长的准确度。
10、一种可能的实现方式中,上述基于第二磁盘中的增量数据和未迁移数据以及第一磁盘中的增量数据,确定目标关机时长,包括:根据第一磁盘中的增量数据的数据量和第一磁盘的数据迁移速度,确定第一关机时长,该第一关机时长是将第一磁盘中的增量数据迁移至目标磁盘所需要的时长;根据上述第二磁盘中的增量数据的数据量和未迁移数据的数据量以及该第二磁盘的数据迁移速度,确定第二关机时长,该第二关机时长是将第二磁盘中的增量数据和未迁移数据迁移至目标磁盘所需要的时长;将第一关机时长和第二关机时长中的最大时长,确定为目标关机时长。
11、上述实施例根据第一磁盘中的增量数据的数据量和第一磁盘的数据迁移速度,确定第一关机时长;并根据第二磁盘中的增量数据的数据量和未迁移数据的数据量以及第二磁盘的数据迁移速度,确定第二关机时长;最后,将各磁盘的预测时长(即第一关机时长和第二关机时长)中的最大时长,确定为目标关机时长。从而提高了目标关机时长的准确度。
12、一种可能的实现方式中,在第一磁盘中的数据完成迁移时,确定第一磁盘的增量数据包括:将第一磁盘的第一全量快照与第一磁盘的第二全量快照中的差异数据确定为第一磁盘的增量数据;第一全量快照是第一磁盘上一次进行数据迁移时第一磁盘中的全量数据的快照;第二全量快照是当前第一磁盘中的全量数据的快照。
13、一种可能的实现方式中,在原磁盘包括多个磁盘的情况下,执行虚拟机切换操作,包括:将源虚拟机由运行状态切换为关机状态;在源虚拟机处于关机状态的情况下,通过不同线程将各原磁盘中的未迁移数据迁移至目标磁盘;当所有线程完成数据迁移时,启动目标虚拟机。
14、上述实施例在源虚拟机关机后,通过不同线程将各个原磁盘中的未迁移数据迁移至目标磁盘;避免了各个原磁盘的未迁移数据相互依赖的问题,从而提高了该未迁移数据的迁移效率,继而,缩短了业务中断时长。
15、一种可能的实现方式中,在第一磁盘中的数据完成迁移的情况下,通过不同线程将各磁盘中的未迁移数据迁移至目标磁盘,包括:通过第一线程将第一磁盘中的增量数据迁移至目标磁盘;通过第二线程将第二磁盘中的未迁移数据迁移至目标磁盘;通过第二线程或第三线程将第二磁盘中的增量数据迁移至目标磁盘。
16、上述实施例通过不同线程迁移第二磁盘中的未迁移数据和增量数据,避免了第二磁盘中的增量数据需要等待该未迁移数据迁移完成之后再进行迁移的问题,因此,提高了第二磁盘中的增量数据的迁移效率。
17、一种可能的实现方式中,在原磁盘包括第一磁盘和第二磁盘的情况下,通过多个线程分别将原磁盘中的数据向目标磁盘迁移,包括:通过不同线程将第一磁盘中的数据和第二磁盘中的数据向目标磁盘迁移。
18、一种可能的实现方式中,在通过多个线程分别将原磁盘中的数据向目标磁盘迁移之前,该方法还包括:将源虚拟机本文档来自技高网...
【技术保护点】
1.一种数据迁移方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述原磁盘包括第一磁盘和第二磁盘的情况下,所述当多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据,确定目标关机时长;包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述第二磁盘中的增量数据和未迁移数据以及所述第一磁盘中的增量数据,确定所述目标关机时长,包括:
5.根据权利要求2-4任一项所述的方法,其特征在于,在所述第一磁盘中的数据完成迁移时,确定所述第一磁盘的增量数据包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述原磁盘包括多个磁盘的情况下,所述执行虚拟机切换操作,包括:
7.根据权利要求6所述的方法,其特征在于,在所述第一磁盘中的数据完成迁移的情况下,所述通过不同线程将各所述磁盘中的未迁移数据迁移至所述目标磁盘,包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,在所述原磁盘包括第一磁盘和第二磁盘的情况下
9.根据权利要求1-8任一项所述的方法,其特征在于,在所述通过多个线程分别将原磁盘中的数据向目标磁盘迁移之前,所述方法还包括:
10.一种计算设备,其特征在于,包括存储器和处理器,所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述的方法。
...【技术特征摘要】
1.一种数据迁移方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述原磁盘包括第一磁盘和第二磁盘的情况下,所述当多个线程中的任一线程完成数据迁移时,基于其他线程中的未迁移数据,确定目标关机时长;包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述第二磁盘中的增量数据和未迁移数据以及所述第一磁盘中的增量数据,确定所述目标关机时长,包括:
5.根据权利要求2-4任一项所述的方法,其特征在于,在所述第一磁盘中的数据完成迁移时,确定所述第一磁盘的增量数据包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述原磁盘包括多个磁盘的情况下,所述执行虚拟机切换操作,包括:<...
【专利技术属性】
技术研发人员:王鹏飞,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。