本发明涉及虚拟化,特别涉及一种数据迁移方法、设备及可读存储介质。
背景技术:
1、kubernetes,也称为k8s,是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。随着k8s的普及,越来越多的业务开始运行在容器上。但是,并非所有业务都能在容器中良好运行,仍有部分业务更适合运行在虚拟机上。因此,如何同时管控虚拟机和容器逐渐成为了云原生时代的主流需求。
2、目前,可以采用运行在k8s之上的虚拟机管理插件kubevirt,来同时管控虚拟机和容器。
3、然而,kubevirt仅支持磁盘热迁移。如果宿主机准备退用,运行在该宿主机上的虚拟机数据无法迁移到其他的宿主机上,将会完全丢失。
技术实现思路
1、为了解决现有技术存在的部分或全部问题,本申请提供了一种数据迁移方法、设备及可读存储介质,通过在源节点和目标节点的虚拟机管理组件之间建立数据传输连接,来实现磁盘数据的冷迁移。避免了迁移过程中丢失磁盘数据,保证了虚拟机磁盘数据的安全性。
2、第一方面,提供了一种数据迁移方法,应用于管理节点,所述方法包括:
3、当通过控制器监听到冷迁移对象创建时,基于所述冷迁移对象确定目标节点;
4、在所述目标节点上创建目标虚拟机组件,并在目标虚拟机管理组件上建立与所述目标虚拟机组件的各个磁盘对应的监听端口,以使源虚拟机管理组件基于各个所述监听端口与所述目标虚拟机管理组件建立数据传输连接,并基于各条所述数据传输连接向所述目标虚拟机管理组件发送源虚拟机组件的各个磁盘数据。
5、第二方面,提供了一种数据迁移方法,应用于源节点,所述源节点部署有源虚拟机管理组件和源虚拟机组件,所述方法包括:
6、所述源虚拟机管理组件基于与目标虚拟机组件的各个磁盘对应的监听端口,与目标虚拟机管理组件建立数据传输连接;
7、所述源虚拟机管理组件基于各条所述数据传输连接,向所述目标虚拟机管理组件发送所述源虚拟机组件的各个磁盘数据。
8、第三方面,提供了一种数据迁移方法,应用于目标节点,所述目标节点部署有目标虚拟机管理组件和目标虚拟机组件,所述方法包括:
9、在所述目标虚拟机管理组件上建立与所述目标虚拟机组件的各个磁盘对应的监听端口,以使源虚拟机管理组件基于各个所述监听端口与所述目标虚拟机管理组件建立数据传输连接;
10、所述目标虚拟机管理组件基于各条所述数据传输连接接收所述源虚拟机管理组件发送的所述源虚拟机组件的各个磁盘数据;
11、所述目标虚拟机管理组件将接收到的所述源虚拟机组件的各个所述磁盘数据分别写入所述目标虚拟机组件的对应磁盘中。
12、第四方面,提供了一种数据迁移设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面至第三方面任一方面所述的方法。
13、第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面至第三方面任一方面所述的方法。
14、本申请实施例提供的数据迁移方法、设备及可读存储介质带来的有益效果是:通过管理节点上的控制器监听所有冷迁移对象的创建,一旦监听到冷迁移对象创建,便基于该冷迁移对象确定目标节点,并在目标节点上创建目标虚拟机组件。之后,无需在源虚拟机组件和目标虚拟机组件之间建立连接来传输数据,而是将虚拟机管理组件作为中间代理,在源虚拟机管理组件和目标虚拟机管理组件之间为每块磁盘建立一条数据传输连接,通过各条数据传输连接分别对不同磁盘进行数据迁移。这样,能够对虚拟机进行冷迁移,可迁移虚拟机磁盘数据,保证了虚拟机磁盘数据的安全性,保证了虚拟机数据的安全性。
1.一种数据迁移方法,其特征在于,应用于分布式集群的管理节点,所述方法包括:
2.如权利要求1所述的数据迁移方法,其特征在于,所述冷迁移对象为自定义资源crd对象。
3.如权利要求1所述的数据迁移方法,其特征在于,所述冷迁移对象包括用于指示是否迁移数据盘的第一注解,所述在所述目标节点上创建目标虚拟机组件之前,所述方法还包括:
4.如权利要求1所述的数据迁移方法,其特征在于,所述冷迁移对象包括用于指定目标节点的第二注解,所述基于所述冷迁移对象确定目标节点包括:
5.如权利要求4所述的数据迁移方法,其特征在于,若所述冷迁移对象不包括第二注解或所述第二注解未描述所述指定节点,则通过调度器从节点集群中选取所述目标节点。
6.如权利要求1所述的数据迁移方法,其特征在于,所述方法还包括:
7.如权利要求1所述的数据迁移方法,其特征在于,所述方法还包括:
8.如权利要求1所述的数据迁移方法,其特征在于,采用独立磁盘isolate或逻辑卷管理lvm进行磁盘存储管理。
9.如权利要求1所述的数据迁移方法,其特征在于,所述冷迁移对象包括用于指示迁移类型的第三注解,所述方法还包括:
10.一种数据迁移方法,其特征在于,应用于分布式集群的源节点,所述源节点部署有源虚拟机管理组件和源虚拟机组件,所述方法包括:
11.一种数据迁移方法,其特征在于,应用于分布式集群的目标节点,所述目标节点部署有目标虚拟机管理组件和目标虚拟机组件,所述方法包括:
12.一种数据迁移设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一所述的方法。