CN106020946A - 一种虚拟机迁移方法 - Google Patents

一种虚拟机迁移方法 Download PDF

Info

Publication number
CN106020946A
CN106020946A CN201610295302.5A CN201610295302A CN106020946A CN 106020946 A CN106020946 A CN 106020946A CN 201610295302 A CN201610295302 A CN 201610295302A CN 106020946 A CN106020946 A CN 106020946A
Authority
CN
China
Prior art keywords
virtual machine
data
cbc
algorithm
machine
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.)
Pending
Application number
CN201610295302.5A
Other languages
English (en)
Inventor
张卫品
戴鸿君
于治楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201610295302.5A priority Critical patent/CN106020946A/zh
Publication of CN106020946A publication Critical patent/CN106020946A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种虚拟机迁移方法,包括源主机和目的物理机,其迁移过程为:在源主机内压缩内存数据,然后传输给目的物理机,在传输过程中,源主机通过压缩算法将内存数据压缩,传输完毕后,目的物理机则通过对应的解压缩算法解压,完成数据的整个迁移过程。该虚拟机迁移方法与现有技术相比,将CBC压缩算法植入到虚拟机迁移代码当中,以此减少了迁移过程中需要传输的数据量,从而实现虚拟机更有效的迁移,提高虚拟机实时迁移的效率,实用性强,易于推广。

Description

一种虚拟机迁移方法
技术领域
本发明涉及云计算技术领域,具体地说是一种实用性强、虚拟机迁移方法。
背景技术
在云环境下,虚拟机的实时迁移一般采取一种基于内存预拷贝(Pre-copy)的方式。它能保持在虚拟机运行的同时,将虚拟机的信息从原物理机器拷贝到目的机器上,并且在目的物理机上启动起来,在这个过程中虚拟机停机时间很短,用户根本感觉不到。
实时迁移的内容是将整个虚拟机完整的虚拟资源都迁移到目的机器上。这些信息包括:CPU寄存器信息、内存信息、磁盘信息和一些虚拟设备信息。不同的信息,采取不同的方法处理。对于CPU寄存器信息,由于寄存器中内容非常少,故一般停机拷贝寄存器信息并不会对实时迁移指令产生什么影响;对于数据量最大的磁盘信息,一般采用共享存储的方式来实现迁移,这样不占用网络带宽,且效率相当高;而最大的难点就是内存信息的拷贝,所谓的内存预拷贝算法,也就是主要针对内存信息而言。因为内存信息数量大,同时改动数据比较快,一旦内存改动速度超过了网络传输速度,内存预拷贝算法就可能失效,就只能停机拷贝,实时迁移的性能就会急剧下降。
云环境中包含异构的物理主机和在主机上运行着的虚拟机,虚拟机在迁移过程中存在着数据传输量大,总迁移时间长,或者“脏”数据率大于网络传输速度等问题,从而造成预拷贝算法提前失效,影响虚拟机的服务质量。
在现有技术中,CBC压缩算法是一种基于内存特征的实时压缩算法。该算法基于这样一种思想,将内存中的指令页和数据页分开压缩的思想。就是说,对于要输入的被压缩的数据,首先,分析数据的特征,并将其归为指令页或者数据页。如果为指令页,则采用针对指令页优化过的压缩算法;否则,将采用针对数据页优化过的压缩算法,这样,可以达到一个很高的压缩率的同时,也可以提高压缩速度。
鉴于该压缩算法,本发明提供一种虚拟机迁移方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、虚拟机迁移方法。
一种虚拟机迁移方法,包括源主机和目的物理机,其迁移过程为:在源主机内压缩内存数据,然后传输给目的物理机,在传输过程中,源主机通过压缩算法将内存数据压缩,传输完毕后,目的物理机则通过对应的解压缩算法解压,完成数据的整个迁移过程。
所述压缩算法通过CBC编码器实现,解压缩算法通过CBC解码器实现,且CBC编码器植入到源主机的xc_domian_save( )函数中,CBC解码器置入到目的物理机的xc_domain_restore()函数中。
所述内存数据的具体压缩过程为:
首先将虚拟机在源主机中的物理地址转换成虚拟机的物理地址;
然后开始内存预拷贝算法每一次的循环;
通过预拷贝算法将要传输的页面送出,作为CBC编码器的输入数据,进行压缩编码;
压缩后的数据通过socket传输到目的物理机。
所述目的物理机的解压缩过程为:
目的物理机的xc_domain_restore()函数接收传输过来的数据,将其交给CBC解码器;
CBC解码器将数据解压后通过预拷贝算法进行处理;
内存预拷贝算法将接收到的内存页面进行相关处理,然后将内存地址进行M2P模块转换;
在目的物理机上重新建立虚拟机的物理地址和宿主地址的物理地址的对应关系,完成整个迁移过程。
本发明的一种虚拟机迁移方法,具有以下优点:
本发明提供的一种虚拟机迁移方法,将CBC压缩算法植入到虚拟机迁移代码当中,以此减少了迁移过程中需要传输的数据量,从而实现虚拟机更有效的迁移,提高虚拟机实时迁移的效率,实用性强,易于推广。
附图说明
附图1为本发明的实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
针对目前普遍采用的一种虚拟机在线迁移方式,即内存预拷贝(pre-copy)方法中存在一些瓶颈,比如数据传输量大,总迁移时间长,而且在“脏”数据率大于网络传输速度的时候,内存预拷贝算法就会失效,增加停机时间。
针对这样的问题,如附图1所示,本发明的一种虚拟机迁移方法,包括源主机和目的物理机,其迁移过程为:在源主机内压缩内存数据,然后传输给目的物理机,在传输过程中,源主机通过压缩算法将内存数据压缩,传输完毕后,目的物理机则通过对应的解压缩算法解压,完成数据的整个迁移过程。
所述压缩算法通过CBC编码器实现,解压缩算法通过CBC解码器实现,且CBC编码器植入到源主机的xc_domian_save( )函数中,CBC解码器置入到目的物理机的xc_domain_restore()函数中。
所述内存数据的具体压缩过程为:
首先将虚拟机在源主机中的物理地址转换成虚拟机的物理地址,由附图可以看出,当进行虚拟机实时迁移的时候,首先要将虚拟机在源主机中的物理地址转换为虚拟机的物理地址,这个过程称为P2M变换。因为在目的物理主机中,虚拟机的P2M表和源物理主机的P2M表在大多数情况下是不相同的,虚拟机迁移之后,只有通过M2P变换重新建立对应关系,虚拟机迁移才有可能正确;
然后开始内存预拷贝算法每一次的循环;
通过预拷贝算法将要传输的页面送出,作为CBC编码器的输入数据,进行压缩编码;
压缩后的数据通过socket传输到目的物理机。
所述目的物理机的解压缩过程为:
目的物理机的xc_domain_restore()函数接收传输过来的数据,将其交给CBC解码器;
CBC解码器将数据解压后通过预拷贝算法进行处理;
内存预拷贝算法将接收到的内存页面进行相关处理,然后将内存地址进行M2P模块转换;
在目的物理机上重新建立虚拟机的物理地址和宿主地址的物理地址的对应关系,完成整个迁移过程。
所述CBC编码器包括数据特征分析模块、指令页压缩模块和数据页压缩模块,其中数据特征分析模块是对数据特征进行分析,得出内存相似度,并将其归为指令页或者数据页,如果为指令页,则采用针对指令页优化过的压缩算法;否则,将采用针对数据页优化过的压缩算法;然后,指令页压缩模块与数据页压缩模块根据分析的结果,进行相应的压缩。
所述CBC解码器则对应上述CBC编码器,实现所有编码数据的解压缩。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种虚拟机迁移方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (4)

1.一种虚拟机迁移方法,其特征在于,包括源主机和目的物理机,其迁移过程为:在源主机内压缩内存数据,然后传输给目的物理机,在传输过程中,源主机通过压缩算法将内存数据压缩,传输完毕后,目的物理机则通过对应的解压缩算法解压,完成数据的整个迁移过程。
2.根据权利要求1所述的一种虚拟机迁移方法,其特征在于,所述压缩算法通过CBC编码器实现,解压缩算法通过CBC解码器实现,且CBC编码器植入到源主机的xc_domian_save( )函数中,CBC解码器置入到目的物理机的xc_domain_restore()函数中。
3.根据权利要求2所述的一种虚拟机迁移方法,其特征在于,所述内存数据的具体压缩过程为:
首先将虚拟机在源主机中的物理地址转换成虚拟机的物理地址;
然后开始内存预拷贝算法每一次的循环;
通过预拷贝算法将要传输的页面送出,作为CBC编码器的输入数据,进行压缩编码;
压缩后的数据通过socket传输到目的物理机。
4.根据权利要求2所述的一种虚拟机迁移方法,其特征在于,所述目的物理机的解压缩过程为:
目的物理机的xc_domain_restore()函数接收源主机传输过来的数据,将其交给CBC解码器;
CBC解码器将数据解压后通过预拷贝算法进行处理;
内存预拷贝算法将接收到的内存页面进行相关处理,然后将内存地址进行转换;
在目的物理机上重新建立虚拟机的物理地址和宿主地址的物理地址的对应关系,完成整个迁移过程。
CN201610295302.5A 2016-05-06 2016-05-06 一种虚拟机迁移方法 Pending CN106020946A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610295302.5A CN106020946A (zh) 2016-05-06 2016-05-06 一种虚拟机迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610295302.5A CN106020946A (zh) 2016-05-06 2016-05-06 一种虚拟机迁移方法

Publications (1)

Publication Number Publication Date
CN106020946A true CN106020946A (zh) 2016-10-12

Family

ID=57082251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610295302.5A Pending CN106020946A (zh) 2016-05-06 2016-05-06 一种虚拟机迁移方法

Country Status (1)

Country Link
CN (1) CN106020946A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
CN114281246A (zh) * 2021-11-26 2022-04-05 苏州浪潮智能科技有限公司 一种基于云管理平台的云硬盘在线迁移方法、装置、设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353850A (zh) * 2013-06-13 2013-10-16 华为技术有限公司 虚拟机热迁移内存处理方法、装置和系统
CN103885830A (zh) * 2014-04-16 2014-06-25 中国科学院软件研究所 一种虚拟机跨数据中心动态迁移中的数据处理方法
US20150242159A1 (en) * 2014-02-21 2015-08-27 Red Hat Israel, Ltd. Copy-on-write by origin host in virtual machine live migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353850A (zh) * 2013-06-13 2013-10-16 华为技术有限公司 虚拟机热迁移内存处理方法、装置和系统
US20150242159A1 (en) * 2014-02-21 2015-08-27 Red Hat Israel, Ltd. Copy-on-write by origin host in virtual machine live migration
CN103885830A (zh) * 2014-04-16 2014-06-25 中国科学院软件研究所 一种虚拟机跨数据中心动态迁移中的数据处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
潘晓东: "基于内存压缩的虚拟机实时迁移机制研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
CN114281246A (zh) * 2021-11-26 2022-04-05 苏州浪潮智能科技有限公司 一种基于云管理平台的云硬盘在线迁移方法、装置、设备
CN114281246B (zh) * 2021-11-26 2023-08-25 苏州浪潮智能科技有限公司 一种基于云管理平台的云硬盘在线迁移方法、装置、设备

Similar Documents

Publication Publication Date Title
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
CN105204781B (zh) 压缩方法、装置和设备
US10459642B2 (en) Method and device for data replication
US9344528B2 (en) Data compressor using hints
US9563569B2 (en) Memory transformation in virtual machine live migration
US10579591B1 (en) Incremental block compression
US9836248B2 (en) In-memory data compression complementary to host data compression
CN110351336B (zh) 一种基于docker容器的边缘服务迁移方法
US8441491B2 (en) Method for performing undo and redo operations on a graphics processing unit
CN107404654A (zh) 一种jpeg图像解压缩方法、装置及平台
CN110334066A (zh) 一种基于FPGA的Gzip解压缩方法、装置及系统
CN104090795A (zh) 实现多核移动终端升级的方法、系统及装置
CN106020946A (zh) 一种虚拟机迁移方法
CN108469982A (zh) 一种容器在线迁移方法
US10824357B2 (en) Updating data stored in a memory
CN104536816A (zh) 提高虚拟机迁移效率的方法
CN103796018A (zh) 一种遥感影像实时压缩及渐进传输系统
CN113315800A (zh) 镜像存储、下载方法、设备以及系统
KR100524076B1 (ko) 데이터 압축 및 복원 장치
US9965210B2 (en) System and methods for in-storage on-demand data decompression
CN105164665A (zh) 层级词典的创建
CN107506773A (zh) 一种特征提取方法、装置及系统
CN108932315A (zh) 一种数据解压的方法以及相关装置
CN116405692A (zh) 一种基于云端抠图的传输方法和相关设备
CN101615194A (zh) 动态网页的生成方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication