CN101101562A - 一种虚拟机的外存在线迁移方法 - Google Patents

一种虚拟机的外存在线迁移方法 Download PDF

Info

Publication number
CN101101562A
CN101101562A CNA200710118597XA CN200710118597A CN101101562A CN 101101562 A CN101101562 A CN 101101562A CN A200710118597X A CNA200710118597X A CN A200710118597XA CN 200710118597 A CN200710118597 A CN 200710118597A CN 101101562 A CN101101562 A CN 101101562A
Authority
CN
China
Prior art keywords
external memory
virtual machine
dirty
migration
destination host
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
Application number
CNA200710118597XA
Other languages
English (en)
Other versions
CN100489787C (zh
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CNB200710118597XA priority Critical patent/CN100489787C/zh
Publication of CN101101562A publication Critical patent/CN101101562A/zh
Application granted granted Critical
Publication of CN100489787C publication Critical patent/CN100489787C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种虚拟机的外存在线迁移方法,在推送(Push)阶段,首先将虚拟机的全部外存数据由源主机发送至目的主机;虚拟机管理器监控当前外存发送过程中虚拟机的外存访问,记录该发送过程中的外存块更新状态,标记被写脏外存脏块;将外存脏块循环由源主机发送至目的主机;直至达到设定的条件,停止外存数据的发送,进入停机阶段;然后根据外存更新状态记录信息确定剩余的外存脏块及其大小,将所有剩余的外存脏块由源主机发送至目的主机;或在拉拽(Pull)阶段,根据外存更新状态记录信息将剩余的外存脏块进行同步操作。保证迁移过程中仅有非常短暂的停机时间,使得在线迁移不依赖于共享外存设备的硬件环境,能够在分散式外存环境下得到应用。

Description

一种虚拟机的外存在线迁移方法
所属技术领域:
本发明涉及虚拟机迁移技术,特别是一种虚拟机的外存在线迁移方法。
背景技术:
计算机软/硬件资源成为现代社会中必不可少的基础设施之一。众多的国家机构,科研中心,以及企事业单位都组建了规模不等的计算机集群,作为信息化建设的计算中心或者数据中心。如何对这些计算资源进行管理,成为人们面临的重要课题。计算机硬件技术飞速发展,需要经常对计算设备进行更新换代;日趋复杂的软件***给人们对硬件***的维护带来了更多困难。近年来,虚拟机技术成为学术界与产业界关注的热点,其重要应用之一就是为计算机软/硬件资源的管理提供有效的帮助。虚拟机在线迁移是基于虚拟机技术的典型应用之一。借助于虚拟机迁移技术,运行中的操作***实例能够在不同的物理主机之间转移,并且在迁移过程中,操作***及其上运行的应用与服务能够持续运行而不被中断,操作人员无需关心操作***上运行的众多应用程序的细节,极大地方便了管理操作。当人们需要对一台物理主机进行维护时,可以用虚拟机在线迁移工具将主机上运行的操作***迁移至其他备用的物理主机,并且这个过程中操作***的服务持续可用。硬件维护完成之后,同样可以借助虚拟机迁移工具将原有软件环境转移回来。虚拟机迁移技术同样可以对物理资源进行负载平衡的调度。业界主流的虚拟机厂商VMWare就依据其虚拟机平台VMWare ESX Server推出了集群管理套件Virtual Center,通过迁移技术集中式地对集群硬件资源进行管理,调节软件资源在硬件上的负载。
目前的虚拟机迁移技术可以分为两大类:常规迁移与在线迁移。常规迁移技术在迁移操作***之前显式的将其挂起,借助于虚拟机技术将操作***状态序列化,类似于文件拷贝一样传输至目的主机,在目的主机上将其状态反序列化,重建操作***实例,恢复其执行状态。常规迁移期间停止虚拟机执行,因而迁移过程中传输的是静态的***状态,相对简单易行,但是在迁移过程操作***无法使用,软件***服务有较长时间中断。在线迁移技术则在保持虚拟机运行的同时对***进行迁移,由于虚拟机在迁移过程中处于运行状态,期间***状态的更改需要进行记录,在后续阶段重新传输。当目的主机具备了足够的***状态时,经过一个非常短暂的切换,虚拟机在目的主机上被激活。在后续阶段,源/目的主机之间进行进一步同步,直至目的主机获得虚拟机全部的最新状态,迁移结束。在线迁移技术是集群管理的有效工具之一。
在线迁移技术的要点在于如何最小化停机时间,以维持被迁移虚拟机服务的持续可用。对于静态的内容,例如虚拟机的配置信息等,可以在迁移前期事先发送到目的主机;对于动态内容,则需要进行仔细考虑。动态内容中最大的部分是内存与外存。目前,上百MB甚至更大容量的内存以及上百GB甚至更大容量的外存都已经成为常见***配置。如果完全在停机阶段传输这两部分的数据,停机时间无疑非常长,达不到在线迁移的要求。目前主流的在线迁移技术,例如VMWare公司的VMotion,以及英国剑桥大学的开源虚拟机管理器Xen上的在线迁移,均采用了内存pre-copy(预复制)的技术以及共享外存的硬件环境来解决上述问题(【Xen】C.Clark,K.Fraser,S.Hand,J.G Hansen,E.Jul,C.Limpach,I.Pratt,and A.Warfield.Live Migration of Virtual Machines.In Proc.NSDI’05,May 2005.【VMotion】M.Nelson,B.Lim,and G.Hutchins.Fast Transparent Migration for Virtual Machines.In Proc.USENIX 2005.)。内存pre-copy技术是指,在虚拟机运行的同时,将其内存页面数据发送至目的主机,这个过程中通过记录虚拟机的内存更新,以确定发送过程中产生了哪些脏页;在一轮发送完成之后,开始下一轮pre-copy,将上一次发送过程中产生的内存脏页重新发送至目的主机。这样一个循环pre-copy的过程中,源/目的主机之间不一致的内存页面越来越少,当不一致内存页面数低于某个阈值时,pre-copy循环结束,接下来虚拟机被挂起,其剩余的少量的不一致页面被一次性拷贝至目的主机,这样目的主机就获得了全部最新的内存数据。对于外存,则都依赖于NAS(Network Attached Storage)、SAN(Storage Area Network)等共享的外部存储。既然源/目的主机可以平等地访问到外存设备,那么在迁移的期间只需为目的主机VM建立起对原有外存设备的连接即可,无需传输外存数据。据VMotion和Xen的相关论文(参见上述两篇论文)显示,迁移中的停机时间在1秒以内,大多数情况下仅为几百毫秒。
从上面的分析可以看到,在线迁移为了保证虚拟机服务在迁移过程中的可用性,需要将停机阶段的时间最小化。现有的在线迁移技术都依赖于共享外部存储的硬件环境来解决动态迁移虚拟机外存状态的问题,这使得迁移的设计变得简单,也取得了较好的性能。
但是,目前存在着大量采用分散式本地存储的集群。例如,随着PC处理能力的日益强大,高性价比的使用本地存储的PC集群成为现在集群的主流方案之一,Google Cluster就是采用这种方案的著名例子。在这种环境下,现有的在线迁移技术受到限制。虚拟机迁移至目的主机之后,无法直接访问其原有外部存储,或者必须依赖于源主机对其外存访问提供支持。
发明内容:
本发明的目的在于提供一种虚拟机的外存在线迁移方法,保证迁移过程中仅有非常短暂的停机时间,使得在线迁移不依赖于共享外存设备的硬件环境,能够在分散式外存环境下得到应用。
本发明的虚拟机的外存在线迁移方法,其步骤包括:
1)在推送(Push)阶段,首先将虚拟机的全部外存数据由源主机发送至目的主机;
2)虚拟机管理器(Virtual Machine Monitor,简称VMM)监控当前外存发送过程中虚拟机的外存访问,记录该发送过程中的外存块更新状态,标记被写脏的外存数据,即各外存脏块;
3)将外存脏块由源主机发送至目的主机;
4)循环2)-)3所述步骤,直至达到设定的条件,停止外存数据的发送,进入停机阶段;
5)停机阶段,根据外存更新状态记录信息确定剩余的外存脏块及其大小,
5-1)当剩余的外存脏块小于设定的量值时,将所有剩余的外存脏块由源主机发送至目的主机,外存迁移结束;
5-2)当剩余的外存脏块达到设定的量值时,将当前的外存更新状态记录信息发送至目的主机,进入拉拽(Pull)阶段;
6)在Pull阶段,根据外存更新状态记录信息将剩余的外存脏块进行同步操作,外存迁移结束;
本发明通过位图(bitmap)记录所述外存块(block)更新状态信息,对外存块在位图中对应的bit进行标记以记录被写脏的外存脏块。
上述同步操作过程为在Pull阶段,目的主机的虚拟机访问外存时,由虚拟机管理器监控虚拟机的访问请求,根据在停机阶段接收的外存更新状态信息确定该访问请求是否被同步到本地,如已同步,则提交该访问请求;如未同步,对于写操作,正常提交,对于读操作,暂存该读操作请求,向源主机请求发送该外存数据,待目的主机收到该外存数据后,提交该读操作请求。
上述同步操作过程也可为在Pull阶段,源主机在监听和响应目的主机的外存数据请求的同时,根据外存更新状态信息依次将剩余的外存脏块发送至目的主机。目的主机收到数据之后进行判断,若该数据尚未同步,则将其写入本地外存设备;若该部分数据已经在本地被目的主机写过,丢弃该外存数据。
上述发送的外存数据为压缩后的外存数据。
上述设定的条件选自:
1)循环次数达到设定阈值;
2)被写脏的外存数据的块数小于设定的阈值;
3)外存数据被写脏的速度达到设定阈值。
上述设定的量值为记录外存状态更新信息的位图的大小。
当需要将虚拟机再由目的主机迁移至源主机,或进行多次反复迁移时,只需要传输两次迁移期间外存发生变化的部分,也就是“增量”的外存部分。虚拟机管理器通过bitmap记录了两次迁移中增量的外存数据,由此外存迁移程序依据bitmap记录,只发送增量的外存数据。
本发明是在现有内存在线迁移的基础上,实现外存的在线迁移,是虚拟机的全***在线迁移。
本发明主要内容为在现有内存在线迁移方案中添加对于虚拟机外存数据的迁移,并且仍然维持在线迁移的特点。这种包括外存在内的虚拟机完整状态的迁移称为全***迁移。
从前面的背景分析看到,以时间为序,迁移的过程可以分为三个阶段:
■推送(Push)阶段:虚拟机在源主机运行,用户使用的虚拟机服务运行于源主机;
■停机阶段:虚拟机在源主机被挂起,并且尚未在目的主机启动的阶段,此时虚拟机状态不发生变化
■拉拽(Pull)阶段:虚拟机在目的主机运行,用户使用的虚拟机服务运行于目的主机。
在Push阶段,采用pre-copy方案来减少外存数据在后续阶段需要同步的数据量。类似于内存的pre-copy,当虚拟机仍然在源主机运行时,将其外存数据循环地发送至目的主机,写入目的主机为其分配的外存设备中。在发送过程中,由于虚拟机外存访问而被更新的外存数据需要被重传。因此,需要对虚拟机的外存访问进行监控,以确定哪些外存数据在发送过程中被写脏。
虚拟机管理器作为操作***和硬件之间的软件层,控制着虚拟机的全部外存访问,因此,在虚拟机管理器层可以监控到所有虚拟机的外存访问请求,并且这个过程对于被迁移的虚拟机本身来说是透明的。操作***的外存访问通过文件***接口来进行,而文件***对外存的访问以块(block)为单位。对于每个外存block,只存在两种状态,即是否被写脏。为此,本发明设计用位图(bitmap)来记录虚拟机的外存更新状态。对于每个外存block,若被虚拟机写脏,则将其bitmap对应的bit进行标记。
总体来说,外存pre-copy的过程是这样进行的:pre-copy的第一轮,外存迁移程序将发送虚拟机的全部外存数据。在此同时,虚拟机管理器为虚拟机的外存状态监控分配bitmap,开始记录虚拟机的每一次外存访问。之后的每一轮pre-copy循环之初,外存迁移程序从虚拟机管理器获取监控的bitmap记录,根据该bitmap将被写脏的外存重新发送到目的主机。同时,虚拟机管理器将bitmap记录清空,开始记录这一轮pre-copy过程中的外存更新情况。随着pre-copy循环的进行,外存的脏块越来越少,直到外存同步的效果足够好,将停止外存的pre-copy。本发明用三个因素对外存pre-copy循环进行控制:循环的轮次,外存脏块的数量,以及外存变脏的速度。当循环的次数达到某个上限时,外存pre-copy将中止;当外存脏块数量小于某个阈值时,外存pre-copy效果已经达到,外存pre-copy将中止;当外存变脏速度过快时,进行外存pre-copy达不到减少外存同步的效果,外存pre-copy将中止。
最后一轮外存pre-copy至源VM被挂起的过程中,由于VM仍在源主机运行,产生的外存脏块需要在后续阶段进行同步。在停机阶段,从bitmap可以确定有哪些剩余的外存脏块需要重传。若脏块非常少,脏块大小的总和小于bitmap本身的大小,则在停机阶段将所有脏块发送至目的主机,从而VM在目的主机在启动之后,所有外存数据已经在本地就绪,可以正常运行;若脏块较多,脏块大小的总和大于bitmap本身的大小,则并不在停机阶段进行剩余外存脏块的传输,而是将bitmap发送到目的主机,为后续阶段的迁移做准备。
前面提到,若在停机阶段发现剩余外存脏块较多,则仅发送bitmap,在Pull阶段对剩余的脏块进行同步。采取两个手段来进行Pull阶段的外存同步。第一个手段是目的主机外存访问的按需请求(on-demand fetch)策略。当目的主机访问外存时,在VMM内监控虚拟机的外存IO请求,根据在停机阶段接收到的bitmap,确定该IO请求是否已经被同步到本地。对于外存数据已经同步至本地的情况,IO请求可以正常提交;若bitmap指示这部分外存数据尚未同步(即bitmap中的bit标记为脏块),则又分为两种情况:对于写IO操作,可以正常提交,并且将bitmap对应的位进行标记为已经在本地,无需事先从源主机同步外存数据。若为读IO操作,且操作的数据尚未同步(即bitmap中的bit标记为脏块),则将请求暂存起来,通过外存迁移程序向源主机请求这部分外存数据,直到接收到目的主机发来的外存数据时,再提交暂存的IO请求。目的主机这种外存访问方式称为按需请求的外存访问。另外一个手段称为外存post-copy(后复制),其内容为:源主机在Pull阶段,在监听和响应目的主机的外存数据请求的同时,根据bitmap依次将剩余的外存脏块发送至目的主机,目的主机收到数据之后进行判断,若该数据在bitmap中指示尚未同步,则将其写入本地外存设备,否则说明该部分数据已经在本地被目的主机写过,丢弃该外存数据。当源主机post-copy结束之后,可以确定目的主机获得了全部的外存最新状态,外存迁移结束。
为了减少外存迁移的数据量,设计了增量外存迁移的方案,仅迁移源/目的主机只能够外存状态不一致的部分。一旦虚拟机在目的主机启动,在VMM中用bitmap记录其所有外存访问的历史。这样,当虚拟机从目的主机回迁至源主机时,由于源主机存在上一次迁移时的外存数据,只需要传输两次迁移期间,外存发生变化的部分,也就是“增量”的外存部分,而VMM中的bitmap则记录了两次迁移中增量的外存数据。由此,在外存pre-copy的第一轮,外存迁移程序从VMM中获取bitmap记录,发送增量的外存数据,这样就避免了迁移全部外存数据,实现了增量式的外存迁移。
值得注意的是,在外存迁移各阶段的数据发送前,外存数据首先经过压缩,然后在网络上传输,进一步改进了迁移的性能。
全***迁移方案解决了在线迁移对共享外存硬件环境的依赖性,具有以下优点:
1.较好地控制了由外存迁移给停机时间带来的额外开销。可以看到,在停机阶段,外存迁移仅需传输记录外存更新状态的bitmap,这个时间是非常短暂的。例如,当虚拟机外存大小为40GB,外存block大小为4KB时,bitmap的大小约为1.25MB。在100MB/s的网络传输速度下,传输bitmap的时间不到20毫秒。通过对bitmap数据进行压缩,可以将停机时间进一步缩短。Bitmap的大小仅和虚拟机外存的大小有关,不受虚拟机之上应用程序的影响。Xen,VMotion的在线迁移停机时间均为100毫秒级别,因此,外存迁移增减的停机时间不会改变原有迁移在线迁移的性质。
2.较好的保证了迁移过程中虚拟机的IO性能。在VMM中对外存进行监控的时间代价仅为若干条指令的执行以及内存访问操作,相对于低速的IO操作而言,其时间开销可以忽略不计。对于以读IO操作为主的虚拟机,我们的pre-copy操作有效的在迁移前期同步了外存状态;对于以写IO操作为主的虚拟机,在目的主机启动之后,其写IO操作可以直接在本地提交,而无需事先从源主机同步。因此,对于写IO密集型虚拟机,迁移中也能够较好地保证其IO访问性能。考虑到目前网络技术的发展,网络数据传输速率已经接近甚至超过磁盘IO的数据传输速率,通过网络按需请求外存的方式并不会带来太大的IO性能损失。
3.通过用bitmap在VMM层次监控虚拟机外存访问,增量的迁移虚拟机外存数据,减少了外存迁移传输的数据量,并且这个过程对于虚拟机本身完全是透明的,具有较好的可移植性。考虑到外存容量之大,增量外存迁移对于缩短迁移时间,减少迁移的资源开销等具有非常大的好处。
附图说明:
虚拟机全***在线增量迁移流程图
图中椭圆部分为现有的在线迁移,灰色的方块部分主要为外存迁移。A所在区域为Push阶段,B所在区域为停机阶段,C所在区域为Pull阶段。对于流程的各部分:(1)为迁移初始化,主要涉及目的主机的选取,资源预留等工作,在目的主机端创建一个虚拟机的空壳。(2)为确定增量外存数据的工作。通过与VMM交互,从bitmap确定哪些外存部分被更新,需要重传。(3)为外存pre-copy。每次pre-copy首先从VMM获取bitmap,发送bitmap指示变脏的外存,同时将VMM的bitmap清空,记录此后的外存更新情况。(4)为虚拟机的内存循环pre-copy。(5)为内存状态的停机拷贝。进入(5)之后,虚拟机在源主机被挂起,传输剩余未同步的虚拟机内存状态。(6)为目的主机的激活,虚拟机在目的主机上对用户提供服务(7)为目的主机的外存按需请求与外存post-copy。外存post-copy结束后,目的主机获得了全部的外存最新状态,外存迁移结束。VMM仍然通过bitmap记录虚拟机从目的主机启动以来的所有外存更新操作,当将虚拟机迁移回源主机时,转至步骤(1),VMM的bitmap成为增量迁移的依据。
具体实施方式:
下面以在Xen虚拟机上实现的全***迁移工具来说明如何在现有在线迁移的基础上实现在线的增量外存迁移机制。
Xen的虚拟机外存访问均通过一个特权虚拟机来代理执行。特权虚拟机可以直接访问外设,普通虚拟机的外存访问通过一个叫front-end的驱动程序发送至特权虚拟机,由一个叫back-end的驱动程序统一处理,IO请求经过Xen验证合法后,由back-end Driver提交给真实的物理设备驱动程序。IO执行完成后,数据被返回给front-end Driver,最终满足应用程序的IO请求。在back-end Driver内截获到虚拟机的IO请求,并且用bitmap记录其外存更新。
迁移的主体工作由用户态的迁移进程完成,迁移进程运行于Xen的特权虚拟机Domain0.采用Xen的在线迁移进行内存迁移,并在其中各个阶段***对外存迁移。
通过三个简单的实验来考察迁移的性能:
实验在两台物理主机A和B之间进行,两物理主机均通过网卡连接到局域网。VM在AB主机之间进行迁移。具体配置表1所示:
物理主机A   CPU:Pentinum(R)4,3.00GHZ内存:1GB硬盘:IDE硬盘,160GB网卡:100MB/s以太网卡
物理主机B   CPU:Pentinum(R)4,3.00GHZ内存:1GB硬盘:IDE硬盘,80GB网卡:100MB/s以太网卡
网络   100MB/s局域网
被迁移VM   Linux操作***,其内核为经XEN移植的Linux2.6.16.29内核内存:256MB外存:10GB物理磁盘分区
XEN虚拟机平台   XEN3.0.3,domain0为Linux操作***,其内核为经XEN移植的Linux 2.6.16.29内核
                        表1实验环境配置
■实验一:读IO密集性VM迁移实验
内容:VM在被迁移的过程中,用scp命令从第三方的Linux***下载文件至本地,通过文件下载速度来测试VM的服务性能。考察的性能指标包括:预迁移阶段运行的时间,停机时间,pull阶段运行时间,总体迁移时间,以及在各个阶段的文件下载速率。
实验结果:如表2所示
Figure A20071011859700111
                     表2读IO密集型VM迁移实验结果
■实验二:写IO密集性VM迁移实验
内容:VM在被迁移的过程中,用scp命令从第三方的Linux***下载文件至本地,通过文件下载速度来测试VM的服务性能。考察的性能指标包括:预迁移阶段运行的时间,停机时间,pull阶段运行时间,总体迁移时间,以及在各个阶段的文件下载速率。
实验结果:如表3所示
Figure A20071011859700112
                     表3写IO密集型VM迁移实验结果
■实验三:增量迁移实验
内容:将VM在物理主机A和B之间往返迁移三次。
第一轮迁移将VM从主机A迁移至主机B,此时主机B不存在VM的外存数据,需迁移完整VM外存状态。
第一轮迁移之后,下载一个大小为534MB的文件至VM,作为外存数据更新的模拟,然后将VM从主机B迁移回主机A,这就是第二轮迁移。
第二轮迁移后,仅在VM上拷贝一个33KB的文件,作为外存数据更新的模拟,然后将VM从主机B再迁移到主机A,这就是第三轮迁移。
考察的性能指标包括:预迁移阶段占用的时间,停机时间,pull阶段运行时间,以及总体迁移时间。
实验结果:如表4所示
Figure A20071011859700113
Figure A20071011859700121
                     表4增量迁移实验结果
从实验可以看到,对于读IO密集型与写IO密集型的VM,其迁移过程中仍然具有较好的IO性能,考虑到计算机硬件资源功能日趋强大,迁移的IO性能可以有较大的提升。
迁移过程中的停机时间大多数在100毫秒左右,很好的保证了服务的持续可用。
增量迁移对于减少迁移的外存数据量有显著的效果,避免了每次都迁移全部外存数据。

Claims (10)

1.一种虚拟机的外存在线迁移方法,其步骤包括:
1)在Push阶段,首先将虚拟机的全部外存数据由源主机发送至目的主机;
2)虚拟机管理器监控当前外存发送过程中虚拟机的外存访问,记录该发送过程中外存更新状态,标记被写脏的外存数据,即各外存脏块;
3)将外存脏块由源主机发送至目的主机;
4)循环2)~3)所述步骤,直至达到设定的条件,停止外存数据的发送,进入停机阶段;
5)停机阶段,根据外存块更新状态记录信息确定剩余的外存脏块及其大小,
5-1)当剩余的外存脏块小于设定的量值时,将所有剩余的外存脏块由源主机发送至目的主机,外存迁移结束;
5-2)当剩余的外存脏块达到设定的量值时,将当前的外存更新状态记录信息发送至目的主机,进入Pull阶段;
6)在Pull阶段,根据外存更新状态记录信息将剩余的外存脏块进行同步操作,外存迁移结束。
2.如权利要求1所述的虚拟机的外存在线迁移方法,其特征在于通过位图记录所述外存数据各外存块更新状态信息,对外存块在位图中对应的bit进行标记以记录被写脏的外存脏块。
3.如权利要求1或2所述的虚拟机的外存在线迁移方法,其特征在于所述同步操作过程为在Pull阶段,目的主机的虚拟机访问外存时,由虚拟机管理器监控虚拟机的访问请求,根据在停机阶段接收的外存更新状态信息确定该访问请求是否被同步到本地,如已同步,则提交该访问请求;如未同步,对于写操作,正常提交,对于读操作,暂存该读操作请求,向源主机请求发送该外存数据,待目的主机收到该外存数据后,提交该读操作请求。
4.如权利要求1或2所述的虚拟机的外存在线迁移方法,其特征在于所述同步操作过程为在Pull阶段,源主机在监听和响应目的主机的外存数据请求的同时,根据外存更新状态信息依次将剩余的外存脏块发送至目的主机。
5.如权利要求4所述的虚拟机的外存在线迁移方法,其特征在于目的主机收到数据之后进行判断,若该数据尚未同步,则将其写入本地外存设备;若该部分数据已经在本地被目的主机写过,丢弃该外存数据。
6.如权利要求1或2所述的虚拟机的外存在线迁移方法,其特征在于所述发送的外存数据为压缩后的外存数据。
7.如权利要求1或2所述的虚拟机的外存在线迁移方法,其特征在于所述设定的条件选自:
1)循环次数达到设定阈值;
2)被写脏的外存数据的块数小于设定的阈值;
3)外存数据被写脏的速度达到设定阈值。
8.如权利要求1或2所述的虚拟机的外存在线迁移方法,其特征在于所述设定的量值为记录外存状态更新信息的位图的大小。
9.如权利要求1所述的虚拟机的外存在线迁移方法,其特征在于虚拟机管理器监控虚拟机的所有外存访问,记录外存更新状态,当虚拟机在源主机和目的主机之间来回迁移时,根据外存更新状态记录信息,传输两次迁移期间外存发生变化的部分。
10.如权利要求1所述的虚拟机的外存在线迁移方法,其特征在于同时进行内存的在线迁移。
CNB200710118597XA 2007-07-10 2007-07-10 一种虚拟机的外存在线迁移方法 Expired - Fee Related CN100489787C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200710118597XA CN100489787C (zh) 2007-07-10 2007-07-10 一种虚拟机的外存在线迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200710118597XA CN100489787C (zh) 2007-07-10 2007-07-10 一种虚拟机的外存在线迁移方法

Publications (2)

Publication Number Publication Date
CN101101562A true CN101101562A (zh) 2008-01-09
CN100489787C CN100489787C (zh) 2009-05-20

Family

ID=39035842

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200710118597XA Expired - Fee Related CN100489787C (zh) 2007-07-10 2007-07-10 一种虚拟机的外存在线迁移方法

Country Status (1)

Country Link
CN (1) CN100489787C (zh)

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011066761A1 (zh) * 2009-12-01 2011-06-09 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和***
CN101515978B (zh) * 2008-02-21 2011-06-15 佳能株式会社 信息处理装置及其控制方法
CN102118437A (zh) * 2011-01-17 2011-07-06 浪潮(北京)电子信息产业有限公司 一种基于Xen的虚拟机热迁移进度监控方法及装置
CN102137167A (zh) * 2011-04-29 2011-07-27 中国人民解放军国防科学技术大学 不间断运行的虚拟机迁移方法及装置
CN102136993A (zh) * 2010-07-29 2011-07-27 华为技术有限公司 一种数据迁移的方法、装置和***
CN101605084B (zh) * 2009-06-29 2011-09-21 北京航空航天大学 基于虚拟机的虚拟网络报文处理方法和***
WO2012009843A1 (en) * 2010-07-19 2012-01-26 Empire Technology Development Llc Virtual machine live migration with continual memory write monitor and send
CN102387024A (zh) * 2010-09-06 2012-03-21 联想(北京)有限公司 功耗控制方法、管理节点及数据处理中心
CN102455942A (zh) * 2010-12-02 2012-05-16 中标软件有限公司 一种广域网虚拟机动态迁移方法及***
CN101464812B (zh) * 2009-01-06 2012-05-30 北京航空航天大学 一种虚拟机迁移方法
CN101609419B (zh) * 2009-06-29 2012-05-30 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
CN102576343A (zh) * 2009-09-28 2012-07-11 日本电气株式会社 计算机***和虚拟机迁移方法
CN102609361A (zh) * 2012-01-16 2012-07-25 北京邮电大学 虚拟机存储数据迁移方法和装置
CN102694672A (zh) * 2011-03-24 2012-09-26 华为技术有限公司 虚拟机参数迁移的方法、设备和虚拟机服务器
CN102714668A (zh) * 2010-01-19 2012-10-03 思科技术公司 分布式虚拟以太网光纤信道转发器
CN101739282B (zh) * 2008-11-18 2013-06-12 华为技术有限公司 一种虚拟机的管理方法、装置和***
CN103246564A (zh) * 2013-05-17 2013-08-14 浙江大学 一种面向云数据中心的大规模虚拟机快速迁移决策方法
CN103309625A (zh) * 2013-05-29 2013-09-18 华为技术有限公司 一种基于自适应存储热迁移的方法和***
CN103365704A (zh) * 2012-03-26 2013-10-23 ***通信集团公司 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和***
CN103414769A (zh) * 2013-07-31 2013-11-27 华为技术有限公司 虚拟机热迁移的方法及物理机
CN101710324B (zh) * 2008-09-04 2014-01-01 威睿公司 使用标准块和标准块标识符的文件传送
CN103500146A (zh) * 2013-09-30 2014-01-08 北京邮电大学 虚拟机磁盘存储数据迁移方法和***
CN103530290A (zh) * 2012-07-03 2014-01-22 深圳市腾讯计算机***有限公司 数据库间的数据迁移方法和***
CN103631633A (zh) * 2012-08-20 2014-03-12 中国电信股份有限公司 虚拟机全***在线迁移方法、装置与***
WO2014082459A1 (zh) * 2012-11-30 2014-06-05 华为技术有限公司 实现虚拟机热迁移的方法、装置及***
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机***在线存储迁移的方法、***与装置
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机***全***在线迁移的方法、***与装置
CN104239120A (zh) * 2014-08-28 2014-12-24 华为技术有限公司 一种虚拟机的状态信息同步的方法、装置及***
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN105893114A (zh) * 2016-04-05 2016-08-24 浪潮电子信息产业股份有限公司 一种虚拟机迁移的方法、目的宿主机和源宿主机
CN107168774A (zh) * 2017-06-14 2017-09-15 北京云联万维技术有限公司 一种基于本地存储的虚拟机迁移方法及***
CN107735767A (zh) * 2015-06-26 2018-02-23 英特尔公司 用于虚拟机迁移的技术
CN107766120A (zh) * 2016-08-23 2018-03-06 华为技术有限公司 一种虚拟机中对象信息的记录方法及相关设备
CN108205506A (zh) * 2013-12-31 2018-06-26 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机***
CN110688064A (zh) * 2019-09-05 2020-01-14 浪潮电子信息产业股份有限公司 一种虚拟磁盘迁移方法、装置、设备及可读存储介质
CN111580932A (zh) * 2020-05-12 2020-08-25 西安交通大学 一种虚拟机磁盘在线迁移去冗余方法
CN111737197A (zh) * 2020-06-30 2020-10-02 上海英方软件股份有限公司 一种实现不停机迁移业务***的***及方法
US10802870B2 (en) 2013-12-31 2020-10-13 Huawei Technologies Co., Ltd. Virtual machine live migration method, virtual machine memory data processing method, server, and virtual machine system
CN113485755A (zh) * 2021-06-30 2021-10-08 深圳市科力锐科技有限公司 设备驱动程序验证方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839564B2 (en) * 2001-04-25 2005-01-04 Nokia Corporation Synchronization of database data
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515978B (zh) * 2008-02-21 2011-06-15 佳能株式会社 信息处理装置及其控制方法
CN101710324B (zh) * 2008-09-04 2014-01-01 威睿公司 使用标准块和标准块标识符的文件传送
CN101739282B (zh) * 2008-11-18 2013-06-12 华为技术有限公司 一种虚拟机的管理方法、装置和***
CN101464812B (zh) * 2009-01-06 2012-05-30 北京航空航天大学 一种虚拟机迁移方法
CN101605084B (zh) * 2009-06-29 2011-09-21 北京航空航天大学 基于虚拟机的虚拟网络报文处理方法和***
CN101609419B (zh) * 2009-06-29 2012-05-30 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
CN102576343B (zh) * 2009-09-28 2015-09-16 日本电气株式会社 计算机***和虚拟机迁移方法
CN102576343A (zh) * 2009-09-28 2012-07-11 日本电气株式会社 计算机***和虚拟机迁移方法
US9323570B2 (en) 2009-09-28 2016-04-26 Nec Corporation Computer system and migration method of virtual machine
WO2011066761A1 (zh) * 2009-12-01 2011-06-09 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和***
CN102714668A (zh) * 2010-01-19 2012-10-03 思科技术公司 分布式虚拟以太网光纤信道转发器
CN102714668B (zh) * 2010-01-19 2016-03-09 思科技术公司 分布式虚拟以太网光纤信道转发器
WO2012009843A1 (en) * 2010-07-19 2012-01-26 Empire Technology Development Llc Virtual machine live migration with continual memory write monitor and send
CN102136993A (zh) * 2010-07-29 2011-07-27 华为技术有限公司 一种数据迁移的方法、装置和***
CN102136993B (zh) * 2010-07-29 2016-12-21 华为技术有限公司 一种数据迁移的方法、装置和***
CN102387024A (zh) * 2010-09-06 2012-03-21 联想(北京)有限公司 功耗控制方法、管理节点及数据处理中心
CN102455942A (zh) * 2010-12-02 2012-05-16 中标软件有限公司 一种广域网虚拟机动态迁移方法及***
CN102118437A (zh) * 2011-01-17 2011-07-06 浪潮(北京)电子信息产业有限公司 一种基于Xen的虚拟机热迁移进度监控方法及装置
CN102694672B (zh) * 2011-03-24 2015-07-22 华为技术有限公司 虚拟机参数迁移的方法、设备和虚拟机服务器
US9529623B2 (en) 2011-03-24 2016-12-27 Huawei Technologies Co., Ltd. Method, migration management apparatus, network device, and virtual machine server for migrating virtual machine parameters
CN102694672A (zh) * 2011-03-24 2012-09-26 华为技术有限公司 虚拟机参数迁移的方法、设备和虚拟机服务器
WO2012126254A1 (zh) * 2011-03-24 2012-09-27 华为技术有限公司 虚拟机参数迁移的方法、设备和虚拟机服务器
CN102137167A (zh) * 2011-04-29 2011-07-27 中国人民解放军国防科学技术大学 不间断运行的虚拟机迁移方法及装置
CN102137167B (zh) * 2011-04-29 2014-01-08 中国人民解放军国防科学技术大学 不间断运行的虚拟机迁移方法及装置
CN102609361B (zh) * 2012-01-16 2015-06-24 北京红山世纪科技有限公司 虚拟机存储数据迁移方法和装置
CN102609361A (zh) * 2012-01-16 2012-07-25 北京邮电大学 虚拟机存储数据迁移方法和装置
CN103365704B (zh) * 2012-03-26 2016-12-14 ***通信集团公司 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和***
CN103365704A (zh) * 2012-03-26 2013-10-23 ***通信集团公司 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和***
CN103530290B (zh) * 2012-07-03 2017-12-12 深圳市腾讯计算机***有限公司 数据库间的数据迁移方法和***
CN103530290A (zh) * 2012-07-03 2014-01-22 深圳市腾讯计算机***有限公司 数据库间的数据迁移方法和***
CN103631633A (zh) * 2012-08-20 2014-03-12 中国电信股份有限公司 虚拟机全***在线迁移方法、装置与***
CN103631633B (zh) * 2012-08-20 2017-04-12 中国电信股份有限公司 虚拟机全***在线迁移方法、装置与***
US9672075B2 (en) 2012-11-30 2017-06-06 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing hot migration of virtual machine
WO2014082459A1 (zh) * 2012-11-30 2014-06-05 华为技术有限公司 实现虚拟机热迁移的方法、装置及***
CN103885811A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机***全***在线迁移的方法、***与装置
CN103885811B (zh) * 2012-12-21 2017-05-31 中国电信股份有限公司 虚拟机***全***在线迁移的方法、***与装置
CN103885719B (zh) * 2012-12-21 2017-02-08 中国电信股份有限公司 虚拟机***在线存储迁移的方法、***与装置
CN103885719A (zh) * 2012-12-21 2014-06-25 中国电信股份有限公司 虚拟机***在线存储迁移的方法、***与装置
CN103246564B (zh) * 2013-05-17 2016-06-01 浙江大学 一种面向云数据中心的大规模虚拟机快速迁移决策方法
CN103246564A (zh) * 2013-05-17 2013-08-14 浙江大学 一种面向云数据中心的大规模虚拟机快速迁移决策方法
CN103309625B (zh) * 2013-05-29 2016-06-08 华为技术有限公司 一种基于自适应存储热迁移的方法和***
CN103309625A (zh) * 2013-05-29 2013-09-18 华为技术有限公司 一种基于自适应存储热迁移的方法和***
CN103414769A (zh) * 2013-07-31 2013-11-27 华为技术有限公司 虚拟机热迁移的方法及物理机
CN103414769B (zh) * 2013-07-31 2017-03-01 华为技术有限公司 虚拟机热迁移的方法及物理机
CN103500146B (zh) * 2013-09-30 2016-04-27 北京邮电大学 虚拟机磁盘存储数据迁移方法和***
CN103500146A (zh) * 2013-09-30 2014-01-08 北京邮电大学 虚拟机磁盘存储数据迁移方法和***
CN108205506A (zh) * 2013-12-31 2018-06-26 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机***
US10802870B2 (en) 2013-12-31 2020-10-13 Huawei Technologies Co., Ltd. Virtual machine live migration method, virtual machine memory data processing method, server, and virtual machine system
CN108205506B (zh) * 2013-12-31 2021-11-19 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机***
CN104239120B (zh) * 2014-08-28 2018-06-05 华为技术有限公司 一种虚拟机的状态信息同步的方法、装置及***
CN104239120A (zh) * 2014-08-28 2014-12-24 华为技术有限公司 一种虚拟机的状态信息同步的方法、装置及***
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN107735767B (zh) * 2015-06-26 2022-02-11 英特尔公司 用于虚拟机迁移的装置和方法
CN107735767A (zh) * 2015-06-26 2018-02-23 英特尔公司 用于虚拟机迁移的技术
CN105893114A (zh) * 2016-04-05 2016-08-24 浪潮电子信息产业股份有限公司 一种虚拟机迁移的方法、目的宿主机和源宿主机
CN107766120B (zh) * 2016-08-23 2021-08-20 华为技术有限公司 一种虚拟机中对象信息的记录方法及相关设备
CN107766120A (zh) * 2016-08-23 2018-03-06 华为技术有限公司 一种虚拟机中对象信息的记录方法及相关设备
CN107168774B (zh) * 2017-06-14 2020-11-10 北京云联万维技术有限公司 一种基于本地存储的虚拟机迁移方法及***
CN107168774A (zh) * 2017-06-14 2017-09-15 北京云联万维技术有限公司 一种基于本地存储的虚拟机迁移方法及***
CN110688064A (zh) * 2019-09-05 2020-01-14 浪潮电子信息产业股份有限公司 一种虚拟磁盘迁移方法、装置、设备及可读存储介质
CN111580932A (zh) * 2020-05-12 2020-08-25 西安交通大学 一种虚拟机磁盘在线迁移去冗余方法
CN111580932B (zh) * 2020-05-12 2023-04-07 西安交通大学 一种虚拟机磁盘在线迁移去冗余方法
CN111737197A (zh) * 2020-06-30 2020-10-02 上海英方软件股份有限公司 一种实现不停机迁移业务***的***及方法
CN113485755A (zh) * 2021-06-30 2021-10-08 深圳市科力锐科技有限公司 设备驱动程序验证方法、装置、设备及存储介质
CN113485755B (zh) * 2021-06-30 2023-08-18 深圳市科力锐科技有限公司 设备驱动程序验证方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN100489787C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
CN100489787C (zh) 一种虚拟机的外存在线迁移方法
Luo et al. Live and incremental whole-system migration of virtual machines using block-bitmap
US9996396B2 (en) Cross architecture virtual machine migration
US7383405B2 (en) Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US10289684B2 (en) Live migration of virtual machine persistent data using mirrored input-output operations
US9588787B2 (en) Runtime virtual process creation for load sharing
US10896129B2 (en) Method and system for storage virtualization
US8607009B2 (en) Concurrent virtual machine snapshots and restore
US9317314B2 (en) Techniques for migrating a virtual machine using shared storage
US9336132B1 (en) Method and system for implementing a distributed operations log
JP5459811B2 (ja) 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ
Stoyanov et al. Efficient live migration of linux containers
Hirofuchi et al. Enabling instantaneous relocation of virtual machines with a lightweight vmm extension
US7792918B2 (en) Migration of a guest from one server to another
JP6882662B2 (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
US8365169B1 (en) Migrating a virtual machine across processing cells connected to an interconnect that provides data communication without cache coherency support
JP2010097533A (ja) パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
US10185581B2 (en) Method and system for taking checkpoints at varying intervals
CN113296880A (zh) 基于容器的应用管理方法和装置
US9471366B2 (en) Virtual machine disk image backup using block allocation area
Hou et al. Application-assisted live migration of virtual machines with java applications
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
CN103885811A (zh) 虚拟机***全***在线迁移的方法、***与装置
US11567884B2 (en) Efficient management of bus bandwidth for multiple drivers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20120710