虚拟机实时迁移技术 (Live Migration) 崔勇 2012.12
提纲 实时迁移的概念、作用及分类 实时迁移算法 实时迁移研究点 下一步工作展望 参考文献
Live Migration的概念 虚拟机实时迁移/动态迁移(Live Migration),作为系统虚拟化的一项关键技术,是将物理服务器上正在运行的一台或多台VM在线迁移到另一台物理服务器上。迁移过程中VM对外正常提供服务,整个迁移过程对VM用户透明。
Live Migration的概念 实时迁移的内容包括:虚拟机运行状态(CPU状态、内存镜像、设备状态、网络连接)及外存数据.
Live Migration的作用 负载均衡:将高负载物理服务器上的虚拟机动态迁移到低负载的物理服务器上,保证数据中心资源合理分配。 在线维护:在对物理服务器进行维护前,实时将上面运行的虚拟机迁移到其他服务器上,不会因设备维护导致服务中断。 能源管理:将多个利用率不高的物理服务器上的虚拟机在线整合到少量几台物理服务器上,降低能耗。 。。。
Live Migration的分类 按照虚拟机存储的迁移需求可划分为基于共享存储的实时迁移和全系统实时迁移。 基于共享存储的实时迁移:物理服务器之间采用SAN或NAS之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机运行状态的迁移。
Live Migration的分类 全系统迁移:物理服务器之间没有采用共享外存设备,外存数据保存在物理服务器本地;或者需要将虚拟机迁移到另一个数据中心。实时迁移中既要迁移运行状态,又要迁移存储数据。
Live Migration的分类 按照虚拟机迁移的网络环境可划分为基于LAN的实时迁移和基于WAN的实时迁移。 基于WAN的实时迁移:迁移范围在两个数据中心间的WAN链路上,网络传输带宽受限。
Live Migration的分类 按照虚拟机迁移的规模可划分为单虚拟机实时迁移和虚拟机集实时迁移。 单虚拟机实时迁移:一个迁移过程中只迁移独立的一个虚拟机。 虚拟机集实时迁移:一个迁移过程中同时迁移多台虚拟机,且这些虚拟机可能是完成同一任务的一个集群。
Live Migration算法 三种基本算法 Pre-copy(主流、学术、商用) Post-copy(学术) 基于日志系统的迁移(学术)
Live Migration算法 Pre-copy 核心机制:迁移开始之后,源主机 VM 仍在运行,目的主机 VM 尚未启动。迁移通过一个循环,将源主机 VM 的内存数据发送至目的主机 VM。循环第一轮发送所有内存页数据,接下来的每一轮循环发送上一轮预拷贝过程中被 VM 写过的脏页内存 dirty pages。直到一定条件(状态基本同步或规定循环次数),预拷贝循环结束,进入停机拷贝阶段,源主机被挂起,不再有内存更新,然后将剩余的脏页和CPU等运行状态传输至目的主机 VM。
Live Migration算法 Post-copy 核心机制:与Pre-copy相反,先将CPU执行状态发送到目标物理机,目标VM立即启动运行并替换源VM提供服务(源VM不停机),然后在目标VM运行过程中,遇到所缺内存页面,再向源主机索取。Post-copy避免了脏页率对迁移过程的影响,因此两个VM切换时间短,但是总迁移时间比较长。
Live Migration算法 基于日志系统的迁移 核心机制:利用日志系统的checkpointing/recovery和trace/reply技术,在迁移时首先获得一个VM当前运行状态的checkpoint文件,并将该文件传给目标VM,目标VM立即运行。在此传输过程中源VM所做的操作都记录成log文件。然后跟Pre-copy一样,开始一个反复重传的过程,直到两边状态同步。不同的是,这里传输的是log文件,状态同步就是对log进行 replay。
Live Migration研究点 Live Migration性能指标 Total Migration Time(TMT):总迁移时间,从源VM开始传输数据,到目标VM启动的总时间。 Downtime:停机时间,VM运行状态从源主机切换到目标主机的短暂停机时间。 Total Data Transferred(TDT):总迁移数据量,迁移过程中传输的数据量。 Degradation Level of Service(DLS):服务降级率,迁移过程对VM所提供服务的影响。
Live Migration研究点 单虚拟机Live Migration算法优化,降低TMT、Downtime和TDT 内存更新频繁的VM的迁移问题。脏页率高的VM迁移时Downtime时间长。 WAN中迁移VM的带宽限制问题。WAN的有限带宽使得TMT时间长。 VM迁移占用系统资源,导致服务质量下降的问题。 全系统实时迁移时VM镜像的迁移问题。较大数据量的VM镜像迁移会导致TMT时间长,特别在WAN中。
下一步工作 从上述的研究点出发,找出解决问题的创新方法。 利用开源平台KVM搭建实验环境,在KVM中实现自己的方法,进行对比实验。
参考文献 [1]C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt,and A. Warfield. Live migration of virtual machines. In NSDI ’05, pages 273–286. ACM, May 2005. [2]M. R. Hines and K. Gopalan. Post-copy based live virtual machine migration using adaptive pre-paging and dynamic self-ballooning. In VEE ’09, pages 51–60. ACM, 2009. [3]W. Li, J. Tordsson, and E. Elmroth. Modelling for dynamic cloud scheduling via migration of virtual machines. 2011. Accepted. [4]P. Liu, Z. Yang, X. Song, Y. Zhou, H. Chen, and B. Zang. Heterogeneous live migration of virtual machines. Technical report, Parallel Processing Institute, Fudan University, 2009. [5]F. Travostino. Seamless live migration of virtual machines over the MAN/WAN. In SC ’06, page 290. ACM, November 2006. [6]T. Wood, K. K. Ramakrishnan, P. Shenoy, and J. van der Merwe.Cloudnet: dynamic pooling of cloud resources by live WAN migration of virtual machines. In VEE ’11, pages 121–132. ACM, 2011. [7]Hai Jin, Li Deng, Song Wu, Xuanhua Shi, Xiaodong Pan. “LiveVirtual Machine Migration with Adaptive Memory Compression”, in Cluster Computing and Workshops, CLUSTER 2009. [8] Yanqing Ma, Hongbo Wang, Jiankang Dong, Yangyang li, Shiduan Cheng. “ME2: Efficient Live Migration of Virtual Machine With Memory Exploration and Encoding, ”in 2012 Proceedings of IEEE International Conference on Cluster Computing,2012. [9] K. Ye, X. Jiang, D. Huang, J. Chen, and B. Wang, “Live migration of multiple virtual machines with resource reservation in cloud computing environments,” in 2011 IEEE International Conference on Cloud Computing (CLOUD),2011, pp. 267–274.
Thank you!