一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟时统卡热迁移方法与流程

2021-11-10 03:41:00 来源:中国专利 TAG:


1.本专利申请属于热迁移技术领域,更具体地说,是涉及一种虚拟时统卡热迁移方法。


背景技术:

2.市面上可以查到很多大企业,比如腾讯、阿里巴巴、华为、京东等,都有相关的虚拟机热迁移方法的专利,在这里我们要区别虚拟机热迁移与虚拟时统卡热迁移的区别,虚拟机是由多种虚拟设备组成,包括主要设备(cpu、内存、中断控制器、硬盘等),常见设备(网卡、串口、显示器等),非常见设备(时统卡等)。上述大企业的常见或者非特指的虚拟机热迁移方法专利是指主要设备(cpu、内存、中断控制器、硬盘)的热迁移过程,其中内存热迁移过程是其中的主要部分,其它特定设备的热迁移过程方法专利常见的是网卡热迁移方法。由于虚拟机中每种设备的功能特性不相同,所以不同设备的热迁移方法是不一样的,他们基本相互独立,因此不能将虚拟机热迁移与虚拟时统卡热迁移混为一谈。
3.由于虚拟机是由多个设备组成,同时上述企业的专利描述的是主要设备的热迁移过程,但是热迁移过程要求所有设备都能正常热迁移,也就是虚拟机热迁移过程具有整体性,虚拟机的任何一个设备不能正确或者正常完成热迁移过程,将会导致迁移后的虚拟机处于未知状态,不能正常使用。
4.对于没有虚拟时统卡的虚拟机,上述企业的热迁移方法就足够使用了,但是如果有虚拟时统卡,则上述企业的热迁移方法是会有问题的,也就是无法实现。
5.而一般的虚拟机热迁移过程参见图1,具体为:1)目的端执行与源端相同的虚拟机创建命令,创建一个与源端虚拟机初始状态一致的虚拟机,包括创建与源端虚拟时统卡初始状态一致的虚拟时统卡;2)把虚拟机内存发送到目的端;3)选择合适的时机宕机;4)把步骤2)修改的内存发送到目的端;5)把虚拟机设备状态发送到目的端;6)在目的端恢复虚拟机内存和设备状态;7)启动目的端虚拟机。
6.热迁移相关专利基本都是描述和优化上述虚拟机热迁移过程步骤2)~步骤4)的部分,未涉及步骤5)“发送设备状态”的部分。
7.中国发明专利“一种时统卡虚拟化方法、系统及介质
”ꢀ
(申请号cn201910541884.4)未支持热迁移功能。使用该未支持热迁移的虚拟时统卡的虚拟机进行热迁移,将使目的端虚拟时统卡及使用该虚拟时统卡的应用程序,甚至整个虚拟机均处于未知状态,不能完成可靠的热迁移过程。


技术实现要素:

8.本发明需要解决的技术问题是提供一种虚拟时统卡热迁移方法,该方法为虚拟时统卡添加热迁移支持功能,使之能完成可靠的热迁移过程,从而便于部署到需要热迁移的虚拟机中,并扩大虚拟时统卡部署使用场景。
9.为了解决上述问题,本发明所采用的技术方案是:一种虚拟时统卡热迁移方法,过程为:将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,上述同步是对应同步的,也就是源端的物理时统卡的设备状态同步到目的端的物理时统卡,源端的虚拟时统卡的设备状态同步到目的端的虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的对应一致性。
10.本发明技术方案的进一步改进在于:具体实施步骤如下:s1、获取物理时统卡的设备状态和虚拟时统卡的设备状态,将上述两种设备状态作为迁移数据,保存在源端的虚拟机中,其中,虚拟时统卡的设备状态即是与虚拟时统卡初始状态不一致的值;s2、将步骤s1中保存的迁移数据发送到目的端的虚拟机中;上述迁移数据也就是物理时统卡的设备状态和虚拟时统卡的设备状态;s3、选择合适的迁移时机,将步骤s2中的物理时统卡的设备状态写入目的端的物理时统卡;将步骤s2中的虚拟时统卡的设备状态替换到目的端的虚拟时统卡中,使之与源端的虚拟时统卡保持一致。
11.本发明技术方案的进一步改进在于:步骤s1中的物理时统卡的设备状态具体为,物理时统卡的读写记录,或是在源端的虚拟机宕机后读取的物理时统卡的可读写寄存器值。
12.本发明技术方案的进一步改进在于:步骤s2中,将迁移数据通过内存拷贝、网络、串口、蓝牙的一种或多种方式发送到目的端的虚拟机中。
13.本发明技术方案的进一步改进在于:步骤s3中,合适的迁移时机是指在目的端虚拟机启动运行前,具体时机一般为:在目的端虚拟机初始化完成(此时虚拟时统卡初始化完成)后,以及在目的端虚拟机运行前的这一时间段内。
14.由于采用了上述技术方案,本发明取得的有益效果是:1.本方法为虚拟时统卡添加了热迁移支持的功能,使之能完成可靠的热迁移过程,可以部署到需要热迁移的虚拟机中,从而扩大了虚拟时统卡部署使用场景。
15.2.本发明使虚拟时统卡支持热迁移过程,使部署该虚拟时统卡的虚拟机能完成可靠的热迁移过程,使虚拟时统卡能够部署在需要热迁移的虚拟机中。
16.3.本发明创造性的使用了迁移数据,通过选择的迁移数据,可以有针对性的进行数据迁移。
17.4.迁移时机的选择也很重要,本专利选择是
ꢀ“
在目的端虚拟机启动运行前”,这是由于大部分的设备都会选择在源端宕机后,在目的端启动前,因为这样对虚拟机中的软件才是无感的,不间断的,不会影响用户使用。
附图说明
18.图1为一般的虚拟机热迁移过程图;图2为本发明的虚拟时统卡热迁移过程图。
具体实施方式
19.下面结合实施例对本发明做进一步详细说明。
20.本发明公开了一种虚拟时统卡热迁移方法,在介绍本发明之前,先对缩略语和关键术语进行如下定义:物理时统卡:是一种接收时钟源时钟信号,向计算机软硬件提供授时功能的计算机硬件设备。
21.虚拟时统卡:是一种接收物理时统卡中断和时钟,为虚拟机提供授时功能的虚拟设备。
22.虚拟机(virtual machine):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
23.热迁移(live migration):又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
24.源端:虚拟机热迁移过程的源设备、机器或平台。
25.目的端:虚拟机热迁移过程的目标设备、机器或平台。
26.下面介绍本发明,本发明的具体思路为:将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的一致性。设备状态进行同步的方式,在之前的文献中并没有记载,属于本发明的首创。需要注意的是,上述同步是对应同步的,也就是源端的物理时统卡的设备状态同步到目的端的物理时统卡,源端的虚拟时统卡的设备状态同步到目的端的虚拟时统卡,从而保持了源端和目的端的物理时统卡和虚拟时统卡设备状态的对应一致性。
27.具体实施步骤如下:s1、获取物理时统卡的设备状态和虚拟时统卡的设备状态,将上述两种设备状态作为迁移数据,保存在源端的虚拟机中,在这里,物理时统卡的设备状态具体为,物理时统卡的读写记录,或是在源端的虚拟机宕机后读取的物理时统卡的可读写寄存器值。虚拟时统卡的设备状态即是虚拟时统卡与初始状态不一致的值。
28.物理时统卡的可读写寄存器值包括但不限于:中断掩膜寄存器(包含多个不同时间间隔是否发送中断的控制位,用于指示哪些时间间隔需要发送中断,比如1hz中断位为1则每秒发送1个中断,20hz中断位为1则,每50ms发送1个中断,还有自定义间隔的中断控制位),间隔时间寄存器(用于存储自定义间隔时间,与上述自定义间隔中断控制位配合使用),中断屏蔽位(置为1或0时屏蔽所有中断,用于中断响应处理过程),自定义时间寄存器(用于存储自定义时间,时统卡可以使用多个时钟源,包括gps时间源,北斗时间源,dc时间源,ac时间源,自定义时间等),超时计数使能位,间隔时同步位,软件切换位,软件错误位,软件恢复位,人工/自动模式位,本机状态位,它机状态位,恢复位等。虚拟时统卡的值包括但不仅限于pcidevice(pci设备资源数据,这个是必须的),物理时统卡是否初始化,访问虚
拟时统卡的程序个数等变量的值等。
29.s2、将步骤s1中保存的迁移数据发送到目的端的虚拟机中;迁移数据也就是上一步骤中物理时统卡的设备状态和虚拟时统卡的设备状态。
30.在这里我们需要明确一点,虚拟时统卡并不是完全模拟物理时统卡,而是完成类似usb分线器或者路由器的功能,将物理时统卡的接口投射到虚拟机中,使得多个虚拟机能共同使用物理时统卡,比如将物理时统卡的1s时钟中断信号转发到所有的虚拟机。还有一种物理设备使用方法叫“透传”或“穿透”,是指将某个物理设备直接交给虚拟机独占使用,包括host主机和其它虚拟机都不能使用,这个过程不需要虚拟化工作。物理时统卡的设备状态一般具体是指可读写寄存器的值;虚拟时统卡的设备状态是指比如物理时统卡是否初始化,访问虚拟时统卡的程序个数等变量的值,它们的上位就是与虚拟时统卡初始状态不一致的变量(值)。
31.在这里,将与虚拟时统卡初始状态不一致的值发送到目的端,“发送到目的端”的这个发送并没有具体的要求,比如可以通过内存拷贝,网络,串口,蓝牙等都可以,具体发送过程是由虚拟操作系统模拟器qemu来完成的。
32.s3、选择合适的迁移时机,将步骤s2中的物理时统卡的设备状态写入目的端的物理时统卡;将步骤s2中的虚拟时统卡的设备状态替换到目的端的虚拟时统卡中,使之与源端的虚拟时统卡保持一致。从而分别对应写入物理时统卡的设备状态、虚拟时统卡的设备状态。
33.在这一步骤中,合适的迁移时机是指在目的端虚拟机启动运行前,具体执行时机为:在目的端虚拟机初始化完成(此时虚拟时统卡初始化完成)后,在目的端虚拟机运行前的这一段时间。之所以选取这一时间段,是因为此阶段对虚拟机中的软件是无感的,不间断的,不会影响用户使用。
34.本发明在具体应用中,第一步是在源端的虚拟机中保存好迁移数据,迁移数据保存好后,参见图2,首先在目的端创建相同的虚拟时统卡设备,然后按照本发明的步骤s2执行,将保存的迁移数据发送到目的端的虚拟机中;接着选择合适的时机宕机,将物理时统卡的设备状态写入目的端的物理时统卡,并发送虚拟时统卡设备状态到目的端,目的端恢复虚拟机时统卡设备状态,启动目的端虚拟机,即可完成虚拟时统卡的热迁移。
35.本发明涉及到的其它图表与中国发明专利“一种时统卡虚拟化方法、系统及介质”(申请号cn201910541884.4)的附图基本一致,在此不再赘述。
36.本发明为虚拟时统卡添加热迁移的功能支持,使之能够完成可靠的热迁移过程,可以部署到需要热迁移的虚拟机中,扩大虚拟时统卡部署使用场景,具有极高的推广应用价值。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献