一种虚拟磁盘迁移方法、装置、设备及可读存储介质

文档序号:1627684 发布日期:2020-01-14 浏览:5次 >En<

阅读说明:本技术 一种虚拟磁盘迁移方法、装置、设备及可读存储介质 (Virtual disk migration method, device, equipment and readable storage medium ) 是由 冯振 颜秉珩 王理想 杨锋 于 2019-09-05 设计创作,主要内容包括:本申请公开了一种虚拟磁盘迁移方法,包括:若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;若接收到将虚拟机迁移至第二数据中心的指令,则控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。本申请基于二值表预先将部分数据拷贝至第二数据中心,在迁移虚拟机时,只需迁移另外一部分数据,从而降低了数据迁移量和迁移时间,提高了虚拟磁盘和虚拟机的迁移效率。相应地,本申请公开的一种虚拟磁盘迁移装置、设备及可读存储介质,也同样具有上述技术效果。(The application discloses a virtual disk migration method, which comprises the following steps: if the data in the cluster is changed, updating the label of the cluster in the binary table to a first target value; copying the data in the cluster to a second data center, and updating the first target value to a second target value; and if an instruction for migrating the virtual machine to the second data center is received, controlling the virtual machine to stop running, inquiring the first target value in the binary table, and migrating the data in the cluster corresponding to the inquired first target value to the second data center. According to the method and the device, part of data is copied to the second data center in advance based on the binary table, and when the virtual machine is migrated, only the other part of data needs to be migrated, so that the data migration amount and the migration time are reduced, and the migration efficiency of the virtual disk and the virtual machine is improved. Accordingly, the virtual disk migration apparatus, the device and the readable storage medium disclosed by the application also have the technical effects.)

一种虚拟磁盘迁移方法、装置、设备及可读存储介质

技术领域

本申请涉及计算机技术领域,特别涉及一种虚拟磁盘迁移方法、装置、设备及可读存储介质。

背景技术

在现有技术中,源端一般设置有备份磁盘,该备份磁盘用于备份运行于源端的虚拟机对应的虚拟磁盘中的数据。当需要将源端的虚拟机迁移至目的端时,直接将备份磁盘中数据全部迁移至目的端,从而完成虚拟机对应的虚拟磁盘的迁移,并据此实现虚拟机迁移。可见,现有迁移方式需要将备份磁盘中数据一次性全部迁移至目的端,如此迁移的数据量将比较大,因此会延长迁移时间,降低虚拟磁盘和虚拟机的迁移效率。

因此,如何提高虚拟磁盘的迁移效率,是本领域技术人员需要解决的问题。

发明内容

有鉴于此,本申请的目的在于提供一种虚拟磁盘迁移方法、装置、设备及可读存储介质,以提高虚拟磁盘的迁移效率。其具体方案如下:

第一方面,本申请提供了一种虚拟磁盘迁移方法,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇,包括:

若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;

若接收到将虚拟机迁移至第二数据中心的指令,则控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。

优选地,第二数据中心为第一数据中心的灾备中心;若在第二数据中心中,为灾备虚拟磁盘设有对应的备份虚拟磁盘,则将簇中的数据拷贝至第二数据中心,包括:将簇中的数据拷贝至备份虚拟磁盘;灾备虚拟磁盘设置于第二数据中心,用于对源虚拟磁盘中的数据进行灾备;相应地,将查询到的第一目标值对应的簇中的数据迁移至第二数据中心,包括:将查询到的第一目标值对应的簇中的数据迁移至备份虚拟磁盘。

优选地,将查询到的第一目标值对应的簇中的数据迁移至备份虚拟磁盘之后,还包括:

第二数据中心控制虚拟机基于备份虚拟磁盘运行。

优选地,控制虚拟机基于备份虚拟磁盘运行之前,还包括:

将虚拟机的内存资源迁移至备份虚拟磁盘。

优选地,将查询到的第一目标值对应的簇中的数据迁移至第二数据中心,包括:

将查询到的第一目标值对应的簇中的数据迁移至灾备虚拟磁盘。

优选地,二值表的初始化步骤包括:

计算备份虚拟磁盘和源虚拟磁盘的差值;

将差值确定为源虚拟磁盘中的每个簇在二值表中的初始标签。

优选地,将簇中的数据拷贝至第二数据中心,包括:

若到达数据拷贝时间点,则执行将簇中的数据拷贝至第二数据中心的步骤。

第二方面,本申请提供了一种虚拟磁盘迁移装置,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇,包括:

拷贝模块,用于若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;

迁移模块,用于若接收到将虚拟机迁移至第二数据中心的指令,则控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。

第三方面,本申请提供了一种虚拟磁盘迁移设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序,以实现前述公开的虚拟磁盘迁移方法。

第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,计算机程序被处理器执行时实现前述公开的虚拟磁盘迁移方法。

通过以上方案可知,本申请提供了一种虚拟磁盘迁移方法,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇,包括:若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;若接收到将虚拟机迁移至第二数据中心的指令,则控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。

可见,该方法在将虚拟机迁移至第二数据中心之前,利用二值表标记虚拟磁盘中的数据,以区别更新数据和未更新数据。其中,第一目标值用于标记数据发生更新;第二目标值用于标记数据未发生更新或发生更新但已拷贝。本申请基于二值表预先将虚拟机对应的虚拟磁盘中的部分数据拷贝至第二数据中心,这样在迁移虚拟机时,只需迁移虚拟磁盘中的未拷贝的数据即可,由此降低了数据迁移量和迁移时间,提高了虚拟磁盘和虚拟机的迁移效率。其中,预先拷贝至第二数据中心的部分数据为虚拟磁盘中的更新数据,迁移虚拟机时迁移的数据为虚拟磁盘中的一直未更新的数据和/或有更新但未来得及拷贝至第二数据中心的数据。

相应地,本申请提供的一种虚拟磁盘迁移装置、设备及可读存储介质,也同样具有上述技术效果。

附图说明

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

图1为本申请公开的第一种虚拟磁盘迁移方法流程图;

图2为本申请公开的第二种虚拟磁盘迁移方法流程图;

图3为本申请公开的一种虚拟磁盘迁移系统示意图;

图4为本申请公开的一种虚拟磁盘迁移装置示意图;

图5为本申请公开的一种虚拟磁盘迁移设备示意图。

具体实施方式

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

目前,现有迁移方式需要将备份磁盘中数据一次性全部迁移至目的端,如此迁移的数据量将比较大,因此会延长迁移时间,降低虚拟磁盘和虚拟机的迁移效率。为此,本申请提供了一种虚拟磁盘迁移方案,能够提高虚拟磁盘的迁移效率。

参见图1所示,本申请实施例公开了第一种虚拟磁盘迁移方法,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇,包括:

S101、若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;

具体的,当虚拟磁盘中的某个簇中的数据发生变化,则将该簇在二值表中的标签更新为第一目标值,第一目标值用于标记更新数据。

S102、将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;

进一步地,将具有第一目标值这种标签的簇中的数据拷贝至第二数据中心,也就是将更新数据拷贝至第二数据中心,同时将第一目标值更新为第二目标值,第二目标值用于标记未更新数据和/或更新但已拷贝的数据。

S103、接收将虚拟机迁移至第二数据中心的指令;

S104、控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。

当接收到将虚拟机迁移至第二数据中心的指令,则在二值表中查询第一目标值,此时查询到的第一目标值对应的簇中的数据包括:未更新数据、更新但已拷贝的数据和更新还未来得及拷贝的数据,也就是需要迁移的另一部分数据。因此将这部分数据迁移至第二数据中心,即完成了虚拟磁盘中所有数据的迁移。

在一种具体实施方式中,二值表的初始化步骤包括:计算备份虚拟磁盘和源虚拟磁盘的差值;将差值确定为源虚拟磁盘中的每个簇在二值表中的初始标签。

具体的,备份虚拟磁盘也被划分为多个簇,备份虚拟磁盘中的簇与源虚拟磁盘中的簇一一对应,因此备份虚拟磁盘和源虚拟磁盘的差值即为:备份虚拟磁盘中的各个簇与源虚拟磁盘中的各个簇的对应差值。当备份虚拟磁盘中的某个簇中存储的数据与虚拟磁盘中的对应簇中存储的数据一致时,二者的差值可以记为“0”,否则,记为“1”。其中,“0”即为第二目标值,“1”即为第一目标值。因此源虚拟磁盘中的簇在二值表中的标签,与备份虚拟磁盘中的对应簇在二值表中的标签一致。

需要说明的是,可以设定数据拷贝周期,当到达数据拷贝时间点,再将具有第一目标值这种标签的簇中的数据拷贝至第二数据中心。也就是预设时间段内,批量化的拷贝数据。

可见,本实施例在将虚拟机迁移至第二数据中心之前,利用二值表标记虚拟磁盘中的数据,以区别更新数据和未更新数据。其中,第一目标值用于标记数据发生更新;第二目标值用于标记数据未发生更新或发生更新但已拷贝。本申请基于二值表预先将虚拟机对应的虚拟磁盘中的部分数据拷贝至第二数据中心,这样在迁移虚拟机时,只需迁移虚拟磁盘中的未拷贝的数据即可,由此降低了数据迁移量和迁移时间,提高了虚拟磁盘和虚拟机的迁移效率。

参见图2所示,本申请实施例公开了第二种虚拟磁盘迁移方法,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇;第二数据中心为第一数据中心的灾备中心;灾备虚拟磁盘设置于第二数据中心中,用于对源虚拟磁盘中的数据进行灾备,该方法包括:

S201、若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;

S202、将簇中的数据拷贝至第二数据中心中的备份虚拟磁盘,并将第一目标值更新为第二目标值;

S203、接收将虚拟机迁移至第二数据中心的指令;

S204、控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至备份虚拟磁盘,以使第二数据中心控制虚拟机基于备份虚拟磁盘运行。

在一种具体实施方式中,控制虚拟机基于备份虚拟磁盘运行之前,还包括:将虚拟机的内存资源迁移至备份虚拟磁盘。其中,备份虚拟磁盘是灾备虚拟磁盘的备份磁盘。

其中,将查询到的第一目标值对应的簇中的数据迁移至第二数据中心,包括:将查询到的第一目标值对应的簇中的数据迁移至灾备虚拟磁盘。也就是在进行虚拟机迁移时,将需要迁移的剩余数据迁移至灾备虚拟磁盘,而后将灾备虚拟磁盘中的数据迁移至备份虚拟磁盘,这样备份虚拟磁盘就存有源虚拟磁盘中的所有数据。此种情况下,备份虚拟磁盘和灾备虚拟磁盘中存有相同数据,因此在将灾备虚拟磁盘中的数据迁移至备份虚拟磁盘时,只将备份虚拟磁盘中没有的数据迁移至备份虚拟磁盘即可。备份虚拟磁盘中没有的数据即为:在进行虚拟机迁移时需要迁移的剩余数据。

需要说明的是,本实施例中的实现步骤与上述实施例相同或类似,必要时可相互参照,本实施例不再赘述。

由上可见,本实施例在将虚拟机迁移至第二数据中心之前,利用二值表标记虚拟磁盘中的数据,以区别更新数据和未更新数据。其中,第一目标值用于标记数据发生更新;第二目标值用于标记数据未发生更新或发生更新但已拷贝。本申请基于二值表预先将虚拟机对应的虚拟磁盘中的部分数据拷贝至第二数据中心,这样在迁移虚拟机时,只需迁移虚拟磁盘中的未拷贝的数据即可,由此降低了数据迁移量和迁移时间,提高了虚拟磁盘和虚拟机的迁移效率。

参见图3所示,本申请实施例公开了一种虚拟磁盘迁移系统,包括:数据中心A(即第一数据中心)和数据中心B(即第二数据中心),其中,数据中心A有多个源虚拟磁盘,每个源虚拟磁盘被划分为多个簇。

数据中心B是数据中心A的灾备中心,数据中心B中设有源虚拟磁盘对应的灾备虚拟磁盘,并且设有灾备虚拟磁盘的备份磁盘—目标虚拟磁盘。

在图3中,需要按照1)定时数据灾备,2)复制,3)存储迁移执行,具体请参见下述过程:

具体的,可以定时每天24点将源虚拟磁盘中的数据复制到灾备虚拟磁盘中,进建立灾备虚拟磁盘的备份磁盘—目标虚拟磁盘,那么在第二天中,数据中心A维护一个二值表,若数据中心A中的虚拟磁盘中的某个簇中数据发生变化,则在二值表将该簇标记为1(即第一目标值);否则,在二值表将该簇标记为0(即第二目标值)。对于标记为1的簇,将其中的数据及时拷贝至数据中心B的备份虚拟磁盘(即图3中的目标虚拟磁盘),拷贝完成后,将该簇的标记为0。

若第二天数据中心A触发虚拟机迁移流程,那么数据中心A控制其中待迁移的虚拟机停止运行,并在二值表中查询标记为1的簇,进而将标记为1的簇中的数据迁移至数据中心B中的目标虚拟磁盘,此时目标虚拟磁盘中就会存储有当前虚拟机对应的源虚拟磁盘中的所有数据。此时,灾备虚拟磁盘中的数据已在目标虚拟磁盘中存有,因此其中的数据可以清零,以待第二天24点时对另一源虚拟磁盘中的数据进行灾备。

进一步地,数据中心B及时迁移源虚拟磁盘对应的虚拟机的内存资源,完成虚拟机的迁移。

需要说明的是,本实施例中的实现步骤与上述实施例相同或类似,故本实施例在此不再赘述。,必要时可相互参照,本实施例不再赘述。

本实施例在对虚拟磁盘进行迁移时,无需对虚拟磁盘进行全量拷贝,从而减少了虚拟机迁移时间,提高了虚拟磁盘和虚拟机的迁移效率。

下面对本申请实施例提供的一种虚拟磁盘迁移装置进行介绍,下文描述的一种虚拟磁盘迁移装置与上文描述的一种虚拟磁盘迁移方法可以相互参照。

参见图4所示,本申请实施例公开了一种虚拟磁盘迁移装置,应用于第一数据中心,运行于第一数据中心的虚拟机对应的源虚拟磁盘被划分为多个簇,包括:

拷贝模块401,用于若簇中发生数据变更,则将簇在二值表中的标签更新为第一目标值;将簇中的数据拷贝至第二数据中心,并将第一目标值更新为第二目标值;

迁移模块402,用于若接收到将虚拟机迁移至第二数据中心的指令,则控制虚拟机停止运行,在二值表中查询第一目标值,并将查询到的第一目标值对应的簇中的数据迁移至第二数据中心。

在一种具体实施方式中,第二数据中心为第一数据中心的灾备中心;若在第二数据中心中,为灾备虚拟磁盘设有对应的备份虚拟磁盘,则

拷贝模块具体用于:

将簇中的数据拷贝至备份虚拟磁盘;灾备虚拟磁盘设置于第二数据中心,用于对源虚拟磁盘中的数据进行灾备;

相应地,迁移模块具体用于:

将查询到的第一目标值对应的簇中的数据迁移至备份虚拟磁盘。

在一种具体实施方式中,还包括:

第二数据中心将虚拟机的内存资源迁移至备份虚拟磁盘,控制虚拟机基于备份虚拟磁盘运行。

在一种具体实施方式中,迁移模块具体用于:

将查询到的第一目标值对应的簇中的数据迁移至灾备虚拟磁盘。

在一种具体实施方式中,虚拟磁盘迁移装置还包括:二值表初始化模块,二值表初始化模块包括:

计算单元,用于计算备份虚拟磁盘和源虚拟磁盘的差值;

确定单元,用于将差值确定为源虚拟磁盘中的每个簇在二值表中的初始标签。

在一种具体实施方式中,拷贝模块具体用于:

若到达数据拷贝时间点,则执行将簇中的数据拷贝至第二数据中心的步骤。

其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

可见,本实施例提供了一种虚拟磁盘迁移装置,还装置可降低数据迁移量和迁移时间,提高虚拟磁盘和虚拟机的迁移效率。

下面对本申请实施例提供的一种虚拟磁盘迁移设备进行介绍,下文描述的一种虚拟磁盘迁移设备与上文描述的一种虚拟磁盘迁移方法及装置可以相互参照。

参见图5所示,本申请实施例公开了一种虚拟磁盘迁移设备,包括:

存储器501,用于保存计算机程序;

处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。

下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种虚拟磁盘迁移方法、装置及设备可以相互参照。

一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的虚拟磁盘迁移方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。

需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种存储空间管理方法、系统、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类