System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种虚拟机迁移方法,还涉及一种虚拟机迁移装置、系统、电子设备以及计算机可读存储介质。
技术介绍
1、虚拟化技术kvm协助实现很多虚拟机的高级功能,其中,在线迁移指的是将虚拟机从一个物理主机上,在不影响业务运行的前提下将虚拟机的数据磁盘和内存数据一并迁移到另一台物理主机上。这种场景在用户使用现场非常常见,对当前业务进行变动或者数据中心变更,甚至是物理资源利用变动,使用比较普遍。
2、目前,常见的迁移数据方式是采用预拷贝,也就是将全部内存数据拷贝到目标节点,并循环的将源节点虚拟机运行时产生的内存脏页拷贝到目标节点虚拟机,最后源节点虚拟机停机,启动目标节点虚拟机完成迁移。但是,这种虚拟机迁移方式有明显的缺点:大量的内存读写操作的虚拟机迁移时间特别长或迁移任务一直无法完成、甚至可能迁移失败,导致原虚拟机停机到目标节点新虚拟机开机无法做到无缝链接,有一定时间的业务暂停,并且,巨大的迁移数据量也会造成较大的网络开销非常大,对网络带宽要求比较高。
3、因此,如何更为有效地提高虚拟机迁移效率,实现源虚拟机停机到目标新虚拟机开机的无缝衔接,保证业务的正常运行是本领域技术人员亟待解决的问题。
技术实现思路
1、本申请的目的是提供一种虚拟机迁移方法,该虚拟机迁移方法可以更为有效地提高虚拟机迁移效率,实现了源虚拟机停机到目标新虚拟机开机的无缝衔接,进而保证了业务的正常运行;本申请的另一目的是提供一种虚拟机迁移装置、系统、电子设备及计算机可读存储介质,均具有
2、第一方面,本申请提供了一种虚拟机迁移方法,应用于目标节点,包括:
3、接收源节点发送的源节点虚拟机的配置数据;
4、根据所述配置数据部署并启动目标节点虚拟机;
5、在所述目标节点虚拟机运行过程中,当所述目标节点虚拟机访问到所述源节点虚拟机的未迁移内存数据时,控制所述目标节点虚拟机停止运行,并触发page-fault机制;
6、在所述page-fault机制下,向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行。
7、可选地,所述根据所述配置数据部署并启动目标节点虚拟机之后,还包括:
8、接收所述源节点发送的所述源节点虚拟机的内存数据。
9、可选地,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
10、接收所述源节点发送的所述源节点虚拟机的编码数据包;所述编码数据包由所述源节点按照预设编码规则对所述内存数据进行编码获得;
11、按照所述预设编码规则对应的解码规则对所述编码数据包进行解码,获得所述内存数据。
12、可选地,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
13、通过预设网络传输协议接收所述源节点发送的所述源节点虚拟机的内存数据;所述预设网络传输协议为基于sack算法的网络传输协议。
14、可选地,所述接收源节点发送的源节点虚拟机的配置数据,包括:
15、接收所述源节点发送的所述源节点虚拟机的配置数据,所述配置数据包括所述源节点虚拟机的cpu状态信息、寄存器状态信息、非可分页内存信息中的一种或多种的组合。
16、可选地,所述在所述page-fault机制下,向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行,包括:
17、在所述page-fault机制下,通过userfaultfd向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行。
18、第二方面,本申请提供了另一种虚拟机迁移方法,应用于源节点,包括:
19、发送源节点虚拟机的配置数据至目标节点,以使所述目标节点根据所述配置数据部署并启动目标节点虚拟机;
20、当接收到所述目标节点发送的迁移请求时,根据所述迁移请求确定所述目标节点请求的未迁移内存数据;所述迁移请求由所述目标节点在所述目标节点虚拟机访问到所述未迁移内存数据时,控制所述目标节点虚拟机停止运行并触发page-fault机制后向所述源节点发起;
21、在所述page-fault机制下,发送所述未迁移内存数据至所述目标节点,以使所述目标节点控制所述目标节点虚拟机利用所述未迁移数据继续运行。
22、可选地,所述发送源节点虚拟机的配置数据至目标节点,以使所述目标节点根据所述配置数据部署并启动目标节点虚拟机之后,还包括:
23、向所述目标节点发送所述源节点虚拟机的内存数据。
24、可选地,所述向所述目标节点发送所述源节点虚拟机的内存数据,包括:
25、按照预设编码规则对所述源节点虚拟机的内存数据进行编码,获得编码数据包;
26、将所述编码数据包发送至所述目标节点。
27、可选地,所述按照预设编码规则对所述源节点虚拟机的内存数据进行编码,获得编码数据包,包括:
28、对所述源节点虚拟机的内存数据进行raptor编码,获得所述编码数据包。
29、第三方面,本申请还公开了一种虚拟机迁移装置,应用于目标节点,包括:
30、接收模块,用于接收源节点发送的源节点虚拟机的配置数据;
31、部署模块,用于根据所述配置数据部署并启动目标节点虚拟机;
32、控制模块,用于在所述目标节点虚拟机运行过程中,当所述目标节点虚拟机访问到所述源节点虚拟机的未迁移内存数据时,控制所述目标节点虚拟机停止运行,并触发page-fault机制;
33、获取模块,用于在所述page-fault机制下,向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行。
34、第四方面,本申请还公开了另一种虚拟机迁移装置,应用于源节点,包括:
35、第一发送模块,用于发送源节点虚拟机的配置数据至目标节点,以使所述目标节点根据所述配置数据部署并启动目标节点虚拟机;
36、确定模块,用于当接收到所述目标节点发送的迁移请求时,根据所述迁移请求确定所述目标节点请求的未迁移内存数据;所述迁移请求由所述目标节点在所述目标节点虚拟机访问到所述未迁移内存数据时,控制所述目标节点虚拟机停止运行并触发page-fault机制后向所述源节点发起;
37、第二发送模块,用于在所述page-fault机制下,发送所述未迁移内存数据至所述目标节点,以使所述目标节点控制所述目标节点虚拟机利用所述未迁移数据继续运行。
38、第五方面,本申请还公开了一种虚拟机迁移系统,包括源节点和目标节点;
39、所述源节点,用于发送源节点虚拟机的配置数据至所述目标节点;
40、所述目标节点,用于根据所述配置数据部署并启动目标节点虚拟机;在所述目标节点虚拟机运行过程中,当所述目标节点虚本文档来自技高网...
【技术保护点】
1.一种虚拟机迁移方法,其特征在于,应用于目标节点,包括:
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述根据所述配置数据部署并启动目标节点虚拟机之后,还包括:
3.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
4.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
5.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述接收源节点发送的源节点虚拟机的配置数据,包括:
6.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述在所述Page-fault机制下,向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行,包括:
7.一种虚拟机迁移方法,其特征在于,应用于源节点,包括:
8.根据权利要求7所述的虚拟机迁移方法,其特征在于,所述发送源节点虚拟机的配置数据至目标节点,以使所述目标节点根据所述配置数据部署并启动目标节点虚拟机之后,还包括:<
...【技术特征摘要】
1.一种虚拟机迁移方法,其特征在于,应用于目标节点,包括:
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述根据所述配置数据部署并启动目标节点虚拟机之后,还包括:
3.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
4.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述接收所述源节点发送的所述源节点虚拟机的内存数据,包括:
5.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述接收源节点发送的源节点虚拟机的配置数据,包括:
6.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述在所述page-fault机制下,向所述源节点获取所述未迁移内存数据,以控制所述目标节点虚拟机利用所述未迁移数据继续运行,包括:
7.一种虚拟机迁移方法,其特征在于,应用于源节点,包括:
8.根据权利要求7所述的虚拟机...
【专利技术属性】
技术研发人员:王永坤,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。