虚拟机磁盘跨云迁移方法、电子设备及存储介质技术

技术编号:33704183 阅读:15 留言:0更新日期:2022-06-06 08:22
本申请实施例涉及云计算技术领域,公开了一种虚拟机磁盘跨云迁移方法、电子设备及存储介质,方法应用于数据迁移服务,数据迁移服务用于将源平台上的源虚拟机磁盘数据迁移至目的平台上的目的虚拟机磁盘文件中,方法包括步骤:S1:从源平台获取源虚拟机磁盘中至少一个数据块;S2:根据目的平台上的目的虚拟机磁盘文件的数据存储结构,确定当前获取的至少一个数据块在目的虚拟机磁盘文件中的存储位置;S3:将当前获取的至少一个数据块写入所述存储位置;重复执行S1至S3,直至源虚拟磁盘中的所有数据块均写入目的虚拟机磁盘文件。以流的形式实现了磁盘的迁移,省去了临时存储空间,大大节省了存储开销和时间开销。大节省了存储开销和时间开销。大节省了存储开销和时间开销。

【技术实现步骤摘要】
虚拟机磁盘跨云迁移方法、电子设备及存储介质


[0001]本专利技术涉及云计算
,尤其涉及一种虚拟机磁盘跨云迁移方法、电子设备及存储介质。

技术介绍

[0002]在虚拟机跨云迁移的方案中,虚拟机磁盘的迁移是其中最重要的一步。由于不同的云平台的虚拟化技术是不一样的,所以各个平台虚拟机磁盘所依载的磁盘文件的格式是不一样的,因此,虚拟机磁盘跨云的迁移往往会涉及到数据的迁移和格式转换。
[0003]例如,vmware平台使用vmdk格式磁盘文件,openstack平台使用raw格式磁盘文件。现有技术中,在从vmware平台向openstack平台迁移虚拟机的场景中,首先把源vmdk文件(源磁盘文件)下载到本地的临时vmdk文件中,然后使用qemu

img的工具将vmdk文件转换成临时的raw文件,再把raw文件上传到openstack平台使用ceph集群的rbd中存储,最后删除临时的vmdk文件和raw文件,完成磁盘迁移。
[0004]业界使用的这种虚拟机磁盘方案需要临时存储来保存临时的磁盘数据,然而由于磁盘数据通常是很大的,因此,存在存储开销大和花费时间多的问题。

技术实现思路

[0005]本专利技术的目的在于解决上述问题,提供一种虚拟机磁盘跨云迁移方法、电子设备及存储介质,解决了虚拟磁盘文件的数据迁移,存储开销大和花费时间多的问题。
[0006]为解决上述问题,本申请的实施例提供了一种虚拟机磁盘跨云迁移方法,方法应用于数据迁移服务,数据迁移服务用于将源平台上的源虚拟机磁盘数据迁移至目的平台上的目的虚拟机磁盘文件中,方法包括步骤:S1:从源平台获取源虚拟机磁盘中至少一个数据块;S2:根据目的平台上的目的虚拟机磁盘文件的数据存储结构,确定当前获取的至少一个数据块在目的虚拟机磁盘文件中的存储位置;S3:将当前获取的至少一个数据块写入所述存储位置;重复执行S1至S3,直至源虚拟磁盘中的所有数据块均写入目的虚拟机磁盘文件。
[0007]为解决上述问题,本申请的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述虚拟机磁盘跨云迁移方法。
[0008]为解决上述问题,本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述虚拟机磁盘跨云迁移方法。
[0009]在本申请实施例中,通过基于目的虚拟机磁盘文件的数据组成结构,将从源虚拟磁盘文件获取的块数据,写入到目的虚拟机磁盘文件中对应的位置,实现虚拟机的磁盘数据从一个平台到另一个平台的迁移,以流的形式实现了磁盘的迁移,省去了临时存储空间,大大节省了存储开销和时间开销,提高了用户体验。
[0010]另外,源平台类型包括:vmware平台;所述目标平台类型包括:openstack平台。将
vmware平台作为源平台,可以通过vdkk工具实现源平台数据块的快速读取,使得虚拟机磁盘跨云迁移过程更加的快捷。
[0011]另外,S2包括:确定当前获取的每个数据块的块序号,根据raw格式虚拟机磁盘文件在目的虚拟机磁盘中的存储结构及块序号,确定当前获取的每个数据块在目的虚拟机磁盘文件中的存储位置。为每一个获取的数据块进行编号,并根据磁盘文件在目的虚拟机磁盘文件中的存储结构来确定位置,使得磁盘的迁移过程更加顺畅有序,序号和存储位置一一对应,避免了磁盘存储出错导致虚拟机磁盘跨云迁移堵塞,从而减少了迁移过程所耗费的时间。
[0012]另外,通过人机交互界面,实时显示当前的将源虚拟机磁盘的数据迁移至目的虚拟机磁盘文件的进度;根据源虚拟机磁盘中的总块数,以及当前已写入目标虚拟机磁盘文件的块数,确定进度。通过数据块的总个数和已迁移数据块的个数可以实时计算数据迁移的进度,通过人机交互界面,更能直观的显示当前数据迁移的进度。
[0013]另外,S1之前,获取源虚拟机磁盘的大小;根据源虚拟机磁盘的大小、目的平台磁盘文件的格式,在目的平台创建大小相适应的存储区域作为目的虚拟机磁盘文件的存储后端。通过在目的平台创建一个和磁盘文件大小一致的rbd块作为迁移磁盘数据的存储后端,避免了在迁移过程中使用临时存储文件,从而耗费大量临时存储空间和存储时间的问题。
附图说明
[0014]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0015]图1是本申请一实施例提供的虚拟机磁盘跨云迁移方法的流程图;
[0016]图2是本申请一实施例提供的虚拟机磁盘跨云迁移方法的实施流程图;
[0017]图3本申请一实施例提供的电子设备的结构示意图。
具体实施方式
[0018]由
技术介绍
可知,为了解决虚拟机磁盘的迁移问题,通常会将从源平台获取的磁盘数据先放置在一个临时的存储文件中,再将存储在临时文件中的磁盘数据转换成目的平台的文件格式,最后将转换格式的临时文件上传至目的平台,从而完成磁盘迁移。尽管通过上述的临时存储和格式转换过程能实现磁盘的迁移,但由于磁盘的数据量通常很大,会花费大量的临时存储空间运行时间,因此,如何减少磁盘迁移过程中的存储开销和时间开销是一个迫切需要得到解决的问题。
[0019]为了解决上述问题,本申请实施例提供了一种虚拟机磁盘跨云迁移方法,方法应用于数据迁移服务,数据迁移服务用于将源平台上的源虚拟机磁盘数据迁移至目的平台上的目的虚拟机磁盘文件中,方法包括步骤:S1:从源平台获取源虚拟机磁盘中至少一个数据块;S2:根据目的平台上的目的虚拟机磁盘文件的数据存储结构,确定当前获取的至少一个数据块在目的虚拟机磁盘文件中的存储位置;S3:将当前获取的至少一个数据块写入所述存储位置;重复执行S1至S3,直至源虚拟磁盘中的所有数据块均写入目的虚拟机磁盘文件。
[0020]本申请实施例提供的虚拟机磁盘跨云迁移方法,在磁盘云迁移过程中,从源平台
获取了虚拟机磁盘数据中的数据块后,根据目的平台的磁盘文件的数据存储结构,确定从源平台获取的数据块在目的平台的磁盘文件中对应的存储位置,并根据上述对应位置将源平台的数据块写入到目的平台的磁盘文件中,本申请实施例提供的虚拟机磁盘跨云迁移方法基于目的平台的磁盘文件的数据组成原理,在内存中完成每个磁盘数据块的格式转换,以流的形式实现从磁盘的迁移,实现虚拟机的磁盘从一个平台到另一个平台的迁移,省去了临时存储空间,大大节省了存储开销和时间开销。
[0021]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机磁盘跨云迁移方法,其特征在于,所述方法应用于数据迁移服务,所述数据迁移服务用于将源平台上的源虚拟机磁盘数据迁移至目的平台上的目的虚拟机磁盘文件中,所述方法包括步骤:S1:从所述源平台获取所述源虚拟机磁盘中至少一个数据块;S2:根据所述目的平台上的所述目的虚拟机磁盘文件的数据存储结构,确定当前获取的所述至少一个数据块在所述目的虚拟机磁盘文件中的存储位置;S3:将当前获取的所述至少一个数据块写入所述存储位置;重复执行所述S1至所述S3,直至所述源虚拟机磁盘中的所有数据块均写入所述目的虚拟机磁盘文件。2.根据权利要求1所述的虚拟机磁盘跨云迁移方法,其特征在于,所述源平台类型包括:vmware平台;所述目标平台类型包括:openstack平台。3.根据权利要求2所述的虚拟机磁盘跨云迁移方法,其特征在于,所述S2包括:确定当前获取的每个所述数据块的块序号,根据raw格式虚拟机磁盘文件在所述目的虚拟机磁盘中的存储结构及所述块序号,确定当前获取的每个所述数据块在所述目的虚拟机磁盘文件中的存储位置。4.根据权利要求2所述的虚拟机磁盘跨云迁移方法,其特征在于,所述S1包括:使用vddk工具从所述vmware平台获取所述源虚拟机磁盘中的至少一个数据块。5.根据权利要求1至4中任一项所述的虚拟机磁盘跨云迁移方法,其特征在于,所述方法还包括:通过人机交互界面,实时显示当前的将所述...

【专利技术属性】
技术研发人员:姜川
申请(专利权)人:深圳爱捷云科技有限公司
类型:发明
国别省市:

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

1