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

一种跨云迁移方法及系统与流程

  • 国知局
  • 2024-09-05 14:42:10

本技术涉及云,尤其涉及一种跨云迁移方法及系统。

背景技术:

1、随着云计算技术的发展,业务上云已成为一种趋势。比如,客户将业务部署在a供应商提供的云平台上,通常业务是在云平台的虚拟机中运行的。在云平台使用过程中,从成本、运维、体验感受等角度考虑,客户的业务可能会存在变动。比如,从成本角度考虑,客户欲将业务部署在b供应商提供的云平台上,这就需要将a供应商提供的云平台上的业务迁移至b供应商提供的云平台上。

2、然而,a供应商和b供应商提供的云平台存在差异性,不同云平台之间的差异性为客户的业务迁移工作带来了不便,其中,不同云平台之间的差异性包括基础设施的差异性以及管理的差异性。常见的跨云迁移方法,是在源端待迁移的虚拟机上安装源代理,在目的端虚拟机上安装目的代理,源代理和目的代理之间建立通信通道,通过源代理和目的代理将待迁移的虚拟机迁移过来。但是这种迁移方法服务质量不佳。

技术实现思路

1、本技术提供了一种跨云迁移方法及系统,采用本技术所述的迁移方法,降低了业务下线的时间,减少了对业务的影响,提升了客户服务质量。

2、第一方面,本技术提供了一种跨云迁移方法,应用于跨云迁移系统,所述系统包括源云平台和目的云平台,所述源云平台中包括第一虚拟实例和第一存储卷,所述第一存储卷为与所述第一虚拟实例绑定的存储设备,所述系统用于将所述源云平台中的所述第一虚拟实例迁移至所述目的云平台中,所述目的云平台中创建了第二存储卷,所述方法包括:所述系统将所述第一存储卷中的所述第一虚拟实例的启动数据迁移至所述目的云平台中的所述第二存储卷中,所述第一虚拟实例的启动数据指的是所述第一虚拟实例操作系统启动所需的数据;基于所述第二存储卷中的启动数据启动所述第二虚拟实例;在启动所述第二虚拟实例的过程中,所述第二虚拟实例将产生的输入/输出io请求通过分流器发送至所述第二存储卷中,所述分流器位于所述第二虚拟实例所在的宿主机上,所述分流器还用于在将所述第一虚拟实例迁移完成后,处理由所述第二虚拟实例发送的所述io请求;所述系统将所述第一存储卷中除了所述第一虚拟实例的启动数据之外的其他数据迁移至所述目的云平台中的所述第二存储卷中。

3、可以看到,通过先将第一虚拟实例的启动数据迁移至目的云平台的第二存储卷中,在目的云平台中,基于第二存储卷中的启动数据启动第二虚拟实例,使得第二虚拟实例处于在线状态,第二虚拟实例可用于接收并处理业务请求。由于第一虚拟实例的启动数据容量较小,迁移所消耗的时间较少,减少了虚拟实例业务下线的时间,提升了客户服务质量。另外,本技术,通过在第二虚拟实例所在宿主机上部署分流器,使得在迁移完成之后,第二虚拟实例可直接用于处理业务,无需将第二虚拟实例关机、配置、重启,减少了虚拟实例下线的时间,减小了对业务的影响。

4、基于第一方面,在可能的实现方式中,所述系统还包括源代理和目的代理,所述源代理设置于所述源云平台中且设置于所述第一虚拟实例外部,所述目的代理设置于所述目的云平台中且设置于所述第二虚拟实例外部,所述源代理和所述目的代理之间建立了通信通道;所述系统将所述第一存储卷中的所述第一虚拟实例的启动数据迁移至所述目的云平台中的所述第二存储卷中,包括:所述系统将所述第一存储卷挂载于所述源代理上,将所述第二存储卷挂载于所述目的代理上,通过所述源代理和所述目的代理将所述第一虚拟实例的启动数据迁移至所述第二存储卷中。

5、可以看到,源代理设置于第一虚拟实例的外部,目的代理设置于第二虚拟实例的外部,在迁移过程中,源代理和目的代理均不占用第一虚拟实例和第二虚拟实例的带宽资源、存储资源,提升了客户服务质量。

6、基于第一方面,在可能的实现方式中,所述第一存储卷中包括多个磁盘块,所述第二存储卷与所述第一存储卷大小相同,所述第二存储卷中各个磁盘块的划分与所述第一存储卷中各个磁盘块的划分完全相同;所述在启动所述第二虚拟实例的过程中,所述第二虚拟实例将产生的io请求通过分流器发送至所述第二存储卷中,包括:在启动所述第二虚拟实例的过程中:所述分流器确定所述io请求所指示的磁盘块是否迁移完成;在确定所述io请求所指示的磁盘块迁移完成的情况下,所述分流器将所述io请求发送至所述第二存储卷;在确定所述io请求所指示的磁盘块未迁移完成的情况下,所述分流器待所述io请求所指示的磁盘块迁移完成后,将所述io请求发送至所述第二存储卷。

7、可以看到,本技术中,分流器用于对io请求进行处理,这是本技术方案迁移完成后第二虚拟实例无需关机、配置、重启的重要基础。

8、基于第一方面,在可能的实现方式中,所述目的代理中存储了所述多个磁盘块的迁移状态位图,所述多个磁盘块中每个磁盘块的迁移状态位图用于指示所述磁盘块是否迁移完成;所述分流器确定所述io请求所指示的磁盘块是否迁移完成,包括:所述分流器调用所述目的代理中的所述多个磁盘块的迁移状态位图,根据所述多个磁盘块的迁移状态位图,确定所述io请求所指示的磁盘块是否迁移完成。

9、可以理解,分流器通过调用目的代理中的迁移状态位图,确定io请求所指示的磁盘块是否迁移完成。

10、基于第一方面,在可能的实现方式中,所述在确定所述io请求所指示的磁盘块未迁移完成的情况下,所述分流器待所述io请求所指示的磁盘块迁移完成后,将所述io请求发送至所述第二存储卷,包括:在确定所述io请求所指示的磁盘块未迁移完成的情况下,所述目的代理生成第一迁移指令,所述第一迁移指令用于指示将所述io请求所指示的磁盘块从所述第一存储卷迁移至所述第二存储卷;所述系统基于所述第一迁移指令,将所述io请求所指示的磁盘块从所述第一存储卷迁移至所述第二存储卷中;所述分流器将所述io请求发送至所述第二存储卷。

11、基于第一方面,在可能的实现方式中,所述方法还包括:在所述第一存储卷中的多个磁盘块均已迁移完成的情况下,所述分流器接收到所述目的代理发送的指令,所述指令用于指示所述第一虚拟实例迁移完成;所述分流器响应于所述指令,将所述io请求的路径更新为:直接发送至所述第二存储卷,所述分流器无需调用所述目的代理。

12、可以看到,在第一存储卷中的所有磁盘块均已迁移完成的情况下,分流器更新io请求的路径为:直接发送至所述第二存储卷,后续分流器接收到io请求,则直接将io请求发送至第二存储卷,无需调用目的代理。

13、基于第一方面,在可能的实现方式中,所述源云平台和所述目的云平台是由不同供应商提供的。

14、第二方面,本技术提供了一种跨云迁移系统,所述系统包括源云平台和目的云平台,所述源云平台中包括第一虚拟实例和第一存储卷,所述第一存储卷为与所述第一虚拟实例绑定的存储设备,所述系统用于将所述源云平台中的所述第一虚拟实例迁移至所述目的云平台中,所述目的云平台中创建了第二存储卷,包括:

15、迁移模块,用于将所述第一存储卷中的所述第一虚拟实例的启动数据迁移至所述目的云平台中的所述第二存储卷中,所述第一虚拟实例的启动数据指的是所述第一虚拟实例操作系统启动所需的数据;

16、启动模块,用于基于所述第二存储卷中的启动数据启动所述第二虚拟实例;

17、分流器,用于在启动所述第二虚拟实例的过程中,将所述第二虚拟实例将产生的输入/输出io请求发送至所述第二存储卷中,所述分流器位于所述第二虚拟实例所在的宿主机上,所述分流器还用于在将所述第一虚拟实例迁移完成后,处理由所述第二虚拟实例发送的所述io请求;

18、所述迁移模块还用于,将所述第一存储卷中除了所述第一虚拟实例的启动数据之外的其他数据迁移至所述目的云平台中的所述第二存储卷中。

19、基于第二方面,在可能的实现方式中,所述系统还包括源代理和目的代理,所述源代理设置于所述源云平台中且设置于所述第一虚拟实例外部,所述目的代理设置于所述目的云平台中且设置于所述第二虚拟实例外部,所述源代理和所述目的代理之间建立了通信通道;所述第一存储卷挂载于所述源代理上,所述第二存储卷挂载于所述目的代理上;所述迁移模块用于,通过所述源代理和所述目的代理将所述第一虚拟实例的启动数据迁移至所述第二存储卷中。

20、基于第二方面,在可能的实现方式中,所述第一存储卷中包括多个磁盘块,所述第二存储卷与所述第一存储卷大小相同,所述第二存储卷中各个磁盘块的划分与所述第一存储卷中各个磁盘块的划分完全相同;所述分流器用于:在启动所述第二虚拟实例的过程中:所述分流器确定所述io请求所指示的磁盘块是否迁移完成;在确定所述io请求所指示的磁盘块迁移完成的情况下,所述分流器将所述io请求发送至所述第二存储卷;在确定所述io请求所指示的磁盘块未迁移完成的情况下,所述分流器待所述io请求所指示的磁盘块迁移完成后,将所述io请求发送至所述第二存储卷。

21、基于第二方面,在可能的实现方式中,所述目的代理中存储了所述多个磁盘块的迁移状态位图,所述多个磁盘块中每个磁盘块的迁移状态位图用于指示所述磁盘块是否迁移完成;所述分流器用于,调用所述目的代理中的所述多个磁盘块的迁移状态位图,根据所述多个磁盘块的迁移状态位图,确定所述io请求所指示的磁盘块是否迁移完成。

22、基于第二方面,在可能的实现方式中,所述目的代理用于,在确定所述io请求所指示的磁盘块未迁移完成的情况下,生成第一迁移指令,所述第一迁移指令用于指示将所述io请求所指示的磁盘块从所述第一存储卷迁移至所述第二存储卷;所述迁移模块用于,基于所述第一迁移指令,将所述io请求所指示的磁盘块从所述第一存储卷迁移至所述第二存储卷中;所述分流器用于,将所述io请求发送至所述第二存储卷。

23、基于第二方面,在可能的实现方式中,所述分流器还用于,在所述第一存储卷中的多个磁盘块均已迁移完成的情况下,接收到所述目的代理发送的指令,所述指令用于指示所述第一虚拟实例迁移完成;所述分流器还用于,响应于所述指令,将所述io请求的路径更新为:直接发送至所述第二存储卷,所述分流器无需调用所述目的代理。

24、基于第二方面,在可能的实现方式中,所述源云平台和所述目的云平台是由不同供应商提供的。

25、第二方面中的各个功能模块用于实现第一方面以及第一方面的任意一种可能的实现方式所述的方法。

26、第三方面,本技术提供了一种计算设备集群,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括存储器和处理器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使所述计算设备集群执行上述第一方面以及第一方面的任意一种可能的实现方式所述的方法。

27、第四方面,本技术提供了一种计算机可读存储介质,包括程序指令,当所述程序指令由计算设备集群执行时,所述计算设备集群执行上述第一方面以及第一方面的任意一种可能的实现方式所述的方法。

28、第五方面,本技术提供了一种包含指令的计算机程序产品,当计算设备集群运行所述指令时,所述计算设备集群执行上述第一方面以及第一方面的任意一种可能的实现方式所述的方法。

本文地址:https://www.jishuxx.com/zhuanli/20240905/287706.html

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