CN105389136A - 一种虚拟机在线迁移方法 - Google Patents
一种虚拟机在线迁移方法 Download PDFInfo
- Publication number
- CN105389136A CN105389136A CN201511000600.9A CN201511000600A CN105389136A CN 105389136 A CN105389136 A CN 105389136A CN 201511000600 A CN201511000600 A CN 201511000600A CN 105389136 A CN105389136 A CN 105389136A
- Authority
- CN
- China
- Prior art keywords
- data cell
- data
- migration
- virtual machine
- moved
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种虚拟机在线迁移方法,在虚拟机迁移之前,将虚拟机内存与磁盘按照相同的大小划分成若干数据单元;在虚拟机迁移过程中,在迁移数据单元之前先比较该数据单元是否与之前迁移过的内存或磁盘数据单元的内容相同,如果不相同,则将该数据单元迁移到目标端;如果相同,则只发送该数据单元的摘要和位置信息到目标端,在目标端根据所接收的摘要和位置信息,从之前已收到的数据单元中找到相同的数据并将其复制到目标位置。该方法避免了重复内存与磁盘数据单元的迁移传输,减少虚拟机迁移的数据量与迁移时间,从而减少了对迁移网络带宽资源的浪费并缩短了迁移完成时间。
Description
技术领域
本申请属于通信技术领域,具体涉及一种虚拟机在线迁移方法。
背景技术
虚拟机在线迁移是云计算资源调度的重要支撑机制。在虚拟机在线迁移的过程中,内存与磁盘是主要的迁移对象,内存与磁盘数据量的大小也决定了迁移的完成时间以及对网络带宽等资源的占用。然而在虚拟机的内存与磁盘中存储着大量的重复数据,这些重复数据产生的原因一方面是由于内存与磁盘之间的存储层次关系,另一方面也在于存储的数据本身的重复性。
现有的虚拟机在线迁移技术中,并没有考虑虚拟机内存与磁盘数据的重复性,从而使得重复的数据多次迁移。一方面,这造成迁移网络带宽等资源的浪费,而迁移网络带宽是云计算平台的重要共享资源,尤其是在跨数据中心迁移虚拟机的情况下,网络带宽更是宝贵的而且是物理上有限的资源,合理地利用迁移网络带宽是对虚拟机在线迁移技术提出的重要挑战。另一方面,随着虚拟机内存与磁盘容量的增大,虚拟机迁移的完成时间也越来越长,这给云计算环境下的资源调度的时效性带来了巨大挑战。
发明内容
本申请目的之一在于为克服现有技术的缺陷,提供了一种能够合理利用迁移网络带宽的虚拟机在线迁移方法
本申请提供的一种虚拟机在线迁移方法,包括如下步骤:
S1:将虚拟机内存与磁盘按照相同的大小划分成若干数据单元;
S2:计算当前待迁移数据单元的更新频率,并按照更新频率的升序对待迁移的数据单元进行排序;
S3:按步骤S2中的排序进行数据单元迁移,并获取当前待迁移数据单元的摘要;
S4:判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要相同,是则转至步骤S5,否则转至步骤S8;
S5:只发送数据单元的摘要与位置信息到目标端;
S6:目标端从已接收数据单元摘要集合中查找相同数据的存储位置;
S7:从该相同数据的存储位置拷贝数据到目标迁移位置,并转至步骤S10;
S8:将数据单元迁移到目标端,同时将数据单元的摘要与位置信息加入到已迁移数据单元摘要集合中;
S9:目标端将数据单元中的数据直接拷贝到目标迁移位置,同时将数据单元的摘要与位置信息加入到已接收数据单元摘要集合中;
S10:数据迁移结束。
进一步的,在所述步骤S3中,利用MD5算法或SHA-1算法来获取当前待迁移数据单元的摘要。
进一步的,所述步骤S4中以红黑树结构来保存之前已迁移数据单元的摘要。
进一步的,所述步骤S4:判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要相同,包括如下步骤:
利用布隆过滤器判断计算出的数据单元摘要字节串是否与已迁移数据单元摘要集合中的某个数据单元摘要相同:
如果判断结果为是,并不能够确定一定在该集合中,则再在采用红黑树结构保存的已迁移数据单元摘要集合中查找该待迁移的数据单元的摘要,最终判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要是否相同;
如果判断出利用布隆过滤器判断计算出的数据单元摘要字节串与已迁移数据单元摘要集合中的数据单元摘要都不相同,则能够确定一定不在已迁移数据单元摘要集合中。
本申请的有益效果在于,在本申请提供的虚拟机在线迁移方法中内存与磁盘中相同的数据单元仅需迁移一次,避免了重复内存与磁盘数据单元的迁移传输,减少虚拟机迁移的数据量与迁移时间,从而减少了对迁移网络带宽资源的浪费并缩短了迁移完成时间。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1所示为本申请虚拟机在线迁移方法流程图。
具体实施方式
下文将结合具体实施例详细描述本申请。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。
虚拟机中会存在以下三种形式的重复数据:第一种是在虚拟机内存中不同的内存页面存储了相同的数据;第二种是虚拟机磁盘中不同的磁盘块存储了相同的数据;第三种是在虚拟机内存中与磁盘中存储了相同的数据。
如图1所示,本申请提供的一种虚拟机在线迁移方法,包括如下步骤:
S1:将虚拟机内存与磁盘按照相同的大小划分成若干数据单元:
为了实现内存与磁盘混合去重,内存与磁盘可采用相同的数据单元大小,例如4KB。
S2:计算当前待迁移数据单元的更新频率,并按照更新频率的升序对待迁移的数据单元进行排序:
更新频率较高的内存页面或磁盘块被多次拷贝到迁移目标端,而同一个内存页面或磁盘块的多次迁移数据拷贝仅有最后一次是最新的有效数据,之前的数据拷贝都会被逐步覆盖掉,因而产生无效迁移数据。虚拟机内存页面与磁盘块的更新频率越高则产生的无效迁移数据越多。
S3:按步骤S2中的排序进行数据单元迁移,并计算当前待迁移数据单元的摘要:
可以采用多种数据摘要算法来获取数据单元的摘要,例如MD5算法或SHA-1算法。该摘要实际上是16字节或20字节的字节串。
S4:判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要是否相同,是则转至步骤S5,否则转至步骤S8:
本申请采用红黑树结构来管理已迁移数据单元的摘要,红黑树属于平衡二叉树的一种,以数据单元的摘要信息作为红黑树节点的key值(即每个节点代表一个数据单元),能够很大地提高查找效率,并且在对树频繁插入和删除过程中有很稳定的时间复杂度。又例如,可以采用trie树来保存已迁移数据单元的摘要。
判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要是否相同的方法包括如下步骤:
利用布隆过滤器判断计算出的数据单元摘要字节串是否与已迁移数据单元摘要集合中的某个数据单元摘要相同,由于布隆过滤器本身的特性,如果判断结果是“真(True)”,并不能够确定一定在该集合中,则再在采用红黑树结构保存的已迁移数据单元摘要集合中查找该待迁移的数据单元的摘要,最终判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要是否相同;反之,如果判断结果是“假(False)”,则能够确定一定不在集合中。
S5:只发送数据单元的摘要与位置信息到目标端。
S6:目标端从已接收数据单元摘要集合中查找相同数据的存储位置。
S7:从该相同数据的存储位置拷贝数据到目标迁移位置,并转至步骤S10。
S8:将数据单元迁移到目标端,同时将数据单元的摘要与位置信息加入到已迁移数据单元摘要集合中。
S9:目标端将数据单元中的数据直接拷贝到目标迁移位置,同时将数据单元的摘要与位置信息加入到已接收数据单元摘要集合中。
S10:数据迁移结束。
在虚拟机在线迁移过程中,每个内存或磁盘数据单元都有可能会被迁移多次,这是因为在数据单元迁移过程中,虚拟机仍在运行,因此有可能会更新数据单元,从而导致一些数据单元被迁移多次。对于迁移多次的数据单元而言,只有最后一次迁移的数据是有效的,之前迁移的数据都是可以丢弃的,所以在现有的虚拟机在线迁移技术中,后面的数据会覆盖掉之前迁移的数据。在根据本申请一个实施例的虚拟机在线迁移方法中,对于一个多次迁移的数据单元而言,除了最后一次迁移的数据之外,还将之前迁移的数据都进行了保存,因为这些之前迁移的数据仍然是有用的,可以省去后续的与这些数据相同的数据单元的迁移。例如,可以将之前迁移的数据单元的所有版本全部存储在目标端,目标端用于保存这些数据单元的空间可以被称为数据单元多版本存储空间。这样,通过在目标端存储多次迁移数据单元的多个版本,使得数据去重率能够最大化,进而保证在虚拟机迁移过程中相同的数据单元仅被迁移一次,最大程度减少对迁移网络带宽的占用,进而使得虚拟机在线迁移能够在网络带宽资源十分有限的条件下能够完成。
在本申请提供的虚拟机在线迁移方法中内存与磁盘中相同的数据单元仅需迁移一次,避免了重复内存与磁盘数据单元的迁移传输,减少虚拟机迁移的数据量与迁移时间,从而减少了对迁移网络带宽资源的浪费并缩短了迁移完成时间。
本文虽然已经给出了本申请的一些实施例,但是本领域的技术人员应当理解,在不脱离本申请精神的情况下,可以对本文的实施例进行改变。上述实施例只是示例性的,不应以本文的实施例作为本申请权利范围的限定。
Claims (4)
1.一种虚拟机在线迁移方法,其特征在于,包括如下步骤:
S1:将虚拟机内存与磁盘按照相同的大小划分成若干数据单元;
S2:计算当前待迁移数据单元的更新频率,并按照更新频率的升序对待迁移的数据单元进行排序;
S3:按所述步骤S2中的排序进行数据单元迁移,并获取当前待迁移数据单元的摘要;
S4:判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要相同,是则转至步骤S5,否则转至步骤S8;
S5:只发送数据单元的摘要与位置信息到目标端;
S6:目标端从已接收数据单元摘要集合中查找相同数据的存储位置;
S7:从所述相同数据的存储位置拷贝数据到目标迁移位置,并转至步骤S10;
S8:将数据单元迁移到目标端,同时将数据单元的摘要与位置信息加入到已迁移数据单元摘要集合中;
S9:目标端将数据单元中的数据直接拷贝到目标迁移位置,同时将数据单元的摘要与位置信息加入到已接收数据单元摘要集合中;
S10:数据迁移结束。
2.如权利要求1所述的一种虚拟机在线迁移方法,其特征在于,在所述步骤S3中,利用MD5算法或SHA-1算法来获取当前待迁移数据单元的摘要。
3.如权利要求1所述的一种虚拟机在线迁移方法,其特征在于,所述步骤S4中以红黑树结构来保存之前已迁移数据单元的摘要。
4.如权利要求1所述的一种虚拟机在线迁移方法,其特征在于,所述步骤S4:判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要相同,包括如下步骤:
判断利用布隆过滤器判断计算出的数据单元摘要字节串是否与已迁移数据单元摘要集合中的某个数据单元摘要相同,如果判断结果为是,并不能够确定一定在该集合中,则再在采用红黑树结构保存的已迁移数据单元摘要集合中查找该待迁移的数据单元的摘要,最终判断该待迁移的数据单元的摘要是否与之前已迁移数据单元的摘要是否相同;
如果判断出利用布隆过滤器判断计算出的数据单元摘要字节串与已迁移数据单元摘要集合中的数据单元摘要都不相同,则能够确定一定不在已迁移数据单元摘要集合中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511000600.9A CN105389136A (zh) | 2015-12-24 | 2015-12-24 | 一种虚拟机在线迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511000600.9A CN105389136A (zh) | 2015-12-24 | 2015-12-24 | 一种虚拟机在线迁移方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105389136A true CN105389136A (zh) | 2016-03-09 |
Family
ID=55421455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511000600.9A Pending CN105389136A (zh) | 2015-12-24 | 2015-12-24 | 一种虚拟机在线迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389136A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN103019847A (zh) * | 2012-12-24 | 2013-04-03 | 创新科存储技术(深圳)有限公司 | 对虚拟机数据进行迁移的方法及系统 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103888501A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 虚拟机迁移方法和装置 |
-
2015
- 2015-12-24 CN CN201511000600.9A patent/CN105389136A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455942A (zh) * | 2010-12-02 | 2012-05-16 | 中标软件有限公司 | 一种广域网虚拟机动态迁移方法及系统 |
CN103019847A (zh) * | 2012-12-24 | 2013-04-03 | 创新科存储技术(深圳)有限公司 | 对虚拟机数据进行迁移的方法及系统 |
CN103888501A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 虚拟机迁移方法和装置 |
CN103577249A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933503B (zh) | 在基于哈希的存储系统中从异步到同步复制的一致转变 | |
US10929017B2 (en) | Data block migration | |
US8666955B2 (en) | Data management method and data management system | |
US11093159B2 (en) | Storage system with storage volume pre-copy functionality for increased efficiency in asynchronous replication | |
US10761758B2 (en) | Data aware deduplication object storage (DADOS) | |
CN103581331B (zh) | 虚拟机在线迁移方法与系统 | |
CN105069111B (zh) | 云存储中基于相似性的数据块级数据去重方法 | |
KR102082765B1 (ko) | 중복 제거 방법 및 저장 장치 | |
US10108644B1 (en) | Method for minimizing storage requirements on fast/expensive arrays for data mobility and migration | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
US20150205818A1 (en) | Tiered distributed storage policies | |
CN101539950A (zh) | 数据存取方法和装置 | |
CN103914522A (zh) | 一种应用于云存储重复数据删除的数据块合并方法 | |
US10102231B2 (en) | Ordering heterogeneous operations in bulk processing of tree-based data structures | |
KR20210075845A (ko) | 네이티브 키-밸류 분산 스토리지 시스템 | |
CN108089816B (zh) | 一种基于负载均衡的查询式重复数据删除方法及装置 | |
CN104077423A (zh) | 一种基于一致性散列的结构化数据存储、查询和迁移方法 | |
CN108090125B (zh) | 一种非查询式的重复数据删除方法及装置 | |
WO2017020576A1 (zh) | 一种键值存储系统中文件压实的方法和装置 | |
WO2014067063A1 (zh) | 重复数据检索方法及设备 | |
CN108415671B (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
CN103970875A (zh) | 一种并行重复数据删除方法 | |
US10996898B2 (en) | Storage system configured for efficient generation of capacity release estimates for deletion of datasets | |
WO2021231000A1 (en) | Managing snapshotting of a dataset using an ordered set of b+ trees | |
US10909001B1 (en) | Storage system with snapshot group split functionality |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |