CN113626142A - 一种虚拟时统卡热迁移方法 - Google Patents
一种虚拟时统卡热迁移方法 Download PDFInfo
- Publication number
- CN113626142A CN113626142A CN202110794337.4A CN202110794337A CN113626142A CN 113626142 A CN113626142 A CN 113626142A CN 202110794337 A CN202110794337 A CN 202110794337A CN 113626142 A CN113626142 A CN 113626142A
- Authority
- CN
- China
- Prior art keywords
- system card
- time system
- virtual
- virtual machine
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005012 migration Effects 0.000 title claims abstract description 80
- 238000013508 migration Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本发明涉及一种虚拟时统卡热迁移方法,该方法将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的一致性。本发明使虚拟时统卡支持热迁移过程,使部署该虚拟时统卡的虚拟机能完成可靠的热迁移过程,使虚拟时统卡能够部署在需要热迁移的虚拟机中。
Description
技术领域
本专利申请属于热迁移技术领域,更具体地说,是涉及一种虚拟时统卡热迁移方法。
背景技术
市面上可以查到很多大企业,比如腾讯、阿里巴巴、华为、京东等,都有相关的虚拟机热迁移方法的专利,在这里我们要区别虚拟机热迁移与虚拟时统卡热迁移的区别,虚拟机是由多种虚拟设备组成,包括主要设备(cpu、内存、中断控制器、硬盘等),常见设备(网卡、串口、显示器等),非常见设备(时统卡等)。上述大企业的常见或者非特指的虚拟机热迁移方法专利是指主要设备(cpu、内存、中断控制器、硬盘)的热迁移过程,其中内存热迁移过程是其中的主要部分,其它特定设备的热迁移过程方法专利常见的是网卡热迁移方法。由于虚拟机中每种设备的功能特性不相同,所以不同设备的热迁移方法是不一样的,他们基本相互独立,因此不能将虚拟机热迁移与虚拟时统卡热迁移混为一谈。
由于虚拟机是由多个设备组成,同时上述企业的专利描述的是主要设备的热迁移过程,但是热迁移过程要求所有设备都能正常热迁移,也就是虚拟机热迁移过程具有整体性,虚拟机的任何一个设备不能正确或者正常完成热迁移过程,将会导致迁移后的虚拟机处于未知状态,不能正常使用。
对于没有虚拟时统卡的虚拟机,上述企业的热迁移方法就足够使用了,但是如果有虚拟时统卡,则上述企业的热迁移方法是会有问题的,也就是无法实现。
而一般的虚拟机热迁移过程参见图1,具体为:
1)目的端执行与源端相同的虚拟机创建命令,创建一个与源端虚拟机初始状态一致的虚拟机,包括创建与源端虚拟时统卡初始状态一致的虚拟时统卡;
2)把虚拟机内存发送到目的端;
3)选择合适的时机宕机;
4)把步骤2)修改的内存发送到目的端;
5)把虚拟机设备状态发送到目的端;
6)在目的端恢复虚拟机内存和设备状态;
7)启动目的端虚拟机。
热迁移相关专利基本都是描述和优化上述虚拟机热迁移过程步骤2)~步骤4)的部分,未涉及步骤5)“发送设备状态”的部分。
中国发明专利“一种时统卡虚拟化方法、系统及介质” (申请号CN201910541884.4)未支持热迁移功能。使用该未支持热迁移的虚拟时统卡的虚拟机进行热迁移,将使目的端虚拟时统卡及使用该虚拟时统卡的应用程序,甚至整个虚拟机均处于未知状态,不能完成可靠的热迁移过程。
发明内容
本发明需要解决的技术问题是提供一种虚拟时统卡热迁移方法,该方法为虚拟时统卡添加热迁移支持功能,使之能完成可靠的热迁移过程,从而便于部署到需要热迁移的虚拟机中,并扩大虚拟时统卡部署使用场景。
为了解决上述问题,本发明所采用的技术方案是:
一种虚拟时统卡热迁移方法,过程为:将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,上述同步是对应同步的,也就是源端的物理时统卡的设备状态同步到目的端的物理时统卡,源端的虚拟时统卡的设备状态同步到目的端的虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的对应一致性。
本发明技术方案的进一步改进在于:具体实施步骤如下:
S1、获取物理时统卡的设备状态和虚拟时统卡的设备状态,将上述两种设备状态作为迁移数据,保存在源端的虚拟机中,其中,虚拟时统卡的设备状态即是与虚拟时统卡初始状态不一致的值;
S2、将步骤S1中保存的迁移数据发送到目的端的虚拟机中;上述迁移数据也就是物理时统卡的设备状态和虚拟时统卡的设备状态;
S3、选择合适的迁移时机,将步骤S2中的物理时统卡的设备状态写入目的端的物理时统卡;将步骤S2中的虚拟时统卡的设备状态替换到目的端的虚拟时统卡中,使之与源端的虚拟时统卡保持一致。
本发明技术方案的进一步改进在于:步骤S1中的物理时统卡的设备状态具体为,物理时统卡的读写记录,或是在源端的虚拟机宕机后读取的物理时统卡的可读写寄存器值。
本发明技术方案的进一步改进在于:步骤S2中,将迁移数据通过内存拷贝、网络、串口、蓝牙的一种或多种方式发送到目的端的虚拟机中。
本发明技术方案的进一步改进在于:步骤S3中,合适的迁移时机是指在目的端虚拟机启动运行前,具体时机一般为:在目的端虚拟机初始化完成(此时虚拟时统卡初始化完成)后,以及在目的端虚拟机运行前的这一时间段内。
由于采用了上述技术方案,本发明取得的有益效果是:
1.本方法为虚拟时统卡添加了热迁移支持的功能,使之能完成可靠的热迁移过程,可以部署到需要热迁移的虚拟机中,从而扩大了虚拟时统卡部署使用场景。
2.本发明使虚拟时统卡支持热迁移过程,使部署该虚拟时统卡的虚拟机能完成可靠的热迁移过程,使虚拟时统卡能够部署在需要热迁移的虚拟机中。
3.本发明创造性的使用了迁移数据,通过选择的迁移数据,可以有针对性的进行数据迁移。
4.迁移时机的选择也很重要,本专利选择是 “在目的端虚拟机启动运行前”,这是由于大部分的设备都会选择在源端宕机后,在目的端启动前,因为这样对虚拟机中的软件才是无感的,不间断的,不会影响用户使用。
附图说明
图1为一般的虚拟机热迁移过程图;
图2为本发明的虚拟时统卡热迁移过程图。
具体实施方式
下面结合实施例对本发明做进一步详细说明。
本发明公开了一种虚拟时统卡热迁移方法,在介绍本发明之前,先对缩略语和关键术语进行如下定义:
物理时统卡:是一种接收时钟源时钟信号,向计算机软硬件提供授时功能的计算机硬件设备。
虚拟时统卡:是一种接收物理时统卡中断和时钟,为虚拟机提供授时功能的虚拟设备。
虚拟机(Virtual Machine):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
热迁移(Live Migration):又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
源端:虚拟机热迁移过程的源设备、机器或平台。
目的端:虚拟机热迁移过程的目标设备、机器或平台。
下面介绍本发明,本发明的具体思路为:将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的一致性。设备状态进行同步的方式,在之前的文献中并没有记载,属于本发明的首创。需要注意的是,上述同步是对应同步的,也就是源端的物理时统卡的设备状态同步到目的端的物理时统卡,源端的虚拟时统卡的设备状态同步到目的端的虚拟时统卡,从而保持了源端和目的端的物理时统卡和虚拟时统卡设备状态的对应一致性。
具体实施步骤如下:
S1、获取物理时统卡的设备状态和虚拟时统卡的设备状态,将上述两种设备状态作为迁移数据,保存在源端的虚拟机中,在这里,物理时统卡的设备状态具体为,物理时统卡的读写记录,或是在源端的虚拟机宕机后读取的物理时统卡的可读写寄存器值。虚拟时统卡的设备状态即是虚拟时统卡与初始状态不一致的值。
物理时统卡的可读写寄存器值包括但不限于:中断掩膜寄存器(包含多个不同时间间隔是否发送中断的控制位,用于指示哪些时间间隔需要发送中断,比如1hz中断位为1则每秒发送1个中断,20hz中断位为1则,每50ms发送1个中断,还有自定义间隔的中断控制位),间隔时间寄存器(用于存储自定义间隔时间,与上述自定义间隔中断控制位配合使用),中断屏蔽位(置为1或0时屏蔽所有中断,用于中断响应处理过程),自定义时间寄存器(用于存储自定义时间,时统卡可以使用多个时钟源,包括GPS时间源,北斗时间源,DC时间源,AC时间源,自定义时间等),超时计数使能位,间隔时同步位,软件切换位,软件错误位,软件恢复位,人工/自动模式位,本机状态位,它机状态位,恢复位等。虚拟时统卡的值包括但不仅限于PCIDevice(PCI设备资源数据,这个是必须的),物理时统卡是否初始化,访问虚拟时统卡的程序个数等变量的值等。
S2、将步骤S1中保存的迁移数据发送到目的端的虚拟机中;迁移数据也就是上一步骤中物理时统卡的设备状态和虚拟时统卡的设备状态。
在这里我们需要明确一点,虚拟时统卡并不是完全模拟物理时统卡,而是完成类似usb分线器或者路由器的功能,将物理时统卡的接口投射到虚拟机中,使得多个虚拟机能共同使用物理时统卡,比如将物理时统卡的1s时钟中断信号转发到所有的虚拟机。还有一种物理设备使用方法叫“透传”或“穿透”,是指将某个物理设备直接交给虚拟机独占使用,包括host主机和其它虚拟机都不能使用,这个过程不需要虚拟化工作。物理时统卡的设备状态一般具体是指可读写寄存器的值;虚拟时统卡的设备状态是指比如物理时统卡是否初始化,访问虚拟时统卡的程序个数等变量的值,它们的上位就是与虚拟时统卡初始状态不一致的变量(值)。
在这里,将与虚拟时统卡初始状态不一致的值发送到目的端,“发送到目的端”的这个发送并没有具体的要求,比如可以通过内存拷贝,网络,串口,蓝牙等都可以,具体发送过程是由虚拟操作系统模拟器qemu来完成的。
S3、选择合适的迁移时机,将步骤S2中的物理时统卡的设备状态写入目的端的物理时统卡;将步骤S2中的虚拟时统卡的设备状态替换到目的端的虚拟时统卡中,使之与源端的虚拟时统卡保持一致。从而分别对应写入物理时统卡的设备状态、虚拟时统卡的设备状态。
在这一步骤中,合适的迁移时机是指在目的端虚拟机启动运行前,具体执行时机为:在目的端虚拟机初始化完成(此时虚拟时统卡初始化完成)后,在目的端虚拟机运行前的这一段时间。之所以选取这一时间段,是因为此阶段对虚拟机中的软件是无感的,不间断的,不会影响用户使用。
本发明在具体应用中,第一步是在源端的虚拟机中保存好迁移数据,迁移数据保存好后,参见图2,首先在目的端创建相同的虚拟时统卡设备,然后按照本发明的步骤S2执行,将保存的迁移数据发送到目的端的虚拟机中;接着选择合适的时机宕机,将物理时统卡的设备状态写入目的端的物理时统卡,并发送虚拟时统卡设备状态到目的端,目的端恢复虚拟机时统卡设备状态,启动目的端虚拟机,即可完成虚拟时统卡的热迁移。
本发明涉及到的其它图表与中国发明专利“一种时统卡虚拟化方法、系统及介质”(申请号CN201910541884.4)的附图基本一致,在此不再赘述。
本发明为虚拟时统卡添加热迁移的功能支持,使之能够完成可靠的热迁移过程,可以部署到需要热迁移的虚拟机中,扩大虚拟时统卡部署使用场景,具有极高的推广应用价值。
Claims (5)
1.一种虚拟时统卡热迁移方法,其特征在于:将源端的物理时统卡和虚拟时统卡的设备状态同步到目的端的物理时统卡和虚拟时统卡,以保持源端和目的端的物理时统卡和虚拟时统卡设备状态的一致性。
2.根据权利要求1所述的一种虚拟时统卡热迁移方法,其特征在于:具体实施步骤如下:
S1、获取物理时统卡的设备状态和虚拟时统卡的设备状态,将上述两种设备状态作为迁移数据,保存在源端的虚拟机中,其中,虚拟时统卡的设备状态即是与虚拟时统卡初始状态不一致的值;
S2、将步骤S1中保存的迁移数据发送到目的端的虚拟机中;
S3、选择合适的迁移时机,将步骤S2中的物理时统卡的设备状态写入目的端的物理时统卡;将步骤S2中的虚拟时统卡的设备状态替换到目的端的虚拟时统卡中,使之与源端的虚拟时统卡保持一致。
3.根据权利要求2所述的一种虚拟时统卡热迁移方法,其特征在于:步骤S1中的物理时统卡的设备状态具体为,物理时统卡的读写记录,或是在源端的虚拟机宕机后读取的物理时统卡的可读写寄存器值。
4.根据权利要求2所述的一种虚拟时统卡热迁移方法,其特征在于:步骤S2中,将迁移数据通过内存拷贝、网络、串口、蓝牙的一种或多种方式发送到目的端的虚拟机中。
5.根据权利要求2所述的一种虚拟时统卡热迁移方法,其特征在于:步骤S3中,合适的迁移时机是指在目的端虚拟机启动运行前。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794337.4A CN113626142B (zh) | 2021-07-14 | 2021-07-14 | 一种虚拟时统卡热迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794337.4A CN113626142B (zh) | 2021-07-14 | 2021-07-14 | 一种虚拟时统卡热迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626142A true CN113626142A (zh) | 2021-11-09 |
CN113626142B CN113626142B (zh) | 2024-04-05 |
Family
ID=78379763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110794337.4A Active CN113626142B (zh) | 2021-07-14 | 2021-07-14 | 一种虚拟时统卡热迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626142B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261581A1 (en) * | 2012-11-30 | 2015-09-17 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for implementing hot migration of virtual machine |
CN104965757A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
US20170351556A1 (en) * | 2016-06-03 | 2017-12-07 | Alibaba Group Holding Limited | Live migration of virtual machine |
CN108829493A (zh) * | 2018-06-22 | 2018-11-16 | 山东超越数控电子股份有限公司 | 一种虚拟机时间同步方法与装置 |
CN108874506A (zh) * | 2018-06-08 | 2018-11-23 | 北京百度网讯科技有限公司 | 虚拟机直通设备的热迁移方法和装置 |
CN110377106A (zh) * | 2019-06-21 | 2019-10-25 | 湖南麒麟信安科技有限公司 | 一种时统卡虚拟化方法、系统及介质 |
CN110879741A (zh) * | 2018-09-06 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 虚拟机热迁移方法及装置、存储介质、处理器 |
CN111338748A (zh) * | 2020-02-10 | 2020-06-26 | 龙芯中科技术有限公司 | 时间同步方法、装置、设备及存储介质 |
CN111857968A (zh) * | 2020-07-29 | 2020-10-30 | 山东超越数控电子股份有限公司 | 一种虚拟机的热迁移方法、系统、设备以及介质 |
-
2021
- 2021-07-14 CN CN202110794337.4A patent/CN113626142B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261581A1 (en) * | 2012-11-30 | 2015-09-17 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for implementing hot migration of virtual machine |
CN104965757A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 |
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
US20170351556A1 (en) * | 2016-06-03 | 2017-12-07 | Alibaba Group Holding Limited | Live migration of virtual machine |
CN108874506A (zh) * | 2018-06-08 | 2018-11-23 | 北京百度网讯科技有限公司 | 虚拟机直通设备的热迁移方法和装置 |
CN108829493A (zh) * | 2018-06-22 | 2018-11-16 | 山东超越数控电子股份有限公司 | 一种虚拟机时间同步方法与装置 |
CN110879741A (zh) * | 2018-09-06 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 虚拟机热迁移方法及装置、存储介质、处理器 |
CN110377106A (zh) * | 2019-06-21 | 2019-10-25 | 湖南麒麟信安科技有限公司 | 一种时统卡虚拟化方法、系统及介质 |
CN111338748A (zh) * | 2020-02-10 | 2020-06-26 | 龙芯中科技术有限公司 | 时间同步方法、装置、设备及存储介质 |
CN111857968A (zh) * | 2020-07-29 | 2020-10-30 | 山东超越数控电子股份有限公司 | 一种虚拟机的热迁移方法、系统、设备以及介质 |
Non-Patent Citations (2)
Title |
---|
万俊伟,等: "云计算技术在实时航天试验任务领域的应用验证", 信息网络安全, no. 5, pages 63 - 68 * |
张乐;: "基于服务活跃度的虚拟机实时迁移方案的研究", 计算机工程与应用, vol. 49, no. 19, pages 254 - 259 * |
Also Published As
Publication number | Publication date |
---|---|
CN113626142B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625401B (zh) | 基于集群文件系统的数据备份方法、装置及可读存储介质 | |
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
US10503532B2 (en) | Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter | |
CA2839014C (en) | Managing replicated virtual storage at recovery sites | |
US8738883B2 (en) | Snapshot creation from block lists | |
CN104216801B (zh) | 一种面向虚拟化环境的数据复制方法及系统 | |
AU2012273366A1 (en) | Managing replicated virtual storage at recovery sites | |
KR20110029071A (ko) | 실시간 데이터 복제 | |
US8060738B2 (en) | Procedure for booting a first computer using the operating system of a second computer | |
US10402264B2 (en) | Packet-aware fault-tolerance method and system of virtual machines applied to cloud service, computer readable record medium and computer program product | |
CN103970834A (zh) | 一种异构数据库同步系统中增量数据同步故障的恢复方法 | |
CN102200944A (zh) | Erp系统的测试环境克隆方法及系统 | |
US7392149B2 (en) | Automatic software testing | |
CN103036947B (zh) | 基于kvm的虚拟机迁移方法及系统 | |
US20010027387A1 (en) | Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon | |
CN106775956B (zh) | Xen虚拟机Fork机制建立方法 | |
CN113626142A (zh) | 一种虚拟时统卡热迁移方法 | |
JP2007058813A (ja) | 検証装置及び検証方法 | |
CN109408077B (zh) | 一种基于虚拟机的高校实训软件快速部署方法 | |
CN100375024C (zh) | 一种自动改变计算机启动顺序的方法 | |
US11550665B2 (en) | Techniques for preserving clone relationships between files | |
CN101825994A (zh) | 基于固件的非操作系统依赖的闪存阵列管理装置和方法 | |
CN113868027B (zh) | 数据快照方法及装置 | |
CN110377397B (zh) | 基于虚机复制的存量应用快速部署扩容的方法 | |
CN116028100B (zh) | 软件版本升级方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |