虚拟机迁移技术漫谈,第 2 部分

合集下载

虚拟机迁移技术手册

虚拟机迁移技术手册

虚拟机迁移技术手册随着云计算和虚拟化技术的快速发展,虚拟机迁移技术成为了云平台中不可或缺的一部分。

本手册将详细介绍虚拟机迁移技术的原理、分类以及常用的迁移方法,帮助读者了解并掌握这一重要的技术。

第一章:虚拟机迁移技术概述1.1 虚拟化技术的基本原理1.2 虚拟机迁移的定义和意义1.3 虚拟机迁移的分类第二章:虚拟机迁移技术的原理2.1 内存迁移技术- 传统内存迁移- 基于页面传输的内存迁移- 基于页面共享的内存迁移2.2 存储迁移技术- 块设备迁移- 文件系统迁移- 存储快照迁移2.3 网络迁移技术- 虚拟网络迁移- IP 迁移- MAC 地址迁移第三章:常用的虚拟机迁移方法3.1 预复制迁移- 基于全内存预复制的迁移方法- 基于增量复制的迁移方法3.2 停机迁移3.3 运行迁移- 迁移前暂停和迁移后恢复- 迁移过程中实时同步- 无状态迁移第四章:虚拟机迁移的优化与挑战4.1 虚拟机迁移的性能优化- 基于 QEMU/KVM 的迁移性能优化 - 基于 Xen 的迁移性能优化- 基于 VMware 的迁移性能优化- 数据完整性保护- 访问控制与认证- 迁移过程的安全性保护第五章:虚拟机迁移技术在云计算中的应用5.1 虚拟机负载均衡- 基于负载预测的负载均衡- 基于资源监控的负载均衡- 基于任务调度的负载均衡5.2 可用性与容错- 灾备性迁移- 容错性迁移5.3 数据中心的动态资源管理- 能源管理- 性能管理- 故障容错管理第六章:虚拟机迁移技术的挑战与未来发展6.2 迁移过程中的数据一致性保证6.3 多层次异构云平台的迁移问题6.4 虚拟机迁移技术在容器技术中的应用6.5 未来虚拟机迁移技术的研究方向结语:本手册从虚拟机迁移技术的基本概念和原理出发,详细介绍了虚拟机迁移的分类、常用方法以及技术挑战。

虚拟机迁移技术在云计算中扮演着重要的角色,对于提高云平台的可用性、灵活性和性能优化具有重要意义。

未来随着云计算和容器技术的发展,虚拟机迁移技术也将不断演进和创新,为云计算领域带来更多的可能性。

云计算环境下的虚拟机迁移技术综述

云计算环境下的虚拟机迁移技术综述

云计算环境下的虚拟机迁移技术综述随着云计算的快速发展,虚拟化技术得到了广泛应用,而虚拟机迁移作为云计算环境中的重要技术之一,对于实现云计算资源的灵活调度和资源利用率的优化起着关键作用。

本文将综述云计算环境下的虚拟机迁移技术,探讨其原理、优势、挑战以及应用领域等方面。

一、虚拟机迁移技术的原理与分类虚拟机迁移技术是指将运行在一台物理主机上的虚拟机实例平滑地迁移到另一台物理主机上,迁移过程中可以保持虚拟机的运行状态。

虚拟机迁移技术可以分为基于内存迁移和基于磁盘迁移两大类。

1. 基于内存迁移的虚拟机迁移技术基于内存迁移的虚拟机迁移技术将虚拟机的运行状态、内存内容等迁移到目标物理主机上,从而实现虚拟机的无缝迁移。

这种迁移方式对网络和存储的依赖相对较小,但迁移过程中可能会引起一定的延迟,影响用户体验。

2. 基于磁盘迁移的虚拟机迁移技术基于磁盘迁移的虚拟机迁移技术将虚拟机的磁盘镜像迁移到目标物理主机上,然后启动新的虚拟机实例。

这种迁移方式需要更高的网络和存储带宽,但迁移过程对于虚拟机的性能影响较小。

二、云计算环境中虚拟机迁移技术的优势云计算环境下的虚拟机迁移技术具有多方面的优势,包括:1. 资源利用率的优化虚拟机迁移可以根据实时的资源需求情况,将虚拟机迁移到资源利用率更高的物理主机上,从而达到优化资源利用的目的。

2. 动态负载均衡通过虚拟机迁移技术,可以实现对云计算环境中各个物理主机的负载均衡,从而避免某些物理主机负载过高,影响用户的服务质量。

3. 实现高可用性和容错性当某个物理主机发生故障或需要维护时,虚拟机迁移技术可以将虚拟机平滑地迁移到其他正常工作的物理主机上,实现高可用性和容错性。

4. 节省能源消耗通过动态调整虚拟机所在的物理主机,可以实现对闲置资源的关闭,从而达到节省能源消耗的目的,提高整体能源利用效率。

三、云计算环境中虚拟机迁移技术面临的挑战虽然虚拟机迁移技术在云计算环境中具有广泛的应用前景,但也面临着一些挑战。

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

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

云计算中的虚拟机迁移技术研究云计算是当今互联网领域的热点技术,它不仅提供了高效、弹性和可靠的资源共享方式,还为企业和个人用户提供了灵活、安全、低成本的服务。

虚拟机迁移技术作为云计算中的重要组成部分,在提高资源利用率和灵活性方面起着举足轻重的作用。

本文将介绍云计算中虚拟机迁移技术的概念、分类、原理以及应用场景。

一、概念虚拟机迁移是指将正在运行的虚拟机实例从一台物理主机迁移到另一台物理主机的过程。

通过虚拟机迁移技术,用户可以在不中断服务的情况下实现资源的动态调度和分配,提高系统的灵活性和可用性。

二、分类根据迁移方式的不同,虚拟机迁移技术可分为两种主要类型:基于内存的迁移和基于磁盘的迁移。

1. 基于内存的迁移基于内存的迁移是指将虚拟机运行所需的内存内容和状态从源主机迁移到目标主机。

该方法可以极大地减少迁移过程对虚拟机的影响,减少迁移时间,但需要保证源主机和目标主机有足够的内存容量来支持迁移。

2. 基于磁盘的迁移基于磁盘的迁移是指将虚拟机的磁盘镜像文件从源主机传输到目标主机,并在目标主机上重建虚拟机。

该方法相对较慢,但可以在目标主机上利用磁盘镜像文件精确重建虚拟机的环境。

三、原理虚拟机迁移技术的实现主要依赖于虚拟化技术和网络技术。

1. 虚拟化技术虚拟化技术通过在物理主机上运行虚拟机监视器(Hypervisor),将物理主机资源虚拟化为多个逻辑实例。

通过虚拟机监视器的介入,虚拟机的内存、CPU、磁盘等资源可以被动态分配和管理,实现虚拟机的迁移。

2. 网络技术网络技术在虚拟机迁移中起到了承载和传输虚拟机数据的重要作用。

迁移过程中,源主机和目标主机之间需要建立连接,传输虚拟机的内存、磁盘和网络状态,确保迁移过程的数据的完整性和一致性。

四、应用场景虚拟机迁移技术在云计算中有广泛的应用场景,以下列举几个典型的应用场景。

1. 负载均衡通过虚拟机迁移技术,系统可以根据当前的资源占用情况,在不同的物理主机上动态调度和分配虚拟机实例,实现负载均衡的效果。

虚拟机迁移技术漫谈

虚拟机迁移技术漫谈

虚拟机迁移技术漫谈如何在虚拟机和物理机以及虚拟机和虚拟机之间的迁移系统前言系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。

在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。

在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。

随着虚拟机技术的发展,系统的迁移更加灵活和多样化。

本系列文章全面介绍了虚拟机迁移的三种方式 P2V、V2V 和V2P,及他们在内核虚拟机 KVM 上的实现方法,分成五个部分。

第一部分,介绍虚拟机迁移的各种方法和相应的迁移工具,并且着重分析 Linux 平台上开源的虚拟化工具 KVM 和 XEN 实时迁移中的的内存预拷贝技术;第二部分介绍 KVM 虚拟机之间的 V2V 迁移技术,包括离线迁移和在线迁移;第三部分介绍基于 VMware 或 XEN 的虚拟机如何迁移到基于 KVM 的虚拟机;第四部分介绍物理机到虚拟机迁移 P2V 和虚拟机到物理机迁移 V2P 在 KVM 虚拟机上的实现;第五部分介绍和虚拟机迁移密切相关的虚拟机克隆、快照和备份技术。

回页首虚拟机迁移简介为什么要迁移服务器迁移服务器可以为用户节省管理资金、维护费用和升级费用。

以前的 x86 服务器,体积比较“庞大”;而现在的服务器,体积已经比以前小了许多,迁移技术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。

另外,虚拟机中的服务器有着统一的“虚拟硬件资源”,不像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID 卡,显卡不同)。

迁移后的服务器,不仅可以在一个统一的界面中进行管理,而且通过某些虚拟机软件,如 VMware 提供的高可用性工具,在这些服务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。

总之,迁移的优势在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。

虚拟机动态迁移的原理与应用(二)

虚拟机动态迁移的原理与应用(二)

虚拟机动态迁移的原理与应用虚拟化技术的快速发展,使得云计算成为当今信息技术领域的热门话题。

虚拟机作为云计算的基础,其可实现动态迁移的技术成为了研究的热点。

本文将介绍虚拟机动态迁移的原理与应用,以及它对现代信息技术的影响。

一、虚拟机动态迁移的原理虚拟机动态迁移是指将正在运行的虚拟机从一个物理主机迁移到另一个物理主机的过程。

其原理主要包括两个方面:迁移过程和状态迁移。

首先,迁移过程包括预复制和转发两个阶段。

预复制阶段,虚拟机的内存和CPU状态被复制到目标主机上,同时源主机继续运行,记录发生在源主机上的内存写操作。

转发阶段,源主机上发生的内存写操作被转发到目标主机,使得两个主机内存保持一致。

预复制和转发可以通过网络实现,从而实现虚拟机的无缝迁移。

其次,状态迁移是指将虚拟机的状态由源主机迁移到目标主机。

虚拟机的状态包括内存、硬盘、网络等资源的状态。

在预复制和转发的过程中,虚拟机的状态已经被复制到目标主机上,因此在状态迁移阶段,只需将源主机上的虚拟机状态切换到目标主机即可完成迁移过程。

二、虚拟机动态迁移的应用虚拟机动态迁移技术在现代信息技术中有着广泛的应用。

以下将从数据中心管理、资源利用率和系统可靠性三个方面介绍其应用。

首先,在数据中心管理方面,虚拟机动态迁移技术可以实现对虚拟机的灵活管理。

通过动态迁移,可以对表现出性能瓶颈的虚拟机进行负载均衡,提高整体的性能。

同时,当某一物理主机需要进行维护或升级时,可以将其上运行的虚拟机迁移到其他主机上,从而保证服务的连续性。

其次,在资源利用率方面,虚拟机动态迁移技术可以帮助提高资源利用率。

通过对虚拟机的动态迁移,可以根据负载情况将虚拟机从繁忙的主机迁移到空闲的主机上,实现资源的高效利用。

此外,虚拟机动态迁移还可以根据用户需求进行资源调度,提高资源利用率。

最后,在系统可靠性方面,虚拟机动态迁移技术可以提高系统的可用性和容错性。

当一台物理主机发生故障时,通过将其上运行的虚拟机迁移到其他主机上,可以避免服务中断,提高系统的容错能力。

虚拟机迁移技术漫谈,第 2 部分

虚拟机迁移技术漫谈,第 2 部分

KVM 虚拟机在物理主机之间迁移的实现如何从一台物理主机上迁移 KVM 虚拟机到另一台物理主机郭晋兵, 软件工程师, IBM丛彬彬, 软件工程师, IBM简介:虚拟机的迁移使资源配置更加灵活,尤其是在线迁移技术,提高了虚拟服务器的可用性和可靠性。

本文是虚拟机迁移技术漫谈系列的第二部分,详细介绍 KVM 虚拟机在物理主机之间的静态迁移和在线迁移特性,而且包括基于数据块的在线迁移实现。

发布日期: 2010 年 11 月 04 日级别:初级访问情况: 15504 次浏览评论: 3 (查看 | 添加评论 - 登录)平均分 (37个评分)为本文评分前言虚拟机的迁移技术为服务器的虚拟化提供简便的方法。

目前流行的虚拟化产品VMware,Xen,Hyper-V,KVM 都提供各自的迁移工具。

其中 Linux 平台上开源的虚拟化工具 KVM 发展迅速,基于 KVM 的虚拟机的迁移特性也日趋完善。

本文全面介绍 KVM 虚拟机在不同的应用环境下的静态迁移(离线迁移)和动态迁移(在线迁移),并且在最新发布的 Suse Linux Enterprise Edition 11 SP1 上分别演示如何应用 libvirt/virt-manager 图形化工具和基于命令行的 qemu-kvm 工具进行迁移操作。

V2V 虚拟机迁移的介绍V2V 虚拟机的迁移是指在 VMM(Virtual Machine Monitor)上运行的虚拟机系统,能够被转移到其他物理主机上的 VMM 上运行。

VMM 对硬件资源进行抽象和隔离,屏蔽了底层硬件细节。

而迁移技术的出现,使得操作系统能在不同的主机之间动态的转移,进一步解除软,硬件资源之间的相关性。

本系列的第一篇文章“虚拟机迁移技术漫谈”中,介绍了 V2V 迁移的三种方式,本文将更加详细的说明三种方式的不同和实现方法。

V2V 迁移方式的分类静态迁移静态迁移:也叫做常规迁移、离线迁移(Offline Migration)。

云计算环境下的虚拟机迁移技术分析

云计算环境下的虚拟机迁移技术分析

云计算环境下的虚拟机迁移技术分析随着云计算技术的发展,虚拟化技术也逐渐成为云计算环境下的一项重要基础技术。

而虚拟机迁移技术在云计算环境下也显得尤为重要。

本文将对云计算环境下的虚拟机迁移技术进行分析。

一、虚拟机迁移技术简介虚拟机迁移技术是指将运行中的虚拟机从一个物理主机迁移到另一个物理主机的技术。

其主要目的是在不影响服务可用性和用户体验的前提下,实现资源的平衡和利用。

虚拟机迁移技术在云计算环境下具有重要的意义。

云计算的核心是资源共享和动态调度,而虚拟机迁移技术则是实现云计算资源共享和动态调度的关键技术之一。

二、虚拟机迁移技术原理虚拟机迁移技术通常包括以下几个步骤:1. 迁移准备:在迁移前需要进行一系列准备工作,如将虚拟机的配置保存在共享存储中等。

2. 迁移前暂停虚拟机:为确保迁移的正确性,在迁移前需要先暂停虚拟机的运行。

3. 迁移虚拟机:将暂停的虚拟机从源主机迁移到目标主机,并在目标主机上恢复虚拟机的运行。

4. 完成迁移:在虚拟机恢复运行后,需要执行一些操作,如修改网络配置等,以保证虚拟机的正确性和可用性。

虚拟机迁移技术的实现需要借助于虚拟化技术。

一般来说,虚拟机迁移技术利用虚拟化技术将虚拟机的运行环境从物理机中隔离出来,从而实现迁移操作。

三、虚拟机迁移技术的应用虚拟机迁移技术在云计算环境下有很广泛的应用。

以下是几种常见的应用场景:1. 负载均衡:在云计算平台中,可能会有某些主机的资源使用率比较高,而另一些主机的资源相对空闲。

此时,可将运行在高负载主机上的虚拟机迁移到低负载主机上,从而实现负载的均衡。

2. 维护升级:在维护和升级物理主机时,可将运行在该主机上的虚拟机迁移到其他主机上,以避免对用户造成不必要的影响。

3. 故障转移:当某个物理主机发生故障时,可将运行在该主机上的虚拟机迁移到其他主机上,以保证服务的可用性。

4. 节能降耗:在运行环境中某些主机资源利用率比较低的情况下,可将运行在这些主机上的虚拟机迁移到其他主机上,从而实现节能和降低成本。

高效的云计算虚拟机迁移技术研究

高效的云计算虚拟机迁移技术研究

高效的云计算虚拟机迁移技术研究云计算技术的快速发展使得虚拟机迁移技术成为了提高云计算系统性能和资源利用率的重要手段之一。

虚拟机迁移能够在不间断地迁移虚拟机的同时,为用户提供高可用性和灵活性。

本文将对高效的云计算虚拟机迁移技术进行深入研究。

一、虚拟机迁移技术的背景与意义随着云计算的快速普及和应用,云平台上的虚拟机数量快速增长。

为了提高虚拟机的性能和资源利用率,虚拟机迁移技术应运而生。

虚拟机迁移技术使得虚拟机可以在不同的物理主机之间灵活迁移,从而实现负载均衡、提高整体系统的性能和可用性。

虚拟机迁移技术的意义在于能够实现以下几个方面的优化:1. 提高资源利用率:通过虚拟机迁移可以充分利用物理主机的计算和存储资源,避免资源浪费。

2. 实现负载均衡:通过将负载分散到不同的物理主机上,可以提高系统的稳定性和吞吐量,提升用户体验。

3. 实现热迁移:在不中断服务的情况下,将虚拟机从一台物理主机迁移到另一台物理主机,实现高可用性和容错性。

4. 节约能源消耗:通过动态调整虚拟机所在的物理主机,可以实现能源的有效利用,降低数据中心的能源成本。

二、虚拟机迁移技术的研究方向与挑战1. 迁移策略:迁移策略是保证虚拟机迁移效率和性能的重要因素。

目前广泛应用的迁移策略包括预复制、增量迁移和内存共享等。

未来研究可以进一步优化迁移策略,提高虚拟机迁移的效率和性能。

2. 网络带宽:虚拟机迁移需要占用网络带宽,而网络带宽是有限的资源。

如何在保证迁移效果的前提下,优化网络资源利用,是一个重要的研究方向。

3. 迁移时间:虚拟机迁移需要一定的时间来完成数据传输和状态同步。

研究如何减少迁移时间,减少用户感知的迁移延迟,将是未来的挑战之一。

4. 跨地域迁移:在大规模分布式云环境下,远程虚拟机迁移成为研究的热点。

如何实现高效的跨地域迁移,保证数据的安全性和一致性,是当前亟待解决的问题。

三、高效的虚拟机迁移技术实践1. 数据预处理:在进行虚拟机迁移之前,需要对虚拟机的数据进行预处理,包括数据压缩和去重。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KVM 虚拟机在物理主机之间迁移的实现如何从一台物理主机上迁移 KVM 虚拟机到另一台物理主机郭晋兵, 软件工程师, IBM丛彬彬, 软件工程师, IBM简介:虚拟机的迁移使资源配置更加灵活,尤其是在线迁移技术,提高了虚拟服务器的可用性和可靠性。

本文是虚拟机迁移技术漫谈系列的第二部分,详细介绍 KVM 虚拟机在物理主机之间的静态迁移和在线迁移特性,而且包括基于数据块的在线迁移实现。

发布日期: 2010 年 11 月 04 日级别:初级访问情况: 15504 次浏览评论: 3 (查看 | 添加评论 - 登录)平均分 (37个评分)为本文评分前言虚拟机的迁移技术为服务器的虚拟化提供简便的方法。

目前流行的虚拟化产品VMware,Xen,Hyper-V,KVM 都提供各自的迁移工具。

其中 Linux 平台上开源的虚拟化工具 KVM 发展迅速,基于 KVM 的虚拟机的迁移特性也日趋完善。

本文全面介绍 KVM 虚拟机在不同的应用环境下的静态迁移(离线迁移)和动态迁移(在线迁移),并且在最新发布的 Suse Linux Enterprise Edition 11 SP1 上分别演示如何应用 libvirt/virt-manager 图形化工具和基于命令行的 qemu-kvm 工具进行迁移操作。

V2V 虚拟机迁移的介绍V2V 虚拟机的迁移是指在 VMM(Virtual Machine Monitor)上运行的虚拟机系统,能够被转移到其他物理主机上的 VMM 上运行。

VMM 对硬件资源进行抽象和隔离,屏蔽了底层硬件细节。

而迁移技术的出现,使得操作系统能在不同的主机之间动态的转移,进一步解除软,硬件资源之间的相关性。

本系列的第一篇文章“虚拟机迁移技术漫谈”中,介绍了 V2V 迁移的三种方式,本文将更加详细的说明三种方式的不同和实现方法。

V2V 迁移方式的分类静态迁移静态迁移:也叫做常规迁移、离线迁移(Offline Migration)。

就是在虚拟机关机或暂停的情况下从一台物理机迁移到另一台物理机。

因为虚拟机的文件系统建立在虚拟机镜像上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上;如果需要保存虚拟机迁移之前的状态,在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。

这种方式的迁移过程需要显式的停止虚拟机的运行。

从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。

这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。

共享存储的动态迁移动态迁移(Live Migration):也叫在线迁移(Online Migration)。

就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。

该过程不会对最终用户造成明显的影响,从而使得管理员能够在不影响用户正常使用的情况下,对物理服务器进行离线维修或者升级。

与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。

迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。

对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。

动态迁移适用于对虚拟机服务可用性要求很高的场合。

目前主流的动态迁移工具,VMware 的 VMotion,Citrix 的XenMotion,他们都依赖于物理机之间采用 SAN (storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。

图 1. 共享存储的动态迁移示意图如图 1 中所示的动态迁移,为了缩短迁移时间和服务中断时间,源主机和目的主机共享了 SAN 存储。

这样,动态迁移只需要考虑虚拟机系统内存执行状态的迁移,从而获得较好的性能。

本地存储的动态迁移动态迁移基于共享存储设备,为的是加速迁移的过程,尽量减少宕机时间。

但是在某些情况下需要进行基于本地存储的虚拟机的动态迁移,这就需要存储块动态迁移技术,简称块迁移。

•比如某些服务器没有使用 SAN 存储,而且迁移的频率很小,虚拟机上的服务对迁移时间的要求不严格,则可以使用存储块动态迁移技术;另一方面,SAN 存储的价格比较高,尽管 SAN 存储能够提高迁移性能和系统的稳定性,对于中小企业仅仅为了加快迁移速度而配置昂贵的 SAN 存储,性价比不高。

•在集中式共享外部存储的环境下,基于共享存储的动态迁移技术无疑能够工作得很好。

但是,考虑到目前一些计算机集群并没有采用共享式外存,而是各自独立拥有本地外存的物理主机构成。

基于共享存储的迁移技术在这种场合下受到限制,虚拟机迁移到目的主机后,不能访问其原有的外存设备,或者需要源主机为其外存访问提供支持。

为了拓宽动态迁移技术的应用范围,有必要实现一个包括虚拟机外存迁移在内的全系统动态迁移方案。

使得在采用分散式本地存储的计算机集群环境下,仍然能够利用迁移技术转移虚拟机环境,并且保证迁移过程中虚拟机系统服务的可用性。

图 2. 本地存储的动态迁移示意图相比较基于共享存储的动态迁移,数据块动态迁移的需要同时迁移虚拟机磁盘镜像和虚拟机系统内存状态,延长了迁移时间,在迁移性能上打了折扣。

KVM 虚拟机的管理工具准确来说,KVM 仅仅是 Linux 内核的一个模块。

管理和创建完整的 KVM 虚拟机,需要更多的辅助工具。

•QEMU-KVM:在 Linux 系统中,首先我们可以用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装KVM 软件包,系统会在启动时自动加载模块。

加载了模块后,才能进一步通过其他工具创建虚拟机。

但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。

关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU。

QEMU 是一个强大的虚拟化软件,它可以虚拟不同的 CPU 构架。

比如说在 x86 的 CPU 上虚拟一个 Power 的 CPU,并利用它编译出可运行在 Power 上的程序。

KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具 QEMU-KVM。

所以 Linux 发行版中分为kernel 部分的KVM 内核模块和 QEMU-KVM 工具。

这就是 KVM 和 QEMU 的关系。

Libvirt、virsh、virt-manager:尽管 QEMU-KVM 工具可以创建和管理 KVM 虚拟机,RedHat 为 KVM 开发了更多的辅助工具,比如 libvirt、libguestfs 等。

原因是 QEMU 工具效率不高,不易于使用。

Libvirt 是一套提供了多种语言接口的 API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。

使用 libvirt,你只需要通过 libvirt 提供的函数连接到 KVM 或 Xen 宿主机,便可以用同样的命令控制不同的虚拟机了。

Libvirt 不仅提供了 API,还自带一套基于文本的管理虚拟机的命令—— virsh,你可以通过使用 virsh 命令来使用 libvirt 的全部功能。

但最终用户更渴望的是图形用户界面,这就是 virt-manager。

他是一套用 python 编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。

Virt-manager 就是利用 libvirt 的 API 实现的。

•以上这些就是 Linux 系统上 KVM 虚拟化技术的大致架构了。

本文正是演示了如何使用这些工具实现了 KVM 虚拟机的迁移操作。

本文的实验环境介绍本文中的 KVM 虚拟机软件基于 Novell 公司的Suse Linux Enterprise Server 11 Service Pack 1 发行版。

SLES11 SP1 发布于 2010 年 5 月 19 日,基于 Linux 内核 2.6.32.12,包含了 kvm-0.12.3,libvirt-0.7.6,virt-manager-0.8.4,全面支持 KVM 虚拟机。

本文中的物理服务器和外部共享存储配置如下表:表 1. 硬件配置物理主机硬件配置Host OS Host Name IP Address源主机Source Host Xeon(R) E5506 x 4 coreMEM: 10GBSLES11 SP1 vicorty3 192.168.0.73目的主机Destination Host Xeon(R) E5506 x 8 coreMEM: 18GBSLES11 SP1 victory4 192.168.0.74NFS Server Pentium(R) D x 2 coreMEM: 2GSLES11 SP1 server17 192.168.0.17创建 KVM 虚拟机迁移虚拟机之前,我们需要创建虚拟机。

创建虚拟机可以使用 QEMU-KVM 命令或者通过 virt-manager 图形化管理工具。

QEMU-KVM 创建虚拟机镜像文件:见本文的参考资源“KVM 虚拟机在IBM System x 上应用”。

•virt-manager 创建虚拟机:参考 virt-manager 帮助手册。

•KVM 虚拟机静态迁移静态迁移由于允许中断虚拟机的运行,所以相对简单。

首先在源主机上关闭虚拟机,然后移动虚拟机的存储镜像和配置文件到目的主机,最后在目的主机上启动虚拟机,恢复服务。

根据虚拟机镜像存储方式的不同,静态迁移的实现方法稍有不同。

虚拟机之间使用共享存储如果源主机和目的主机都能够访问虚拟机的镜像,则只需要迁移虚拟机配置文件。

比如在本例中的 SLES11 SP1 系统,virt-manager 管理的虚拟机配置文件在 /etc/libvirt/qemu/”your vm name.xml”。

拷贝 XML 配置文件到目的主机的相同目录后,进行适当的修改,比如:与源主机相关的文件或路径等。

无论你何时在 /etc/libvirt/qemu/ 中修改了虚拟机的 XML 文件,必须重新运行 define 命令,以激活新的虚拟机配置文件。

清单 1. 激活虚拟机配置文件# virsh define /etc/libvirt/qemu/”your vm name.xml”虚拟机镜像使用本地存储本地存储是指虚拟机的文件系统建立在本地硬盘上,可以是文件或者磁盘分区。

相关文档
最新文档