虚拟机迁移技术漫谈
云计算中的虚拟机迁移技术研究

云计算中的虚拟机迁移技术研究一、引言虚拟化技术的发展使得云计算逐渐成为了信息技术的核心。
虚拟化技术能够将物理资源抽象化成虚拟资源,从而为云计算提供了基础。
虚拟机是云计算中的一种核心技术,它将物理机变成了多个虚拟机,使得多个租户共享机器的同时,互不干扰。
然而,虚拟机迁移是云计算中的一个重要问题,涉及到如何在具有随时随地访问的云中移动虚拟机的运行状态,如何保证虚拟机在迁移时不会出现中断或数据丢失以及如何在保证迁移过程中能够提供高质量服务。
本文主要探讨在云计算中的虚拟机迁移技术研究,从迁移的流程、迁移时的安全与可靠性以及虚拟机迁移技术的优化方面进行论述。
二、虚拟机迁移的流程虚拟机迁移指的是将运行在一台物理机上的虚拟机迁移到另一台物理机上的一种操作。
虚拟机迁移可以实现在不影响虚拟机运行的情况下,让虚拟机更均衡地分布在不同的物理机上,以达到资源最优的目的,同时可以避免物理机抱死等情况影响整个云计算中其他虚拟机的运行。
虚拟机迁移的流程如下:1. 源物理机选择合适的目标物理机在虚拟机迁移之前,需要先选择合适的目标物理机。
一般来说,物理机需要满足更高的计算能力和存储能力,来保证迁移后虚拟机的正常运行。
但是为了保证云计算的负载均衡,也需要选择相对空闲的物理机作为目标物理机。
2. 迁移准备工作在虚拟机迁移之前,需要先确定虚拟机的运行状态,如虚拟机的内存、CPU、磁盘等资源是否可以被迁移。
当然,在网络方面,也需要保证源物理机和目标物理机之间的网络连接畅通。
3. 虚拟机迁移操作在确定迁移准备工作完成后,进行虚拟机的迁移操作。
虚拟机的迁移可以基于实时镜像备份、内存迁移操作或磁盘映像等多种方式。
4. 迁移后的后续工作虚拟机完成迁移后,需要重新分配资源,并重新启动虚拟机。
三、虚拟机迁移的安全性与可靠性虚拟机迁移作为云计算中的一项核心技术,需要保证迁移过程中的安全性与可靠性。
虚拟机的迁移操作可能会导致虚拟机运行的中断或数据的丢失,对云计算的运营造成严重影响,因此,对虚拟机迁移的安全性和可靠性进行保障是云计算运营过程中的重要工作。
云计算中虚拟机迁移技术的实现与优化方法研究

云计算中虚拟机迁移技术的实现与优化方法研究随着云计算技术的发展,虚拟化技术作为其重要基础,让资源的共享与利用变得更加高效便捷。
而云计算环境中虚拟机迁移技术的实现与优化方法则是保障系统高可用性以及资源利用率的关键。
本文将探讨云计算中虚拟机迁移技术的实现原理和一些优化方法。
首先,我们来了解一下虚拟机迁移技术的基本原理。
虚拟机迁移技术是指将运行在一台物理主机上的虚拟机实例迁移到另一台物理主机上,并在迁移过程中保证虚拟机的连续性、可用性和性能。
虚拟机迁移技术的实现主要涉及到三个关键问题:虚拟机状态迁移、数据迁移和网络迁移。
虚拟机状态迁移是指将虚拟机的运行状态从源主机迁移到目标主机。
传统的虚拟机状态迁移方法有预复制迁移和内存页面迁移。
预复制迁移是指在迁移过程中将虚拟机的内存数据完全复制到目标主机,以保证迁移过程的连续性。
而内存页面迁移则仅迁移发生变化的内存页面,以减少迁移过程中的带宽和延迟。
对于实时性要求较高的应用场景,可以采用混合迁移方法,将预复制迁移和内存页面迁移相结合,以平衡迁移过程的性能与实时性。
数据迁移是指将虚拟机的磁盘数据从源主机迁移到目标主机。
对于大规模的数据迁移,采用基于传统网络的方法可能会面临带宽不足、延迟高以及网络拥塞等问题。
为此,可以采用增量数据迁移和基于存储区域网络(SAN)的数据迁移等优化方法。
增量数据迁移是指仅传输发生变化的虚拟机磁盘数据,以减少迁移的数据量。
而基于SAN的数据迁移则可以通过充分利用高速存储网络提高迁移的效率。
网络迁移是指将虚拟机的网络连接从源主机迁移到目标主机。
传统的网络迁移方法存在网络不连续、网络地址变更等问题。
为减少网络中断时间和数据丢失,可以采用封装网络迁移和二层网络迁移等方法。
封装网络迁移是指在迁移过程中将迁移数据封装到UDP或TCP包中,以减少迁移过程中的网络中断时间。
而二层网络迁移则是通过在网络层模拟源主机的网络环境,以提高迁移的连续性和一致性。
除了虚拟机迁移技术的实现原理外,还有一些优化方法可以提升虚拟机迁移的效率和性能。
高效的云计算虚拟机迁移技术研究

高效的云计算虚拟机迁移技术研究云计算技术的快速发展使得虚拟机迁移技术成为了提高云计算系统性能和资源利用率的重要手段之一。
虚拟机迁移能够在不间断地迁移虚拟机的同时,为用户提供高可用性和灵活性。
本文将对高效的云计算虚拟机迁移技术进行深入研究。
一、虚拟机迁移技术的背景与意义随着云计算的快速普及和应用,云平台上的虚拟机数量快速增长。
为了提高虚拟机的性能和资源利用率,虚拟机迁移技术应运而生。
虚拟机迁移技术使得虚拟机可以在不同的物理主机之间灵活迁移,从而实现负载均衡、提高整体系统的性能和可用性。
虚拟机迁移技术的意义在于能够实现以下几个方面的优化:1. 提高资源利用率:通过虚拟机迁移可以充分利用物理主机的计算和存储资源,避免资源浪费。
2. 实现负载均衡:通过将负载分散到不同的物理主机上,可以提高系统的稳定性和吞吐量,提升用户体验。
3. 实现热迁移:在不中断服务的情况下,将虚拟机从一台物理主机迁移到另一台物理主机,实现高可用性和容错性。
4. 节约能源消耗:通过动态调整虚拟机所在的物理主机,可以实现能源的有效利用,降低数据中心的能源成本。
二、虚拟机迁移技术的研究方向与挑战1. 迁移策略:迁移策略是保证虚拟机迁移效率和性能的重要因素。
目前广泛应用的迁移策略包括预复制、增量迁移和内存共享等。
未来研究可以进一步优化迁移策略,提高虚拟机迁移的效率和性能。
2. 网络带宽:虚拟机迁移需要占用网络带宽,而网络带宽是有限的资源。
如何在保证迁移效果的前提下,优化网络资源利用,是一个重要的研究方向。
3. 迁移时间:虚拟机迁移需要一定的时间来完成数据传输和状态同步。
研究如何减少迁移时间,减少用户感知的迁移延迟,将是未来的挑战之一。
4. 跨地域迁移:在大规模分布式云环境下,远程虚拟机迁移成为研究的热点。
如何实现高效的跨地域迁移,保证数据的安全性和一致性,是当前亟待解决的问题。
三、高效的虚拟机迁移技术实践1. 数据预处理:在进行虚拟机迁移之前,需要对虚拟机的数据进行预处理,包括数据压缩和去重。
云计算环境下的虚拟机迁移技术综述

云计算环境下的虚拟机迁移技术综述随着云计算的快速发展,虚拟化技术得到了广泛应用,而虚拟机迁移作为云计算环境中的重要技术之一,对于实现云计算资源的灵活调度和资源利用率的优化起着关键作用。
本文将综述云计算环境下的虚拟机迁移技术,探讨其原理、优势、挑战以及应用领域等方面。
一、虚拟机迁移技术的原理与分类虚拟机迁移技术是指将运行在一台物理主机上的虚拟机实例平滑地迁移到另一台物理主机上,迁移过程中可以保持虚拟机的运行状态。
虚拟机迁移技术可以分为基于内存迁移和基于磁盘迁移两大类。
1. 基于内存迁移的虚拟机迁移技术基于内存迁移的虚拟机迁移技术将虚拟机的运行状态、内存内容等迁移到目标物理主机上,从而实现虚拟机的无缝迁移。
这种迁移方式对网络和存储的依赖相对较小,但迁移过程中可能会引起一定的延迟,影响用户体验。
2. 基于磁盘迁移的虚拟机迁移技术基于磁盘迁移的虚拟机迁移技术将虚拟机的磁盘镜像迁移到目标物理主机上,然后启动新的虚拟机实例。
这种迁移方式需要更高的网络和存储带宽,但迁移过程对于虚拟机的性能影响较小。
二、云计算环境中虚拟机迁移技术的优势云计算环境下的虚拟机迁移技术具有多方面的优势,包括:1. 资源利用率的优化虚拟机迁移可以根据实时的资源需求情况,将虚拟机迁移到资源利用率更高的物理主机上,从而达到优化资源利用的目的。
2. 动态负载均衡通过虚拟机迁移技术,可以实现对云计算环境中各个物理主机的负载均衡,从而避免某些物理主机负载过高,影响用户的服务质量。
3. 实现高可用性和容错性当某个物理主机发生故障或需要维护时,虚拟机迁移技术可以将虚拟机平滑地迁移到其他正常工作的物理主机上,实现高可用性和容错性。
4. 节省能源消耗通过动态调整虚拟机所在的物理主机,可以实现对闲置资源的关闭,从而达到节省能源消耗的目的,提高整体能源利用效率。
三、云计算环境中虚拟机迁移技术面临的挑战虽然虚拟机迁移技术在云计算环境中具有广泛的应用前景,但也面临着一些挑战。
移动云计算中虚拟机迁移技术研究

移动云计算中虚拟机迁移技术研究随着移动云计算技术的不断发展,虚拟化技术和云计算技术已经成为了现代信息技术领域中的重要内容。
在云计算领域,虚拟机是实现云计算和虚拟化技术的基础之一,可以有效地提高利用率和资源响应能力。
然而,随着云计算应用规模的不断扩大,虚拟机迁移技术成为了云计算系统优化的关键点,这也是我们所需要深入研究的内容。
一、虚拟机迁移技术的概念虚拟机迁移技术指的是一种在物理机之间实现虚拟机在线迁移的技术,可以通过将运行在一个物理机器上的虚拟机的状态完全传输到其他物理机上来实现。
虚拟机迁移技术来源于虚拟化技术,其核心在于实现虚拟机在物理机跨集群的迁移,保证高可靠性和高效率的同时又能在系统可用性上,保障用户与应用的正常进行。
二、虚拟机迁移技术的优点虚拟机迁移技术具有许多优点,其中包括:可以有效地避免单点故障,提高系统的可靠性;通过优化资源分配可以更好地满足系统的资源需要;可以实现应用程序的负载均衡,实现系统的高效稳定;在更换设备或进行维护时,可以提供更快的应急响应;可以轻松实现灾备备份,即备份与恢复。
这些优点大大提高了虚拟机的运行效率,为应用提供了良好的性能支持。
三、虚拟机迁移技术的实现方法虚拟机迁移技术是实现云计算的关键技术之一。
实现虚拟机迁移技术的方式有多种,主要包括基于存储迁移的方法和基于快照迁移的方法。
这两种方法都是可以实现虚拟机在线迁移的方法,具体区别可以从以下几个方面进行比较:1. 迁移时间:基于存储迁移的方法,迁移时间比快照迁移长。
2. 迁移速度:基于快照迁移的方法,迁移速度比基于存储迁移的方法快。
3. 数据丢失:基于快照迁移的方法,可能会有一定的数据丢失。
基于存储迁移的方法,不会有数据丢失的问题。
4. 存储需求:基于快照迁移的方法需要更多的存储空间。
基于存储迁移的方法是利用虚拟机的存储技术进行虚拟机迁移。
主要思路是将虚拟机磁盘及状态信息从源主机发送到目标主机。
这种方法迁移的时间比快照迁移要长,并且需要更多的网络带宽和存储资源,但是可以实现无数据丢失、测量简单等优点。
云计算平台上的虚拟机迁移技术研究

云计算平台上的虚拟机迁移技术研究随着云计算技术的不断发展和普及,越来越多的企业和个人选择将应用程序和数据存储在云上。
在云计算平台上,虚拟机迁移技术被广泛应用,以提高资源利用率、提升系统的可靠性和可用性。
虚拟机迁移是指将运行在一台物理主机上的虚拟机实例无缝转移到另一台物理主机上的过程。
这种技术可以实现虚拟机的负载均衡、故障恢复、热升级、维护等目标。
在实际应用中,如何高效地进行虚拟机迁移,成为了一个挑战。
首先,虚拟机迁移的核心问题是如何在减少迁移时间的同时,最小化对用户应用的影响。
迁移时间过长会导致系统停机时间过长,影响用户体验。
为了减少迁移时间,研究人员提出了多种优化方法。
一种优化方法是增量迁移技术。
在虚拟机迁移过程中,仅传输虚拟机更改的部分,而不是整个虚拟机的镜像文件。
这样可以大幅减少迁移所需的网络带宽,提高迁移效率。
此外,研究人员还提出了压缩技术,通过对虚拟机数据进行压缩,减小迁移数据量,进一步加快迁移速度。
另一种优化方法是预复制技术。
在虚拟机迁移之前,先将虚拟机的内存状态复制到目标物理主机上,再进行增量迁移。
这样可以将迁移过程中的内存传输量减至最小,大大提高迁移速度。
为了保持源和目标物理主机之间的一致性,研究人员还提出了增量快照技术,用于在迁移过程中实时复制内存状态的增量变化。
除了迁移时间之外,虚拟机迁移还要考虑对用户应用的影响。
为了减少用户应用的中断时间,研究人员提出了基于预复制技术的迁移方法。
在这种方法中,虚拟机在迁移前会有一个预复制阶段,将虚拟机的内存状态和应用程序的运行状态复制到目标物理主机上。
在迁移过程中,虚拟机可以继续运行,用户无需感知到迁移过程。
虚拟机迁移的另一个重要问题是如何选择合适的迁移目标。
在云计算环境中,物理主机的负载情况是时刻在变化的。
为了实现负载均衡,研究人员提出了多种迁移策略。
一种常用的迁移策略是基于负载预测的迁移策略。
通过对物理主机的负载情况进行监测和预测,选择合适的目标主机进行迁移。
云计算中的虚拟机迁移技术研究

云计算中的虚拟机迁移技术研究云计算是当今互联网领域的热点技术,它不仅提供了高效、弹性和可靠的资源共享方式,还为企业和个人用户提供了灵活、安全、低成本的服务。
虚拟机迁移技术作为云计算中的重要组成部分,在提高资源利用率和灵活性方面起着举足轻重的作用。
本文将介绍云计算中虚拟机迁移技术的概念、分类、原理以及应用场景。
一、概念虚拟机迁移是指将正在运行的虚拟机实例从一台物理主机迁移到另一台物理主机的过程。
通过虚拟机迁移技术,用户可以在不中断服务的情况下实现资源的动态调度和分配,提高系统的灵活性和可用性。
二、分类根据迁移方式的不同,虚拟机迁移技术可分为两种主要类型:基于内存的迁移和基于磁盘的迁移。
1. 基于内存的迁移基于内存的迁移是指将虚拟机运行所需的内存内容和状态从源主机迁移到目标主机。
该方法可以极大地减少迁移过程对虚拟机的影响,减少迁移时间,但需要保证源主机和目标主机有足够的内存容量来支持迁移。
2. 基于磁盘的迁移基于磁盘的迁移是指将虚拟机的磁盘镜像文件从源主机传输到目标主机,并在目标主机上重建虚拟机。
该方法相对较慢,但可以在目标主机上利用磁盘镜像文件精确重建虚拟机的环境。
三、原理虚拟机迁移技术的实现主要依赖于虚拟化技术和网络技术。
1. 虚拟化技术虚拟化技术通过在物理主机上运行虚拟机监视器(Hypervisor),将物理主机资源虚拟化为多个逻辑实例。
通过虚拟机监视器的介入,虚拟机的内存、CPU、磁盘等资源可以被动态分配和管理,实现虚拟机的迁移。
2. 网络技术网络技术在虚拟机迁移中起到了承载和传输虚拟机数据的重要作用。
迁移过程中,源主机和目标主机之间需要建立连接,传输虚拟机的内存、磁盘和网络状态,确保迁移过程的数据的完整性和一致性。
四、应用场景虚拟机迁移技术在云计算中有广泛的应用场景,以下列举几个典型的应用场景。
1. 负载均衡通过虚拟机迁移技术,系统可以根据当前的资源占用情况,在不同的物理主机上动态调度和分配虚拟机实例,实现负载均衡的效果。
云计算中的虚拟机迁移技术研究

云计算中的虚拟机迁移技术研究云计算技术在当今信息化发展中扮演着越来越重要的角色,这种技术可以帮助企业、政府机构、科研单位等快速构建自己的信息系统。
由于云计算平台的灵活性能够很好地适应各种不同的应用需求,因此迁移虚拟机成为云计算运维的重要内容之一。
虚拟机迁移技术对于提升云计算平台的资源利用、系统稳定性、降低成本等方面具有重要意义,下面将对虚拟机迁移技术进行详细介绍和探讨。
一、虚拟机迁移的意义1、资源利用云计算平台使用的是虚拟化技术,其架构是由多个虚拟机组成的,而虚拟机的数量和资源配置会随着业务需求的不同而变化。
在这种情况下,如何确保虚拟机分配得当,在需要时迁移虚拟机可以极大地提升资源的利用效率。
2、系统稳定性一个系统的稳定性取决于其是否能够快速响应用户的请求,在云计算平台中,虚拟机迁移可以帮助系统对资源的使用进行动态平衡,减少由于负载不均衡带来的服务中断问题,提高系统的稳定性。
3、成本节省迁移虚拟机可以将已经运行的虚拟机从一台物理主机上移动到另一台物理主机上来保证服务的持续性,这不仅可以降低能源的消耗,减少管理费用,同时还可以帮助企业降低硬件成本。
二、虚拟机迁移技术的研究在云计算中,随着虚拟化技术的普及,伴随着虚拟机的快速迁移技术的发展。
由于不同类型的网络环境对迁移过程的影响,同时还受到各种因素如虚拟机数量、网络延迟、网络带宽等影响,因此如何实现虚拟机的快速迁移成为一个热门课题。
1、虚拟机热迁移技术虚拟机热迁移技术利用虚拟机的快照功能,在虚拟机运行时实现迁移。
可以在几毫秒内将正在运行的虚拟机移动到另一台物理主机上,将服务中断时间降到最低。
虚拟机热迁移需要保障迁移的虚拟机能够正常运行,同时保障网络的稳定有效流量传输,因此需要对网络带宽和负载进行调整,避免可能出现的瓶颈,从而保证虚拟机的正常运行。
2、虚拟机显式迁移技术虚拟机显式迁移技术是指在虚拟机关闭之后,将其磁盘、内存和CPU等信息迁移到另一台物理主机上,在新的物理主机上启动虚拟机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟机迁移技术漫谈如何在虚拟机和物理机以及虚拟机和虚拟机之间的迁移系统前言系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。
在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。
在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。
随着虚拟机技术的发展,系统的迁移更加灵活和多样化。
本系列文章全面介绍了虚拟机迁移的三种方式 P2V、V2V 和 V2P,及他们在内核虚拟机 KVM 上的实现方法,分成五个部分。
第一部分,介绍虚拟机迁移的各种方法和相应的迁移工具,并且着重分析 Linux 平台上开源的虚拟化工具 KVM 和XEN 实时迁移中的的内存预拷贝技术;第二部分介绍 KVM 虚拟机之间的 V2V 迁移技术,包括离线迁移和在线迁移;第三部分介绍基于 VMware 或 XEN 的虚拟机如何迁移到基于 KVM 的虚拟机;第四部分介绍物理机到虚拟机迁移 P2V 和虚拟机到物理机迁移 V2P 在 KVM 虚拟机上的实现;第五部分介绍和虚拟机迁移密切相关的虚拟机克隆、快照和备份技术。
回页首虚拟机迁移简介为什么要迁移服务器迁移服务器可以为用户节省管理资金、维护费用和升级费用。
以前的 x86 服务器,体积比较“庞大”;而现在的服务器,体积已经比以前小了许多,迁移技术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。
另外,虚拟机中的服务器有着统一的“虚拟硬件资源”,不像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID 卡,显卡不同)。
迁移后的服务器,不仅可以在一个统一的界面中进行管理,而且通过某些虚拟机软件,如 VMware 提供的高可用性工具,在这些服务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。
总之,迁移的优势在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。
虚拟机迁移的性能指标一个优秀的迁移工具,目标是最小化整体迁移的时间和停机时间,并且将迁移对于被迁移主机上运行服务的性能造成的影响降至最低。
当然,这几个因素互相影响,实施者需要根据迁移针对的应用的需求在其中进行衡量,选用合适的工具软件。
虚拟机迁移的性能指标包括以下三个方面:1.整体迁移时间:从源主机开始迁移到迁移结束的时间2.停机时间:迁移过程中,源主机、目的主机同时不可用的时间3.对应用程序的性能影响:迁移对于被迁移主机上运行服务性能的的影响程度。
回页首虚拟机迁移的分类及原理物理机到虚拟机的迁移(Physical- to-Virtual)P2V 指迁移物理服务器上的操作系统及其上的应用软件和数据到 VMM(Virtual Machine Monitor)管理的虚拟服务器中。
这种迁移方式,主要是使用各种工具软件,把物理服务器上的系统状态和数据“镜像”到 VMM 提供的虚拟机中,并且在虚拟机中“替换”物理服务器的存储硬件与网卡驱动程序。
只要在虚拟服务器中安装好相应的驱动程序并且设置与原来服务器相同的地址(如 TCP/IP 地址等),在重启虚拟机服务器后,虚拟服务器即可以替代物理服务器进行工作。
P2V 迁移方法∙手动迁移:手动完成所有迁移操作,需要对物理机系统和虚拟机环境非常了解。
i.关闭原有的物理机上的服务和操作系统,并且从其他媒质上启动一个新的系统。
比如从 LiveCD 上启动一个新的光盘系统。
大部分的发行版都会带有 LiveCD。
ii.把物理机系统的磁盘做成虚拟机镜像文件,如有多个磁盘则需要做多个镜像,并且拷贝镜像到虚拟主机上。
iii.为虚拟机创建虚拟设备,加载镜像文件iv.启动虚拟机,调整系统设置,并开启服务。
∙半自动迁移:利用专业工具辅助 P2V 的迁移,把某些手动环节进行自动化。
比如将物理机的磁盘数据转换成虚拟机格式,这一向是相当耗时的工作,你可以选择专业的工具来完成这个步骤。
这里有大量的工具可以使用,如 RedHat 的开源工具 virt-p2v,Microsoft Virtual ServerMigration Toolkit 等。
∙P2V 热迁移:迁移中避免宕机。
大部分 P2V 工具也有一个很大的限制:在整个迁移过程中,物理机不可用。
在运行关键任务的环境或有 SLA(服务水平协议)的地方,这种工具不可选。
幸运的是随着 P2V 技术的发展,VMware vCenter Converter 和 Microsoft Hyper-V 已经能够提供热迁移功能,避免宕机。
目前,P2V 热迁移仅在 Windows 物理服务器可用,未来将添加对 Linux 的支持。
虚拟机到虚拟机的迁移(Virtual-to- Virtual)V2V 迁移是在虚拟机之间移动操作系统和数据,照顾主机级别的差异和处理不同的虚拟硬件。
虚拟机从一个物理机上的 VMM 迁移到另一个物理机的 VMM,这两个 VMM 的类型可以相同,也可以不同。
如 VMware 迁移到 KVM, KVM 迁移到KVM。
可以通过多种方式将虚拟机从一个 VM Host 系统移动到另一个 VM Host 系统。
V2V 离线迁移离线迁移(offline migration):也叫做常规迁移、静态迁移。
在迁移之前将虚拟机暂停,如果共享存储,则只拷贝系统状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。
如果使用本地存储,则需要同时拷贝虚拟机镜像和状态到目的主机。
到这种方式的迁移过程需要显示的停止虚拟机的运行。
从用户角度看,有明确的一段服务不可用的时间。
这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。
V2V 在线迁移在线迁移(online migration):又称为实时迁移 (live migration)。
是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与离线迁移几乎完全一致。
不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。
迁移的前面阶段,服务在源主机运行,当迁移进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上继续运行。
对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。
在线迁移适用于对服务可用性要求很高的场景。
目前主流的在线迁移工具,如 VMware 的 VMotion,XEN 的 xenMotion,都要求物理机之间采用 SAN(storage area network), NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要考虑操作系统内存执行状态的迁移,从而获得较好的迁移性能。
另外,在某些没有使用共享存储的场合,可以使用存储块在线迁移技术来实现V2V 的虚拟机在线迁移。
相比较基于共享存储的在线迁移,数据块在线迁移的需要同时迁移虚拟机磁盘镜像和系统内存状态,迁移性能上打了折扣。
但是他使得在采用分散式本地存储的环境下,仍然能够利用迁移技术转移计算机环境,并且保证迁移过程中操作系统服务的可用性,扩展了虚拟机在线迁移的应用范围。
V2V 在线迁移技术消除了软硬件相关性,是进行软硬件系统升级,维护等管理操作的有力工具。
V2V 内存迁移技术对于 VM 的内存状态的迁移,XEN 和 KVM 都采用了主流的的预拷贝(pre-copy)的策略。
迁移开始之后,源主机 VM 仍在运行,目的主机 VM 尚未启动。
迁移通过一个循环,将源主机 VM 的内存数据发送至目的主机 VM。
循环第一轮发送所有内存页数据,接下来的每一轮循环发送上一轮预拷贝过程中被 VM 写过的脏页内存 dirty pages。
直到时机成熟,预拷贝循环结束,进入停机拷贝阶段,源主机被挂起,不再有内存更新。
最后一轮循环中的脏页被传输至目的主机 VM。
预拷贝机制极大的减少了停机拷贝阶段需要传输的内存数据量,从而将停机时间大大缩小。
然而,对于更新速度非常快的内存部分,每次循环过程都会变脏,需要重复pre-copy,同时也导致循环次数非常多,迁移的时间变长。
针对这种情况,KVM 虚拟机建立了三个原则:集中原则,一个循环内的 dirty pages 小于等于 50;不扩散原则,一个循环内传输的 dirty pages 少于新产生的;有限循环原则,循环次数必须少于 30。
在实现上,就是采取了以下措施:∙有限循环:循环次数和效果受到控制,对每轮 pre-copy 的效果进行计算,若 pre-copy 对于减少不一致内存数量的效果不显著,或者循环次数超过了上限,循环将中止,进入停机拷贝阶段。
∙在被迁移 VM 的内核设置一个内存访问的监控模块。
在内存 pre-copy 过程中,VM 的一个进程在一个被调度运行的期间,被限制最多执行 40 次内存写操作。
这个措施直接限制了 pre-copy 过程中内存变脏的速度,其代价是对 VM 上的进程运行进行了一定的限制。
KVM 的预拷贝在线迁移过程详解:1.系统验证目标服务器的存储器和网络设置是否正确,并预保留目标服务器虚拟机的资源。
图 1. 源服务器和目标服务器简图2.当虚拟机还在源服务器上运转时,第一个循环内将全部内存镜像复制到目标服务器上。
在这个过程中,KVM 依然会监视内存的任何变化。
图 2. 内存镜像复制示意图3.以后的循环中,检查上一个循环中内存是否发生了变化。
假如发生了变化,那么 VMM 会将发生变化的内存页即 dirty pages 重新复制到目标服务器中,并覆盖掉先前的内存页。
在这个阶段,VMM 依然会继续监视内存的变化情况。
图 3. 进行有变化的内存复制4.VMM 会持续这样的内存复制循环。
随着循环次数的增加,所需要复制的dirty pages 就会明显减少,而复制所耗费的时间就会逐渐变短,那么内存就有可能没有足够的时间发生变化。
最后,当源服务器与目标服务器之间的差异达到一定标准时,内存复制操作才会结束,同时暂停源系统。
图 4. 所需复制的数据在减少5.在源系统和目标系统都停机的情况下,将最后一个循环的 dirty-pages和源系统设备的工作状态复制到目标服务器。
图 5. 状态信息的复制6.然后,将存储从源系统上解锁,并锁定在目标系统上。
启动目标服务器,并与存储资源和网络资源相连接。
图 6. 停止源服务器,启动目标服务器Virtual-to-Physical 虚拟机到物理机的迁移V2P 指把一个操作系统、应用程序和数据从一个虚拟机中迁移到物理机的主硬盘上,是 P2V 的逆操作。
它可以同时迁移虚拟机系统到一台或多台物理机上。