虚拟机在线迁移研究报告


    虚拟机迁移是指将虚拟机从一台主机(源主机)迁移到另一台主机上运行(目标主机)。虚拟机在物理机之间的迁移分为两种:离线迁移和在线迁移。离线迁移是指在虚拟机关机或者暂停的状态下从一台物理机转移到另一台物理机。在这种情况下只需要拷贝虚拟机镜像、相应的配置文件和虚拟机状态到另一台主机,并在目标主机上恢复运行就可以完成。这种方式实现简单,但是迁移过程中虚拟机需要较长的停机时间,此时其上的服务需要中断。对于要求服务可用性的场合不适用。
    在线迁移在保持虚拟机运行并对外提供服务的同时从一台主机迁移到另一台主机。在线迁移与离线迁移的逻辑步骤几乎是一致的,只是要求迁移过程中仅有短暂的停机时间,用户不会明显的感知到服务的中断,虚拟机上的服务可以正常运行。虚拟机迁移包括磁盘、内存、CPU 状态和I/O 设备。
1.磁盘迁移
    目前主流的虚拟化工具如VMware,Xen,HyperV,KVM 都提供了迁移组件,一般都要求物理机之间采用SAN(storage area network),NAS(network-attached storage)之类的集中式共享外存设备,只需考虑操作系统内存和执行状态的迁移。以Xen 的xenMotion 为例,它采用预拷贝机制,在源虚拟机运行的同时,向目的主机循环的迁移内存页面,同时记录内存脏页面,在下一轮循环中传输脏页面到目的主机。当绝大部分内存同步以后,暂停虚拟机,将最后一轮循环产生的脏页面同步到目的主机。在目的主机上恢复虚拟机运行。但是在一些应用场景中,源主机和目的主机之间没有共享存储设备,本地磁盘数据也必须传输到目的主机,这些外存数据量非常大,是影响虚拟机迁移性能的关键。
    目前主要存在两种外存迁移方式。
1.1.按需取页

    文献[1]采用按需取页策略,首先迁移虚拟机的内存数据和CPU 状态,在迁移过程中,磁盘读写在源节点上进行。当虚拟机在目的主机上恢复运行后,根据读写磁盘的请求,从源节点按需取数据块,并在目的节点缓存。当所有需要的块均被缓存后,在目的节点上即可实现磁盘的本地操作。


                                                                                                           图1.总体结构图(左)和按需获取机制(右)

    如图1 左所示,整个磁盘迁移机制由两部分完成,在源主机和目的主机分别部署一个目标服务器和代理服务器。这两者都是一个网络块设备(NBD)。采用按需获取和后台拷贝机制完成磁盘的迁移工作。迁移工作分为两个阶段进行:
    1.迁移工作开始时,保持虚拟机在源端运行的同时,虚拟机控制器平台调用其内存迁移功能将虚拟机内存状态从源端迁移到目的端。同时后台把磁盘文件透明传输到目的端。所有的I/O 操作在源端进行。

    2.在内存状态传输基本完成后在目的端恢复虚拟机继续运行。所有的I/O 操作通过代理服务器在目的端进行。此时代理服务器开始磁盘迁移工作。I/O 请求被转发给源端的目标服务器,同时相应的块也被拷贝到目的端的本地文件中。当所有的块全部被拷贝到目的端后,停止NBD 连接,虚拟机将不再依赖源端运行。

    按需获取机制如上图所示,a) 当虚拟机要读的位置不在目标端时,代理服务器从源端获取块数据提供给虚拟机使用,并且把它写入本地缓存文件中,当所有的块数据都被传输过来后,把这些缓存文件变成完整的磁盘映像文件,在bitmap结构中标记这个块数据。b)当虚拟机要对某区域进行写操作时,可直接对源端执行写操作,并把它标记为已缓存。c)当虚拟机要读的位置在缓存块中,则直接对缓存块进行操作,无需再从源端获取数据。

     后台拷贝机制是指通过网络将块数据从源端拷贝到目的端。它的优先级低于按需获取机制,以保证最小的I/O 阻塞时间。虚拟机及其中应用对磁盘的I/O 操作具有一定的规律, 即I/O 操作偏移位置具有阶段连续性。



图2.代理服务器实现过程

    如图2 所示,代理服务器通过三个异步队列和四个线程来处理I/O 请求,客户端的I/O 请求(按需获取)处在较高优先级,后台拷贝请求处在校低的优先级。当收到一个客户端的读请求时,代理服务器首先判断请求的区域是否在缓存中,若无,则向远端的目标服务器发送请求。后台拷贝则由一个外部程序控制,以控制传输速度。


1.2 预迁移结合回放的同步方式

    文献[2]提出了预迁移结合回放的同步方式实现外存迁移。首先预迁移虚拟机的外存数据,在此过程中截获所有写外存的请求,包括写数据、写的位置及数据长度,并同时转发到目的主机按序保存。当外存预迁移结束后,在目的主机重做这些写操作.。在内存预迁移过程中发生的写操作同样记录到目的主机的队列中。当虚拟机在目的主机恢复运行后,阻塞磁盘I/O 直到重做完队列中的写操作。



图3. 总体迁移过程(不含网络重定向和写节流)
    如图3 所示迁移过程分为四个阶段:
    初始化阶段,源端虚拟机发出迁移请求,位于源端的客户端程序创建一个监听进程,用户空间的块设备驱动进入记录模式。在记录模式启动时,复制写操作分别发送给监听程序和目的端。同时批量传输存储数据到目的端。
    批量传输+Xen在线迁移阶段,复制磁盘镜像到目的端,启用XEN的迁移接口来迁移运行时状态等信息。因为在整个迁移过程中源主机仍然在运行。需要截获所有的写操作。把这些增量记录在目标主机的队列中。如果写操作过于频繁以致影响到了迁移。将进行限制。

    增量应用阶段,在目的机上把增量队列应用到磁盘里,在这一阶段出现的写操作也将有序地应用到磁盘中。此时源端虚拟机终止,在目标端恢复运行。


2 网络设备迁移


2.1 局域网内的虚拟机迁移
    目前,目前,Xen 的XenMotion 和VMWare 的VMotion 都要求虚拟机迁移的宿主机位于同一个局域网内,虚拟机在局域网内迁移主要运用以下几种技术:Xen 的网络链接机制是在虚拟机迁移完成后,要在目的端快速恢复网络链接接收新的消息,只需将源端的IP 地址和目的端的MAC 地址绑定。即源端主动发送一个ARP 重定向包进行绑定,完成后新的数据包被直接发送到目标主机。过程中保持虚拟机IP 地址不变,网络链接状态几乎不受影响。文献[3]采用了ARP协议机制实现了基于XEN 的在线迁移,但是在网络连接方面存在两个问题但存在两方面的问题: 1) ARP 响应报文机制不适用于广域网; 2) 在迁移过程的宕机时间内会有少部分数据包丢失。VMware 则通过虚拟机提供的虚拟网卡(VNIC)来保持网络连接。在迁移的过程中,虚拟网卡与虚拟机一同迁移,就可以维持唯一的物理层地址来完成网络连接的迁移。虚拟网卡是虚拟平台的一部分,每一个虚拟网卡都有一个用来在局域网络中作为唯一标识的MAC 地址。每个虚拟网卡与一个或者多个物理网卡(NIC)关联,多个虚拟机中的虚拟网卡也可以与同一个物理网卡相连。由于虚拟网卡拥有与物理网卡的MAC 地址不相关的MAC 地址,虚拟机可以在运行过程中保持网络连接不中断的条件下从一台机器迁移到另外一台机器上。

    文献[4]在缺乏VLAN 支持的源主机和目的主机处于不同网段的局域网上也可以进行虚拟机的漂移并保持原有IP 地址,主要思路是利用TCP 连接的通道来传输链路层的数据帧,把二层链路通过高层桥接延长到目的主机。采用星状或网状的连接结构预先在各节点主机间建立和维持TCP 连接,并且在每个节点主机上部署相关守护进程,包括包过滤器、转发表和二层链路帧转发器。虚拟机漂移时,先利用设置好的TCP 通道向目的节点主机传递虚拟机状态,目的节点主机设置好新建虚拟机的MAC 与IP 以后,利用二层链路转发器继续通过TCP 通道向源节点主机转发相应的广播帧,源节点主机的包过滤器截获相应的广播帧并在本网段内转发,从而切换原虚拟机的IP 地址到目的节点主机上的新虚拟机。同样发到漂移后的新虚拟机的二层数据帧也通过TCP 通道由源节点主机转发器转发。


2.2 广域网内的虚拟机迁移
    在广域网中,虚拟机迁移后会获得新的IP 地址,IP 地址改变会破坏原有的网络连接,这样一来网络便会中断,目前这个问题是可以通过虚拟网络的方法来处理,如果不想改变原IP 的情况下实现实现迁移,可以通过网络的抽象层来解决,连同网关一起迁移。
    文献[5]利用虚拟专用局域网服务(Virtual Private LAN Service, VPLS)桥接分布在广域网范围内的多个宿主机使之成为一个虚拟的局域网。因此在虚拟机迁移过程中无需改变IP 地址,便可保持原有网络连接,实现在线迁移。但该方式不仅要求网络中的路由器支持VPLS,还需要在迁移过程中动态配置路由器。
    文献[2]中采用则是通过双向IP 隧道和动态DNS 进行网络重定向的策略。在虚拟机迁移过程中,在源端和目的端建立双向IP 隧道,动态更新DNS 服务器。通过隧道保持虚拟机IP 地址不变,并且在迁移完成后为虚拟机配置一个新的IP。这样一来,通过旧IP 地址的原有会话可以通过IP 隧道继续保持,新的请求则可以直接被发送到新的IP 地址。此时目的端虚拟机有两个IP 地址,直到没有会话在使用旧的IP 地址,IP 隧道才被销毁。这种策略使原有会话数据都要通过源、目的端中继,增加了数据转发路径,引入了额外的延迟。并且新增IP 还需要改变虚拟机的网关、路由等网络信息,影响虚拟机的路由稳定。

    文献[6]虚拟机迁移系统网络连接重定向技术设计基于移动IP 技术的网络连接重定向系统。当虚拟机迁移到不同子网时,将其看作移动节点不改变它的IP地址,通过目的节点(外部网络)和源节点(家乡网络)之间的双向隧道传输所有来自和发往虚拟机的数据。将虚拟机迁移的环境看成移动网络环境,将被迁移的虚拟机看成移动节点。虚拟机迁移到外部网络后其网络配置保持不变,完全利用宿主机的移动代理功能实现与外部网络的通信。该系统使所有数据通过源、目的节点转发。并且系统还要求物理节点支持ARP 代理协议。


3 内存迁移
    将虚拟机的内存迁移有多种实现方式。当虚拟机正在运行实时服务时,传输方式应该综合考虑最小停机时间和总迁移时间等需求。虚拟机内存迁移可以划分成三个阶段:
    1.推送复制阶段。源虚拟机继续运行,并主动将虚拟机内存复制到目的虚拟机。为了保证一致性,在这个过程中被修改的内存页面必须被重新发送。
    2.停机拷贝阶段。源虚拟机停止运行,将虚拟机内存页面拷贝到目的虚拟机,然后启动目的虚拟机。
    3.按需复制阶段。目的虚拟机开始运行,如果它访问到一个还没被拷贝的页面,该页面通过缺页异常的方式从源主机传送过来。
    目前采用的解决方案一般只包含了其中的一个或者两个阶段,一般来说,根据采用的迁移策略可以分为预拷贝、后拷贝和日志重现机制。基于拷贝的机制主

要是将源主机内存拷贝到目的主机来同步两端虚拟机的状态。而日志重现机制不需要拷贝内存,通过记录源主机上虚拟机的执行,然后利用目的主机重现来实现。


3.1 预拷贝
    内存预拷贝迁移过程如下:首先将所有内存页标记为脏页面并拷贝到目的主机上;然后迭代拷贝内存页,同时虚拟机继续运行。迭代是指采用几轮增量同步,上一轮传输过程中被修改过的页面在本次中被传输到目的主机。当需要传输的内存小于一个阈值或者迭代次数超过设置的最大迭代次数时停止迭代拷贝。最后,挂起源主机上的虚拟机,拷贝CPU 状态和最后一轮产生的脏页面到目的主机,在目的主机上恢复虚拟机运行。一般使用一个Bitmap 即来标示页面传输过程中被修改过的脏页面,在动态迁移过程中扫描Bitmap,如果一个页面被标记为脏页,就将该页面传送到目的端。

    在虚拟机迁移过程中需要传输大量的数据,因此产生较高的网络开销。特别是迁移CPU 敏感、内存敏感或者应用程序负载密集的虚拟机,或者网络带宽低时,虚拟机内存页面弄脏速度可能比网络传输速度还要快,严重影响虚拟机的性能。在实际应用中,需要对原始的预拷贝机制进行优化。目前主要存在以下几种方法。


3.1.1 基于压缩技术的预拷贝算法

    文献[7]分析迁移内存页面的不同特征,并对迁移数据采用自适应的压缩算法MECOM。在传输前对数据进行压缩,可以有效改善内存迁移的效率。通过分析内存数据的特点,发现内存页面内容相似度存在以下关系:



图4. 256MB-RAM 虚拟机在运行Apache 服务时的内存页面相似度分布图
    图4 表示在一个256MB 的虚拟机中内存页面的相似度分布。结果表明,大部分的内存页面的相似度呈现两个极端:高相似度或者低相似度。进一步研究在运行不同的程序时内存页面呈现的相似度分布,进一步发现大部分内存页面的相似度<25%,或>75%。并且有些页面由大量零字节组成。因此把内存页面分为三类:高相似度页面、低相似度页面和大量零字节页面。对于由大量零字节组成的页面,只记录页面中非零字节的值和偏移等信息。对高相似度页面采用WKdm 压缩算法,WKdm 算法压缩时间很短,效率很高。对于低相似度页面,采用具有高压缩比的通用压缩算法,如LZO。每轮要被传输的内存页面首先通过该算法在源主机上迅速批量压缩,然后在目的主机上准确恢复。实验
表明,该方法可以显著减少27.1%的停机时间,32%的总迁移时间和68.8%的传输数据总量。

    文献[8]将Delta 压缩应用于预拷贝的内存页传输过程,即传输内存页面改变的部分而不是整个页面。因为虚拟机内存页是二进制形式的,可以通过对当前页面和修改前页面应用异或操作计算Delta 页,即该页面中被修改的部分。在目的端则对修改前页面和Delta 页应用异或操作得到当前页面。一般情况下,当页面被弄脏时只有小部分被改变,因此通过二进制RLE (run length encoding)压缩Delta 页。考虑到源端内存内容不断变化和保存页面的开销等问题,采用二路组相连缓存模式保存修改前的页面,并且使用较大的缓存以减少缓存振荡的发生。


3.1.2 基于脏页面预测的预拷贝算法
    在预拷贝算法中,如果虚拟机的内存页在迁移期间没有被改写,那么只需要将所有的内存页传输一次就可以保证源端与目的端内存的一致。而如果内存页的改写速率高于内存页的传输速率,那么不论迭代多少次都不能保证一致性,应该直接停机拷贝。在一般应用场景中,大部分的内存页面很少或者无需被改写,小部分内存页改写频繁。通常称后者的集合为虚拟机或操作系统的写工作集(writable working set,WWS)。确认虚拟机的写工作集可以更高效地完成内存迁移。而基于咱页面预测的预拷贝算法基本思想就是尽可能先传输无需被改写的部分页面,而使改写频繁的页面尽可能在后面阶段传输,以减少页面的重传次数。

    文献[3]对写工作集进行了研究,探究不同工作负载下的写工作集的规律。使用Xen 系统,在同一台虚拟机中运行不同程序,然后利用影子页表捕获被修改的内存页并统计数量。测试结果表明不同程序的写工作集有着明显的变化,例如程序eon 中被修改的内存页数量普遍较低,内存页的改写速率较低,写工作集所占比例较小。而程序gap 被修改的内存页数量一直较大,内存页的改写速率很高。尽管同一程序的写工作集曲线在不同时间变化较大,但是存在非常明显的规律性。总的来说,虚拟机动态迁移期间大部分内存页的改写速率会比较稳定。所以,在内存迁移时并不需要事先确定内存页所属程序,而只需统计之前一小段时间内的改写情况便可以比较准确的判断出内存页的改写速率。文献中提出rapid page dirtying 策略,周期性地查看当前轮的脏页面位图,只传输那些在前一轮迭代拷贝中弄脏而在扫描时还没有再次被弄脏的内存页面。Stunning Rogue Processes 策略限制每个进程发生写故障次数,达到写故障次数限制的进程进入等待队列。其本质是冻结写内存速度太快而不利于迁移的进程。以提高内存迁移的效率。


3.2 后拷贝
    后拷贝首先暂停源虚拟机,先传输处理器状态和关键的内核结构内存页到目标主机,然后在目标主机上启动虚拟机。剩余其他内存页将通过网络从源虚拟机中取回。当虚拟机在目的主机恢复运行,访问尚未传输过来的内存页面就会引起缺页异常,然后从源主机获得相应页面。主动推送是指目的主机上虚拟机运行的同时,源主机主动将内存页面传输到目的主机,能够尽快去除对源主机的剩余依赖。主动推送通常与按需取页一起应用于后拷贝迁移,在发生缺页异常之前主动传输页面,减少网络页面故障的发生。

    文献[9]将页面预取技术和动态内存气球驱动机制应用到后拷贝迁移中。要预测目的主机上虚拟机的内存页面访问位置是非常困难的,文中提出了一个冒泡算法。根据读取内存通常读取一大块的空间局部性原理,调整主动推送页面的顺序,使得缺页异常附近的页面被虚拟机访问之前传输到目的主机,减少了缺页异常的发生。在迁移过程中,有许多的空闲内存页面是不需要被传送的,这些空闲页面的量可大可小,如果能够避免传送这些页面是可以大幅提升迁移效率的。文中利用动态内存气球驱动机制将气球驱动机制自动化,使其周期性地从虚拟机回收空闲页面,减少迁移过程中空闲页面的传输,加快迁移过程。


3.3 日志跟踪重现

    基于日志重现的实时迁移是一种前面两种方法完全不同的迁移方式。它采用一种很巧妙的方式避开内存改动过快的局限。它的主要思想是:如果系统能够回放,那么系统中发生的事情就是确定的。对计算机而言,只需要捕获所有的终端输入,就可以确定所发生的事情。通过日志跟踪和重现技术同步虚拟机状态,并且通常情况下日志文件远小于内存脏页面,可以大大减少迁移过程过数据的传输。


    文献[10]采用检查点/恢复和跟踪重现技术实现快速透明的虚拟机动态迁移,基于全系统跟踪和重现系统ReVirt 提出了CR-TR Motion 迁移策略,其目的是为了减少需要传输的总数据,并巧妙地把原本需要传输的数据,利用目的主机上闲置的资源根据日志文件进行回放,使热迁移应用在WAN/MAN 下成为可能。CR-TR Motion 的基本策略是首先,源主机以些事拷贝的方式生成一个对虚拟机透明的检查点,并传输给目标主机。目标主机接收到检查点后源主机就以一定时间间隔不断发送日志文件,直到达到某终止条件。这些日志文件记录足够的信息(影响系统计算的非确定性事件,如外部输入)。此期间,源主机上的服务保持运行,目标主机则不断根据接收得到的日志文件进行基于检查点的回放。达到终止条件,源虚拟机停止运行,将剩余的日志文件拷贝到目的主机重现,接管源虚拟机提供服务。对于大多数负载而言,日志的增长速率是小于1MB/s 的,远小于网络传输速率。而且日志的回放速度是大于日志的增长速度的,因为在进程在普通执行过程当中会阻塞等待I/O 事件,而回放则会跳过HLT 指令造成的空闲等待时间。所以这一策略显然是可行的。如图5 所示是迁移过程:



图5 基于检查点/恢复和跟踪重现技术的动态迁移过程
    a.初始化。选择资源充足的目标主机,正确的选择会加速迁移并增进QoS。
    b.发送迁移请求。源主机A 发送迁移请求至目标主机B,并保证B 有足够的资源。
    c.源主机上做检查点。冻结源主机A,此时把系统状态以COW 的方式复制入一个写时复制的映像文件。然后源虚拟机正常运行。
    d.迭代传输日志文件。在源虚拟机A 运行的同时传输日志文件至目标主机B,期间产生的操作也记录到日志文件中。接下来的迭代,源主机A 传输上一轮迭代中产生的日志文件至目标主机B,在目标主机恢复检查点并不断回放接收到的日志文件。因为,日志文件的传输远远比生产速度快,所以总会收敛的。
    e.等待阶段。在经历过若干此迭代之后,上一轮产生的日志文件大小小于了设定的某个阈值的时候(默认设定1KB),A 询问B 是否可以进入停机拷贝阶段,若B 回放速度不够快,比如B 上未使用的日志文件大小超过了设定的阈值,B会告知A 推迟停机拷贝阶段直到B 把日志回放完毕或达到指定阈值。若B 的回放速度足够快,这一阶段可以跳过不进行。
    f.停机拷贝。停止源虚拟机运行,将剩余的日志文件拷贝到目的主机重现,此时目标虚拟机与源虚拟机基本一致,此时若迁移失败,源虚拟机仍可以恢复工作。
    g.确认。目标主机已经成功同步了运行状态并告知源虚拟机。进行网络重定向等工作,这个时候源虚拟机A 才真正停止工作,可以销毁。
    h.服务接管。目标虚拟机接管源虚拟机提供服务。

    日志重现和预拷贝实现的机制比较类似,区别在于传输的内容不是内存页面而是日志文件,所以对带宽的要求并不那么苛刻,总迁移时间和停机明显缩短,对虚拟机中的应用影响较小,并且对写密集应用有更好的适用性。在实际应用中需要对NAS 的访问机制稍加修改,并需要优化Revirt 系统的检查点功能,以适应本方法的特殊要求。


4.虚拟机动态迁移发展方向
    随着虚拟化技术越来越成熟,虚拟机迁移在实际应用中的作用也越来越广泛。通过虚拟机迁移可以实现服务的高可用性、负载均衡、弹性部署以及提高资源利用率的作用。目前虚拟机迁移的研究和发展方向主要集中在以下几个方面。
    1.云计算中虚拟机迁移的应用。云计算近年来成为IT 领域一大发展热点,云计算是一种基于互联网的大众参与的计算模式。计算资源包括计算能力、存储能力、交互能力等。这些资源都是以服务的方式提供给用户。虚拟化已经成为云计算等各种新型计算模式的基础。在需求的驱使下,数据中心的虚拟机数量越来越多,对虚拟机集群的资源调度提出了新的挑战。由于云计算中计算资源的多样性,分布式存储问题,和资源调度中的能耗问题等等。虚拟机在线迁移在云计算中的运用有了更多新的问题。也必将成为今后研究的重点方向。
    2.基于广域网(WAN)的虚拟机迁移。虚拟机在线迁移能够透明地实现远程数据中心间的资源调度,异地服务迁移,越来越多的实际运用场景要求在广域网中迁移虚拟机。在WAN 环境下,虚拟机迁移面临的问题包括以下几个方面:a) 源、目的节点间的带宽无法控制,可能增大迁移延迟。b) 虚拟机的文件系统往往不能够通过共享存储来解决,需要考虑大数据量的磁盘迁移。c) 虚拟机在不同的网络间迁移后需要改变IP 地址,可能中断原有会话,无法实现透明迁移。

    3.虚拟机磁盘迁移。在很多应用场景中,待迁移的虚拟机所在环境可能不存在网络共享存储设备。磁盘作为虚拟机运行所需的持久化状态的封装体,也必须同时被迁移,因为磁盘迁移往往数据量非常大,对整个迁移过程的效率影响十分关键。因此基于虚拟机磁盘的迁移也逐渐成为虚拟机迁移的研究热点。


参考文献
[1] Hirofuchi, Takahiro, et al. "A live storage migration mechanism over wan and its performance evaluation." Proceedings of the 3rd international workshop on Virtualization technologies in distributed computing. ACM, 2009.
[2] Bradford, Robert, et al. "Live wide-area migration of virtual machines including local persistent state." Proceedings of the 3rd international conference on Virtual
execution environments. ACM, 2007.
[3]Clark, Christopher, et al. "Live migration of virtual machines." Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2. USENIX Association, 2005.
[4]Sundararaj, Ananth I., Ashish Gupta, and Peter A. Dinda. "Increasing application performance in virtual environments through run-time inference and adaptation." High
Performance Distributed Computing, 2005. HPDC-14. Proceedings. 14th IEEE International Symposium on. IEEE, 2005.
[5]Wood, Timothy, et al. "CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines." ACM SIGPLAN Notices. Vol. 46. No. 7. ACM, 2011.
[6]温抿雄, and 李沁. "虚拟机迁移系统网络连接重定向技术倡." 计算机应用研究26.5(2009).
[7]Jin, Hai, et al. "Live virtual machine migration with adaptive, memory compression." Cluster Computing and Workshops, 2009. CLUSTER'09. IEEE International Conference on. IEEE, 2009.
[8]Svärd, Petter, et al. "Evaluation of delta compression techniques for efficient live migration of large virtual machines." ACM Sigplan Notices 46.7 (2011): 111-120.
[9]Hines, Michael R., and Kartik Gopalan. "Post-copy based live virtual machine migration using adaptive pre-paging and dynamic self-ballooning." Proceedings of the
2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments.ACM, 2009.
[10]Liu, Haikun, et al. "Live migration of virtual machine based on full system trace and replay." Proceedings of the 18th ACM international symposium on High performance distributed computing. ACM, 2009.


你可能感兴趣的:(虚拟化,虚拟机,迁移,xen,虚拟化技术,分布式存储)