文档库 最新最全的文档下载
当前位置:文档库 › 虚拟机迁移技术漫谈

虚拟机迁移技术漫谈

虚拟机迁移技术漫谈
虚拟机迁移技术漫谈

虚拟机迁移技术漫谈

如何在虚拟机和物理机以及虚拟机和虚拟机之间的迁移系统

前言

系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。

本系列文章全面介绍了虚拟机迁移的三种方式 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 Server

Migration 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 的逆操作。它可以同时迁移虚拟机系统到一台或多台物理机上。尽管虚拟化的基本需求是整合物理机到虚拟机中,但这并不是虚拟化的唯一的应用。比如有时虚拟机上的应用程序的问题需要在物理机上验证,以排除虚拟环境带来的影响。另外,配置新的工作站是件令 IT 管理者头痛的事情,但虚拟化的应用可以帮助他解决这个难题。先配置好虚拟机,然后运用硬盘克隆工具复制数据至工作站硬件,比如赛门铁克的 Save & Restore (Ghost)。不过这种克隆方法有两个局限:一个镜像只能运用在同种硬件配置的机器上;要想保存配置的修改,只能重做新的镜像。

V2P 的迁移可以通过确定目标的物理环境来手动完成,如把一个特定的硬盘加载到虚拟系统中,然后在虚拟环境中安装操作系统、应用程序和数据,最后手动修改系统配置和驱动程序。这是一个乏味且不确定的过程,特别是在新的环境比旧的环境包含更多大量不同的硬件的情况下。为了简化操作,我们可以利用专门的迁移工具以自动的方式来完成部分或全部迁移工作。目前支持 V2P 转换的工具有 PlateSpin Migrate 和 EMC HomeBase。使用这样的工具使得 V2P 转换过程更简易,并且比使用第三方磁盘镜像工具更快捷。

V2P 迁移方法

V2P 的不确定性导致自动化工具不多,目前主要有以下几种解决方案:?VMware 官方推荐的是使用 Ghost+sysprep 来实现半自动化的迁移。

?基于备份和恢复操作系统的解决方案。这个方案利用了现成的系统备份恢复工具,没有体现虚拟机和物理机的差别,类似于 P2P

(Physical-to-Physical 物理机到物理机迁移)。注意备份工具能够恢复系统到异构硬件平台上。

?开源工具的解决方案。适合 Linux/Unix 系统,使用开源工具和脚本,手动迁移系统。这个方案难度较大,适合有经验的管理员。

回页首

Linux 系统在虚拟机迁移中的技术难点

通常我们期望虚拟机的迁移能够全部自动化或者部分自动化完成,但实际上Linux 系统在 P2V 和 V2V 的迁移中可能遇到一些困难。本节列举了 Linux 迁移中需要注意的地方。

a.磁盘分区名被硬编码。当我们做磁盘虚拟化时,可能会使用不同类

型的虚拟磁盘设备,这将会导致磁盘名字的变化。比如 Xen 虚拟

机中的半虚拟化设备使用 /dev/xvda 而标准的 Linux 半虚拟化

设备使用 /dev/vda。准备迁移的 Linux 系统中存在对 /dev/hd*

和 /dev/sd* 磁盘分区名分散的关联,比如在 /etc/fstab 文件,

启动初始化文件系统 ramfs 和一些解析磁盘设备的开机启动脚本

文件中。V2V 迁移工具需要在整个磁盘上查找并修改这些关联。有

一个简单的方法来避免这种情况: Linux 系统上主流的文件系统

和交换分区类型可以使用 Lables 或 UUID 作为分区名。迁移时这

些信息是被重点保护的,系统应该小心使用这些信息,一定不要使

用设备作为分区名。另外,LVM 分区名和设备无关,在迁移中也不

受影响。

b.网络硬件设备的改变。当系统迁移时,网络设备很可能产生变化。

比如虚拟网络设备和物理网络设备的转化或者不同类型的网络设

备之间的转变。但是是他们的 MAC 地址没有变化。MAC 地址是

IEEE 分配给物理设备制造商的,两个物理设备不会有相同的 MAC

地址;然而虚拟网络设备可能出现这种情况。所以在做虚拟机迁移

时,你必须记录每一个网络设备的 MAC 地址,保证 MAC 地址和网

络设备的对应关系。

c.内核不支持某些虚拟设备。某些 Linux 发行版没有 virtio 虚拟

设备的驱动,可能是因为 Linux 发行版早于虚拟设备发布了;或

者虚拟设备的驱动是闭源的;或者是在系统编译时去掉了。因此,

有时我们另外需要一个完全不同的内核(比如 Xen 早期的版本就

是这样的)。无论如何,在客户机上安装一个新的内核并且使之可

以启动是一个很大的冒险,最好避免这样做。

d.Xwindow 需要重新配置。与磁盘、网络设备一样,系统迁移后显示

设备也会变化。理想的情况是 Xwindow 会自动处理这个的变化,

探测所有的显示设备并且使用它发现的第一个设备。但是这不意味

着所有的 Linux 发行版都会以这种方式工作。

e.网络环境的变化。静态 IP 地址和静态 DNS 解析在虚拟机迁移中

是一个麻烦的事情。尽管不是必须的,但是最好配置系统从 DHCP

服务器自动获得所有的网络配置信息。

f.CPU 的扩展指令集发生变化。迁移后的系统中,新的虚拟 CPU 或

主板和旧的会有一些不同。CPU 的扩展指令集如 SSE,Vectors, NX

可能被加入或去掉。CPU 的型号和制造商信息可能被改变。因此,

如果你想要优化虚拟系统上的软件,这可能是浪费时间并且导致系

统崩溃。最好是使用通用的软件,让程序在每次启动的时候检查

运行环境和是否需要优化。实际上,实时迁移的状况比这个还要复

杂,因为处理器可能在程序的运行的过程中被改变。目前为止还没

有一个方案能很好的解决这个问题。

如你所见,P2V 和 V2V 最大的问题在于硬件的改变。Linux 发行版本身应该可以处理所有的硬件变化:在系统启动的时候去检查所有的硬件,操作系统内核识别新的设备并寻找新的驱动处理它们,所有应用软件都不要和硬件绑定,设计一个很好的模式来应对突然的环境变化。

回页首

目前流行的虚拟机软件的迁移特性介绍

P2V 迁移工具

虚拟机所呈现出来的虚拟硬件通常与原始服务器上的物理硬件不同。P2V 迁移工具是这样解决这个问题的:

?VMware vCenter Converter:支持从诸如物理机、VMware 和 Microsoft 虚拟机格式以及某些第三方磁盘映像格式的源进行转换。他替代了旧的迁移工具 VMware Workstation Importer 和 VMware P2V Assistant。VMware vCenter Converter 可以支持和识别大多数服务器硬件类型。VMware

vCenter Converter 提供以下两种克隆机制:热克隆(实时迁移)和冷克隆(使用 BootCD 的克隆)。使用热克隆时,VMware vCenter Converter 直接与源物理机上运行的操作系统通信,因此没有直接的硬件级别依赖

性;使用冷克隆时,VMware vCenter Converter BootCD 提供一个可支持最新硬件的 Windows PE 引导环境,因此可以识别大多数物理服务器系统硬件。目前只支持基于 Microsoft Windows 的物理机迁移。

?XenConvert:是 XenServer 物理机到虚拟机的迁移工具。不仅可以迁移Window 物理机到 XenServer 管理的虚拟机,而且可以导入 VMware 虚拟机 VMDK 格式和 OVF 包。

?Virtual Machine Manager 2008: 提供基于任务的向导,将自动执行大部分转换过程,以此来简化 P2V 转换。由于可通过编写脚本来完成 P2V 转换过程,因此可以通过 Windows PowerShell 命令行进行大规模的 P2V

转换。VMM2008 同时支持联机转换和脱机转换。

?Symantec Ghost:制作镜像文件和把镜像文件恢复到虚拟机。用来把需要迁移的服务器的硬盘通过网络做成镜像文件,然后通过网络把镜像文件恢复到虚拟机。

?Virt-p2v:RedHat 的开源迁移工具。

V2V 迁移工具

支持 V2V 迁移是虚拟机的管理工具的重要功能,所以各种虚拟化软件都提供了实现 V2V 迁移的模块或工具。V2V 在线迁移大大的减少了虚拟机的迁移的停机时间。这使动态迁移成了用户在需要不间断工作时迁移虚拟机的首选。通常的在线迁移方案,是虚拟机使用共享存储,迁移时只拷贝虚拟机的内存。原理参见前面的小节“V2V 内存迁移技术”。

VMware VMotion

VMware 的在线迁移是由 VMotion 这个组件实现的。Vmotion 的实时解决方案的特点是有其自己的 Cluster File System: VMFS,此外也支持 NFS。Vmotion 把整个虚拟机包括其完整状态封装在几个文件中,存放在 SAN/NAS 等共享存储中。迁移的过程是把内存和运行状态通过高速网从源复制到目标。

Citrix XenMotion

XenMotion 是 XenServer 的一项功能,能够将正在运行的虚拟机从一台XenServer 主机上迁移到另外一台,而不带有停机的危险。这就意味着在整个迁移过程中,被移动的虚拟机在任意时刻都可以访问。XenMotion 的主要目的是在某台服务器进行计划维修时,使终端用户觉察不到应用程序出现过极短暂的中断,令整个服务过程正常顺畅。

Microsoft Hyper-V

微软的 Hyper-V 从 2.0 开始支持了动态迁移技术。利用 Hyper-V 动态迁移,在不中断任何服务或者不允许停机的前提下,将一个运行中的虚拟机从一个Hyper-V 物理主机移动到另外一个上面,通过预复制迁移的虚拟机中的内存到目的主机。管理员或者脚本在启动动态迁移的时候控制选择此次迁移的目标计算机,客户使用被迁移系统时是不会感觉到迁移在进行的。

QEMU-KVM/Libvirt

内核虚拟机 KVM 技术的原创公司 Qumranet 在 2008 年被 RedHat 收购以后,得到了全面快速的发展。在 2009 年发布的 Redhat Enterprise Linux 5.4 全面支持了 KVM 虚拟机,其中已经包含了离线迁移和在线迁移的技术。2010 年发布的 Redhat Enterprise Linux 5.5 和 Suse Linux Enterprise Server 11 Service Pack 1 中集成了图形化的 KVM 虚拟机管理工具 virt-manager,使虚拟机的迁移更加直观和方面。在本系列文章的下一篇中将详细介绍如何迁移 KVM 虚拟机。

回页首

自动化迁移的未来

目前许多企业都已将包括 CPU、内存、I/O、存储、网络在内的数据中心设备进行了虚拟化,如何更好管理和利用这些虚拟的和物理的资源,已经成为数据中心异构虚拟化时期急需解决的问题。P2V 迁移工具使物理资源虚拟化、数据中心转移更加简单;V2V 迁移工具使虚拟资源达到最优化配置;而 V2P 迁移工具可以快速部署虚拟机到物理机。在不远的将来,P2V/V2P/V2V 工具都会失去原有的意义,所有功能的实现都集成到一个智能化、自动化、自治化数据中心的优化系统中去。高度自动化的监测模块将 24 小时扫描整个数据中心,寻找过载和闲赋的虚拟机;规划模块根据监测报告和收集的信息选择最好的迁移工具进行资源优化,迁移过程将在应用程序正常运行的状况下自动执行。那时,整个环境就像液体一样可以自由流动,负载不停地在各服务器上保持着均衡,虚拟环境与物理环境对用户将再无差别。

虚拟化和云计算

云计算就是以服务的形式提供计算资源。云计算背后最重要的概念之一就是可伸缩性,而实现它的关键则是虚拟化。虚拟化在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。虚拟化还允许在线迁移,因此,当一个服务器超载时,可以将其中一个操作系统以及它的应用程序迁移到一个新的、不繁忙的服务器上。在云中,可以在多个操作系统和应用程序之间共享虚拟化服务器,从而减少服务器的数量。更少的服务器意味着需要更少的空间(减少数据中心占用的空间)和更少用于制冷的电力(减少碳污染)。 IBM 认为,虚拟化是未来云计算架构的关键组成模块,而衡量一家 IT 企业的“云”能力的关键也正是其虚拟化实施能力。虚拟化技术正在普及,也许不用太久,我们每天都会与虚拟机打交道。

回页首

小结

本文介绍了虚拟机迁移的各种方法及工具,分析了内存预拷贝技术的原理,还列举了虚拟机迁移中应该注意的问题。不仅对于系统管理员全面了解迁移方法和策略,进行虚拟机迁移规划有参考意义;而且对于虚拟机的开发和测试人员也有指导意义。本系列后面的文章中,将具体介绍在 KVM 虚拟机上,如何操作和实现系统迁移。

参考资料

学习

参考 developerWorks 上的”Linux 虚拟化技术”专栏,了解关于Linux 上的虚拟化技术和软件。

?参考“VMare Vmtion”产品主页,了解关于 VMtion 的功能特性。

?参考“Cirix XenMotion”产品主页,了解关于 XenMotion 的功能特性。

?参考“KVM Migration”的 wiki 页面,了解关于 KVM Migration 的内容。

?在developerWorks Linux 专区寻找为 Linux 开发人员(包括Linux 新手入门)准备的更多参考资料,查阅我们最受欢迎的文章和教程。

?在 developerWorks 上查阅所有Linux 技巧和Linux 教程。

讨论

?欢迎加入My developerWorks 中文社区。

作者简介

郭晋兵,软件工程师,目前在 IBM 中国软件开发中心从事 KVM 虚拟机相关软件的开发测试工作。

吴超凤,软件工程师,目前在 IBM 中国软件开发中心从事 KVM 虚拟机相关软件的开发测试工作。

虚拟机迁移技术漫谈,第 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)。就是在虚拟机关机或暂停的情况下从一台物理机迁移到另一台物理机。因为虚拟机的文件系统建立在虚拟机镜像上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上;如果需要保存虚拟机迁移之前的状态,在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最 后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。 共享存储的动态迁移 动态迁移(Live Migration):也叫在线迁移(Online Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。该过程不会对最终用户造成明显的影响,从而使得管理员能够在不影响用户正常使用的情况下,对物理服务器进行离线维修或者升级。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。动态迁移适用于对虚拟机服务可用性要求很高的场合。 目前主流的动态迁移工具,VMware 的 VMotion,Citrix 的XenMotion,他们都依赖于物理机之间采用 SAN (storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。

将实体机迁移到VMware虚拟机

将实体机迁移到VMware虚拟机原来如此容易分类:摆电脑的聊斋 | 标签:虚拟机vmware ghost converter 驱动 2013-07-28 22:57阅读(3970)评论(0)在虚拟化大行其道并有一统天下趋势的今天,相信很多企业都准备运用虚拟化这一综合解决方案,可摆在技术人员面前的却有这样一个问题:如何将现有的服务器系统原封不动的迁移到虚拟机中去? 前几天我在windows2003环境下做了这方面的尝试,试用过很多 方法,最终发现一个最简单的方法可实现,虚拟机已运行几日,一切 正常。现记录下来分享,避免大家再像我一样走那么多不必要的弯路。 首先,做好充分的准备工作: 1、在承载虚拟机的物理宿主机上安装VMware workstation虚 拟机系统(我安装的是9.0中文版),设置好常规参数(也可以什么参 数都不设置)、准备好虚拟机存放文件夹并将其设置为隐藏式共享、 权限设置为everyone和guests(避免未启用本地安全策略中的“将 everyone权限应用于匿名用户”)可读取和写入,以备存放转换好的 虚拟机文件。 利用网络地址存放转换后的文件至少有两个好处:转换和存放一 次完成、完成后即可使用,不需要再复制以节省时间;速度更快,1000M 网络传输的速度远大于硬盘内的数据交换速度。 2、在即将被虚拟的实体机上安装 VMware vCenter Converter Standalone软件,选择本地安装(我 安装的是5.0中文版)。

3、退出实体机上的杀毒软件、关闭正在下载的更新、清理系统垃圾和不需运行的进程(正在运行的服务不用停止、也不需要整理磁盘)。 接着,执行实体机到虚拟机的转换工作: 1、打开Converter软件,登录到本机,执行“转换计算机”进入转换向导;源系统为已打开电源的计算机、此本地计算机;若数据不是很多建议选择本地所有分区,否则不能保留原有的硬盘分区结构,以后变更会稍显麻烦;设置转换目的地址为刚才共享的路径,形式为“\\192.168.x.x\sharename$”;其他选项使用默认值即可,尤其是勾选所运行的服务环节。我20多G的内容转换及存储仅10分多钟就完成了,速度确实很快。 在转换完成后,实体机的界面可能会变得比较吓人(因为在转换时去除了一些驱动及有可能不兼容的内容,以便于系统封装),此时不要惊慌,直接重启实体机它会自行恢复。 2、修改计算机名和IP地址,避免虚拟机启动后出现“网络上有重名”和“IP地址冲突”。 最后,运行该虚拟机: 1、在承载虚拟机的宿主机上打开VMware workstation,选择打开虚拟机,路径为刚设置共享的文件夹,这里要注意一点:若实体机仍在运行且未改名,须将虚拟机的网络适配器属性设置为NAT方式(待设置完成、无冲突后再改为桥接方式),避免首次开机提示“网络上有重名”而无法登录,然后再打开虚拟机电源。

(完整版)虚拟机迁移原理详解

虚拟机到虚拟机的迁移(Virtual-to-Virtual) V2V 迁移是在虚拟机之间移动操作系统和数据,照顾主机级别的差异和处理不同的虚拟硬件。虚拟机从一个物理机上的VMM 迁移到另一个物理机的VMM,这两个VMM 的类型可以相同,也可以不同。如VMware 迁移到KVM,KVM 迁移到KVM。可以通过多种方式将虚拟机从一个VM Host 系统移动到另一个VM Host 系统。 V2V 离线迁移 离线迁移(offline migration):也叫做常规迁移、静态迁移。在迁移之前将虚拟机暂停,如果共享存储,则只拷贝系统状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。如果使用本地存储,则需要同时拷贝虚拟机镜像和状态到目的主机。到这种方式的迁移过程需要显示的停止虚拟机的运行。从用户角度看,有明确的一段服务不可用的时间。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。 V2V 在线迁移 在线迁移(online migration):又称为实时迁移(live migration)。是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与离线迁移几乎完全一致。不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机运行,当迁移进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。在线迁移适用于对服务可用性要求很高的场景。 目前主流的在线迁移工具,都要求物理机之间采用SAN(storage area network),NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要考虑操作系统内存执行状态的迁移,从而获得较好的迁移性能。

11虚拟机迁移

虚拟机迁移 静态迁移是指在虚拟机关闭或暂停的情况下,将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行,对服务可用性要求高的需求不合适。 动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件,可以通过多种方式实现,本例采用基于共享存储动态迁移,通过NFS(Network File System网络文件系统)来实现。 源宿主机:Ubuntu16.04操作系统,下文中以“节点1”表示,NFS挂载目录/home/kvm。 目标宿主机:Ubuntu16.04操作系统,下文中以“节点2”表示,NFS挂载目录/home/kvm。 基于QEMU的动态迁移虚拟机镜像文件为ubuntu14.04.img。 NFS服务器:Ubuntu16.04操作系统,服务目录为/mnt/nfs/。 1、NFS服务器配置 (1)KVM虚拟机动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的 主机之间有相同的目录结构放置虚拟机磁盘文件(本例为“/home/kvm”目录),这里的动态迁移是基于共享存储动态迁移,通过NFS来实现,需要QEMU 0.12.2以上版本支持。可以使用“qemu-img --help|grep version”来查看 安装的QEMU的版本号。 (2)在VMware中将宿主机克隆,“管理”----“克隆”。源宿主机为节点1,克 隆的机器作为目标宿主机,为节点2。克隆步骤如下:

(3)修改节点2中的IP地址(修改为和你的节点1同一网段的IP)。只需修改 IP即可,其他不用改动,命令如下: root@ubuntu:~# vim /etc/network/interfaces 修改完毕后,重启网络 root@ubuntu:~# /etc/init.d/networking restart [ ok ] Restarting networking (via systemctl): networking.service. (4)在节点2上安装NFS服务器。使用命令“sudo apt-get install nfs-kernel-server nfs-common”下载安装NFS,kernel-server相当于server端,common是client端,如图所示:

云计算中虚拟机实时迁移技术的鲁棒性研究

云计算中虚拟机实时迁移技术的鲁棒性研究 云计算中采用虚拟机实时迁移技术实现数据中心资源的动态调度和管理。作为虚拟机实时迁移技术的核心,实时迁移算法目前虽然在运行性能方面表现良好,但在抗主机故障、网络故障、恶意攻击等鲁棒性方面仍存在不足,进而在这些异常或危险情况下无法保证实时迁移过程顺利完成,甚至干扰虚拟机内业务正常运行。本文对虚拟机实时迁移技术中关键算法的鲁棒性进行分析研究,指出其中所存在的问题,并提出相应的解决思路。 【关键词】虚拟机实时迁移云计算鲁棒性 1 引言 云计算将IT 软硬件资源通过网络以服务的模式提供给最终用户,使得用户能够按需使用、计量付费。基于laaS(基础设施即服务)云计算平台的应用较为普遍,其主要采用虚拟化技术将CPU存储、硬盘、网络等资源以虚拟机的访问进行封装、分配、调度及管理。用户在云平台提供的虚拟机上能够快速、高效、廉价地搭建自己的lT 基础设施平台。 虚拟机实时迁移是laaS云计算平台的一项关键核心技术, 其基于实时迁移算法将某台物理主机上正在运行的虚拟机在线地移动到另一台物理主机上,期间虚拟机正常提供对外服务。当前主流的实时迁移算法虽然在运行性能方面较为良好,但是在抗主机故

障、网络抖动、恶意攻击等鲁棒性方面还存在一些问题。本文分析了实时迁移算法所存在的鲁棒性问题并提出了相应的几个对策。 2 实时迁移算法由于目前数据中心多采用共享存储架构,因此实时迁移的主要对象是虚拟机的内存镜像、vCPU及I/O寄存器状态数 据。主流的实时迁移算法根据迁移对象先后次序的不同划分为预拷贝Pre-copy和后拷贝Post-copy两种。 Pre-copy 是最先出现的实时迁移算法,其主要运行流程如下: (1)实时迁移过程开始,源宿主机与目标宿主机建立连接,目标宿主机上预留虚拟机资源; (2)首先将虚拟机的整个内存镜像,即所有内存页面传输过去; (3)进入一个迭代拷贝阶段,每个迭代轮传输上一轮中产生的内存脏页; (4)循环步骤3,直到剩余脏页足够小或者达到最大迭代次数,退出迭代过程; (5)进入停机拷贝阶段,将vCPU寄存器及I/O设备状 态数据连同剩余脏页一齐传输到目标宿主机; 6)在宿主机上恢复虚拟机运行,实时迁移结束 Post-copy 算法出现较晚,其主要运行流程如下: (1)实时迁移过程开始,源宿主机与目标宿主机建立连

数据的迁移服务V200R100C00----VMware虚拟机数据的迁移方案设计

数据迁移服务V200R100C00交付材料VMware虚拟机数据迁移方案 华为技术有限公司 版权所有侵权必究

修订记录

目录 第1章数据迁移前必读 (1) 1.1概述 (1) 1.2读者对象 (1) 1.3适用场景 (1) 1.4注意事项 (2) 第2章数据迁移流程 (3) 第3章数据迁移前准备 (4) 3.1迁移环境准备 (4) 3.1.1 准备参考文档 (4) 3.1.2 查询系统信息 (4) 3.1.3 获取所需的软件和工具 (5) 3.1.4 检查系统及设备运行状态 (5) 3.2 配置目标存储 (5) 3.2.1 配置热备盘 (6) 3.2.2 创建RAID组及划分LUN (6) 3.3 数据备份 (6) 第4章数据迁移方案 (8) 4.1添加目标存储映射 .................................................................................. 错误!未定义书签。 4.1.1 更改设备物理连接 ........................................................................ 错误!未定义书签。 4.1.2 映射目标存储LUN给主机 (10) 4.1.3 在服务器上配置虚拟磁盘.............................................................. 错误!未定义书签。 4.2迁移数据................................................................................................. 错误!未定义书签。 4.3迁移完成后移除源存储 (16) 4.4同步备机................................................................................................. 错误!未定义书签。 4.5添加目标存储多路径 (22) 4.6 调测业务系统 (32) 第5章回退方案 (33) 5.1 回退场景 (33) 5.1.1 数据备份与恢复; (33) 5.1.2 割接失败导回方案 (33) 5.2 回退步骤 (33)

Vmware vSphere常见问题汇总

Vmware vSphere常见问题汇总 1、启用客户机操作系统和远程控制台之间的复制和粘贴操作 解决方法:要在客户机操作系统和远程控制台之间进行复制和粘贴,必须使用vSphere Client 启用复制和粘贴操作。 步骤 a、使用vSphere Client 登录到vCenter Server 系统并选择虚拟机。 b、在摘要选项卡中,单击编辑设置。 c、选择选项> 高级> 常规,然后单击配置参数。 d、单击添加行,并在“名称”和“值”列中键入以下值。 名称值 isolation.tools.copy.disable false isolation.tools.paste.disable false 注意这些选项将替代在客户机操作系统的VMware Tools 控制面板中做出的任何设置。 e、单击确定以关闭“配置参数”对话框,然后再次单击确定以关闭“虚拟机属性”对话框。 f、重新启动虚拟机。 2、sco系统迁移过去之后找不到启动列表 解决方法:目前解决方法:使用软驱制作应急盘,通过应急盘来找到启动列表,如果不行的话,只能使用,现成的虚拟镜像导入vmware中,但是这种方法,要自己设置与自己相关的应用。 3、linux做迁移时手动添加的逻辑分区(LVM卷),迁移过去之后找不到这些分区 解决方法::给虚拟机额外添加硬盘后融合,然后将数据重新拷入加入的硬盘中。 4、安装esxi的时候找不到万兆网卡 解决方法:解决方法:安装各个厂商OEM的esxi版本。 5、迁移时提示vss原卷不能克隆 解决方法:解决方法:查看是否有额外的设备插在服务器上,如usb设备。 6、Windows迁移之后,配置网卡的时候,会提示“IP已经被分配给其他的适配器” 解决方法:打开命令行窗口(运行cmd),输入: (1)、set DEVMGR_SHOW_NONPRESENT_DEVICES=1 (2)、devmgmt.msc 在弹出的“设备管理器”窗口。选择“查看(V)”—“显示隐藏的设备(W)”,然后展开“网络适配器”子项,可以看到一些透明图标显示的网卡信息,这些信息是源服务器的物理网卡信息。然后选择透明的设备卸载,RAS同步适配器为系统正常设备,不需要将其卸载。 7、Asianux3.0迁移之后不能显示图形化界面 解决方法:解决方法:cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak vi /etc/X11/xorg.conf 将xorg.conf文件中的selection “Devices”字段中Driver对应的值修改为“vmware”即可,修改完成后通过startx启动图形化界面。

虚拟机迁移技术漫谈

虚拟机迁移技术漫谈 如何在虚拟机和物理机以及虚拟机和虚拟机之间的迁移系统 前言 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。 本系列文章全面介绍了虚拟机迁移的三种方式 P2V、V2V 和 V2P,及他们在内核虚拟机 KVM 上的实现方法,分成五个部分。第一部分,介绍虚拟机迁移的各种方法和相应的迁移工具,并且着重分析 Linux 平台上开源的虚拟化工具 KVM 和XEN 实时迁移中的的内存预拷贝技术; 第二部分介绍 KVM 虚拟机之间的 V2V 迁移技术,包括离线迁移和在线迁移;第三部分介绍基于 VMware 或 XEN 的虚拟机如何迁移到基于 KVM 的虚拟机;第四部分介绍物理机到虚拟机迁移 P2V 和虚拟机到物理机迁移 V2P 在 KVM 虚拟机上的实现;第五部分介绍和虚拟机迁移密切相关的虚拟机克隆、快照和备份技术。 回页首 虚拟机迁移简介 为什么要迁移服务器 迁移服务器可以为用户节省管理资金、维护费用和升级费用。以前的 x86 服务器,体积比较“庞大”;而现在的服务器,体积已经比以前小了许多,迁移技术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。另外,虚拟机中的服务器有着统一的“虚拟硬件资源”,不像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID 卡,显卡不同)。迁移后的服务器,不仅可以在一个统一的界面中进行管理,而且通过某些虚拟机软件,如 VMware 提供的高可用性工具,在这些服务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。总之,迁移的优势在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。 虚拟机迁移的性能指标

将操作系统从物理机迁移到虚拟机

十个步骤将操作系统从物理机迁移到虚拟机 老板让你在很短的时间里执行一项操作系统迁移的任务,此时,如果你有一个功能完整的且经过测试的物理机到虚拟机迁移的解决方案,那么你将是一个真正的英雄!P2V的解决方案可以使你在不影响生产网络或不重新在生产网络中进行配置的前提下执行服务器迁移。在这里,我将向大家解释一些Microsoft Virtual Server Migration Toolkit(VSMT)的内部工作机制,并且演示一下为了实现迁移,应如何使用ADS来配置一台可移动的服务器。 在2006年12月份的“突破ADS障碍”一文中,我给大家展示了在Windows操作系统迁移时,如何构建一个基础的移动ADS解决方案。接着,在2007年5月份的文章“提升移动ADS解决方案”中,我展示了如何通过安装VSMT来扩展移动ADS解决方案,进而执行物理机到虚拟机的迁移。接下来我将给大家演示如何使用VSMT来执行一个P2V的迁移。 开始之前 通过本系列的文章,你已经知道如何在一个移动的小车上组合必要的硬件和安装基本的软件来创建一个移动的ADS解决方案:Windows Server 2003企业版,动态主机配置协议(DHCP)服务器、ADS1.1、Virtual Server 2005 R2 SP1和VSMT1.1。我们把资源服务器称为Testserver,并假想运行着Windows Server 2003企业版。为了执行一个P2V的迁移,你需要执行下面的十个步骤。 开始之前,我建议你花一些时间来看看你的服务器是否适合执行P2V转换。有时候,在一个不太稳定的生产服务器上执行一次P2V的迁移是不值得的。这是因为可能在迁移的过程中,那些不稳定的因素会出现。如果恰好出现这种情况,那么我建议你首先重建虚拟机,然后将数据从旧的物理服务器迁移到虚拟服务器中,这样做可能会更好一些。此外,对于那些带有OEM应用程序的服务器,在执行P2V迁移前,应该首先卸载或禁用这些应用程序,这样可以保证虚拟机在首次启动时,这些应用程序不会和虚拟机进行交互。 读到这里,先看看你的服务器适合进行P2V的转换吗?如果适合的话就让我们开始吧。 第一步:准备源系统 尽管VSMT不会修改源系统,我还是推荐你遵循一些最佳实践,在开始P2V迁移之前,首先对源操作系统进行备份。此外,禁用与物理服务器相关的所有驱动和应用程序,这些驱动和应用程序在虚拟机环境中将不再可用。 第二步:准备MobileP2V服务器 VSMT包括一个名为GatherHW.exe的工具,该工具能够在源服务器上收集物理硬件的信息,然后创建一个XML配置文件,你可以使用该配置文件来分析源系统中任何已知的硬件兼容性问题(动态磁盘、高于3.5GB的内存以及不支持的设备等等)。为了运行GatherHW.exe,你必须首先将它复制到源系统中。我推荐你首先在MobileP2V服务器上的VSMT安装目录(缺省为C:\Program Files\Microsoft VSMT)下创建一个名为VSMT的共享目录。当然,你还

迁移VBOX虚拟机方法

迁移VBOX虚拟机方法 VBOX虚拟机拷贝到其他计算机后需要经过配置才能正常使用,即使使用的目录与原目录完全一致。(示例中为linux上的oracle11gRAC+DG,为64位版本,服务器要求也要为64位)具体操作步骤如下: 一、将虚拟机配置文件和虚拟机文件拷贝到目标服务器。 1、虚拟机配置文件必须拷贝到C:\Documents and Settings\Administrator\VirtualBox VMs目录下,如图所示。 2、虚拟机文件较大,磁盘需要有60G剩余磁盘空间。这里我们拷贝到:F:\11g RAC+DG目录下。 二、修改配置文件 1、用写字板打开C:\Documents and Settings\Administrator\VirtualBox VMs\new11gnode1\new11gnode1.vbox文件,找到location部分,修改 H:/newRAC+DG为F:/11g RAC+DG,既虚拟机文件存放实际路径,如图所示。

2、 三、启动虚拟机 1、双击C:\Documents and Settings\Administrator\VirtualBox VMs\new11gnode1\new11gnode1.vbox文件,将虚拟机添加到VBOX中, 如图所示。 2、修改内存大小 该虚拟机默认内存大小为2000M,如果服务器没有足够内存可以减少虚 拟机使用内存数量。选中需要修改的虚拟机,点击“设置”,选择“系 统”,将内存改为1500M,如图所示。同时需要调小数据库有关内存的 参数,将sga_max_target和sga_target参数都调整为400M。

虚拟机迁移方法简介

虚拟机迁移技术简介 虚拟机迁移技术为服务器虚拟化提供了便捷的方法。目前流行的虚拟化工具如 VMware,Xen,HyperV,KVM都提供了各自的迁移组件。尽管商业的虚拟软件功能比较强大,但是开源虚拟机如 Linux 内核虚拟机 KVM 和 XEN 发展迅速,迁移技术日趋完善。本系列文章介绍了虚拟机迁移的三种方式 P2V、V2V 和 V2P,及他们在内核虚拟机 KVM 上的实现方法,分成五个部分。本文是第一部分,全面介绍了虚拟机迁移的各种方法和相应的迁移工具 , 并且着重分析了 Linux 平台上开源的虚拟化工具 KVM 和 XEN 实时迁移中的的内存预拷贝技术。 1.前言 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。 2.虚拟机迁移简介 2.1为什么要迁移服务器 迁移服务器可以为用户节省管理资金、维护费用和升级费用。以前的 x86 服务器,体积比较“庞大”;而现在的服务器,体积已经比以前小了许多,迁移技术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。另外,虚拟机中的服务器有着统一的“虚拟硬件资源”,不像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID 卡,显卡不同)。迁移后的服务器,不仅可以在一个统一的界面中进行管理,而且通过某些虚拟机软件,如 VMware 提供的高可用性工具,在这些服务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。总之,迁移的优势在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。 2.2虚拟机迁移的性能指标 一个优秀的迁移工具,目标是最小化整体迁移的时间和停机时间,并且将迁移对于被迁移主机上运行服务的性能造成的影响降至最低。当然,这几个因素互

虚拟机实时迁移

实时迁移(live migration)是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与离线迁移几乎完全一致。不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机运行,当迁移进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。在线迁移适用于对服务可用性要求很高的场景。 01 live migration的概念 虚拟机实时迁移/动态迁移(Live Migration),作为系统虚拟化的一项关键技术,是将物理服务器上正在运行的一台或多台VM在线迁移到另一台物理服务器上。迁移过程中VM对外正常提供服务,整个迁移过程对VM用户透明。 02 live migration的概念 实时迁移的内容包括:虚拟机运行状态(CPU状态、内存镜像、设备状态、网络连接)及外存数据。 03 live migration的作用 负载均衡:将高负载物理服务器上的虚拟机动态迁移到低负载的物理服务器上,保证数据中心资源合理分配。 在线维护:在对物理服务器进行维护前,实时将上面运行的虚拟机迁移到其他服务器上,不会因设备维护导致服务中断。 能源管理:将多个利用率不高的物理服务器上的虚拟机在线整合到少量几台物理服务器上,降低能耗。 04 live migration的分类 按照虚拟机存储的迁移需求可划分为基于共享存储的实时迁移和全系统实时迁移。 ●基于共享存储的实时迁移:物理服务器之间采用SAN或NAS之类的集中式共享外存 设备,因而在迁移时只需要进行虚拟机运行状态的迁移。 ●全系统迁移:物理服务器之间没有采用共享外存设备,外存数据保存在物理服务器本地; 或者需要将虚拟机迁移到另一个数据中心。实时迁移中既要迁移运行状态,又要迁移存储数据。 按照虚拟机迁移的网络环境可划分为基于LAN的实时迁移和基于WAN的实时迁移。 ●基于LAN的实时迁移:迁移范围在一个数据中心的二层网络内,能够保证数据传输速 率。 ●基于WAN的实时迁移:迁移范围在两个数据中心间的WAN链路上,网络传输带宽受 限。 按照虚拟机迁移的规模可划分为单虚拟机实时迁移和虚拟机集实时迁移。 ●单虚拟机实时迁移:一个迁移过程中只迁移独立的一个虚拟机。 ●虚拟机集实时迁移:一个迁移过程中同时迁移多台虚拟机,且这些虚拟机可能是完成同 一任务的一个集群。 05 live migration算法 三种基本算法:Pre-copy(主流、学术、商用);Post-copy(学术);基于日志系统的迁移(学术) Pre-copy核心机制:迁移开始之后,源主机VM仍在运行,目的主机VM尚未启动。迁移通过一个循环,将源主机VM的内存数据发送至目的主机VM。循环第一轮发送所有的内存页数据,接下来的每一轮循环发送上一轮预拷贝过程中被VM写过的脏页内存dirty pages。

vmware常见问题

vmware 常见问题 Vmware vSphere常见问题及解决办法 Advertisement 故障状态: 启动虚拟机时95%,停顿并且进程中断,提示:ubable to access files since it is locked。 祸根:HA 解决方法: (1)首先将cluster中的HA功能关闭。如果该功能不关闭,容易造成死锁,,VM不断跳动,,不断再不同的ESX内循环被锁,徒劳而无功。

(2)磁盘文件被锁,要解决,必须要知道到底是哪台ESX把他给锁住了,这是关键。 方法:看/var/log/vmkernel但是,在做这些前, 再准备些别的工作。 (3)在VC中,把被锁的VM从Inventory中remove掉。原因很简单,这是一个unregister的过程。 (4)根据/var/log/vmkernel,搜索owner,可以找到类似以下的语句: Oct 19 04:23:33 esx-hostname vmkernel: 3:06:29:47.992 cpu6:1656)FS3: 1975: Checking if lock holders are live for lock [type 10c00001 offset 52008960 v 380, hb offset 3554304 Oct 19 04:23:33 esx-hostname vmkernel: gen 17, mode 1, owner 48f5f637-462688bc-fd28-0e1a6434b6f8 mtime 38112] OK,owner后面的48f5f637-462688bc-fd28-0e1a6434b6f8就是你的target了。因为他就是锁住VM 的宿主.。

十个步骤将操作系统从物理机迁移到虚拟机

老板让你在很短的时间里执行一项操作系统迁移的任务,此时,如果你有一个功能完整的且经过测试的物理机到虚拟机迁移的解决方案,那么你将是一个真正的英雄!P2V的解决方案可以使你在不影响生产网络或不重新在生产网络中进行配置的前提下执行服务器迁移。在这里,我将向大家解释一些Microsoft Virtual Server Migration Toolkit(VSMT)的内部工作机制,并且演示一下为了实现迁移,应如何使用ADS来配置一台可移动的服务器。 在2006年12月份的“突破ADS障碍”一文中,我给大家展示了在Windows操作系统迁移时,如何构建一个基础的移动ADS解决方案。接着,在2007年5月份的文章“提升移动ADS解决方案”中,我展示了如何通过安装VSMT来扩展移动ADS解决方案,进而执行物理机到虚拟机的迁移。接下来我将给大家演示如何使用VSMT来执行一个P2V的迁移。 开始之前 通过本系列的文章,你已经知道如何在一个移动的小车上组合必要的硬件和安装基本的软件来创建一个移动的ADS解决方案:Windows Server 2003企业版,动态主机配置协议(DHCP)服务器、ADS1.1、Virtual Server 2005 R2 SP1和VSMT1.1。我们把资源服务器称为Testserver,并假想运行着Windows Server 2003企业版。为了执行一个P2V的迁移,你需要执行下面的十个步骤。 开始之前,我建议你花一些时间来看看你的服务器是否适合执行P2V转换。有时候,在一个不太稳定的生产服务器上执行一次P2V的迁移是不值得的。这是因为可能在迁移的过程中,那些不稳定的因素会出现。如果恰好出现这种情况,那么我建议你首先重建虚拟机,然后将数据从旧的物理服务器迁移到虚拟服务器中,这样做可能会更好一些。此外,对于那些带有OEM应用程序的服务器,在执行P2V迁移前,应该首先卸载或禁用这些应用程序,这样可以保证虚拟机在首次启动时,这些应用程序不会和虚拟机进行交互。 读到这里,先看看你的服务器适合进行P2V的转换吗?如果适合的话就让我们开始吧。 第一步:准备源系统

基于KVM虚拟机动态迁移的研究与实现

目录 摘要……………………………………………………..1ABSTIiACT………一………………………………………….3符号说明……………………………………………………5第1章绪论…………………………………………………71.1选题背景及意义….}…………..:….!………..….....{..….71.2国内外研究现状….{…….…:……..:……………….……81.2.1云计算研究现状……………叫……………….……8 1.2.2虚拟化及动态迁移研究现状…….。……………….….’.101.3本文主要工作及创新点…………………………………..11:1.3.1主要工作….:……………….1……………….!……11 1.3.2创新点………………………………….………111.4论文结构安排..………………….……….……………121.5本章小节.………………….……………………….…13第2章系统相关技术………………………………..………。142.1云计算简介……………………………………………142.1.1云计算分类………………………………………142.1.2云计算的服务模式……………………..:……。.…..142.1.3云计算的特点…………………………………….162.2虚拟化相关技术…….….……………………………...162.2.1VMM模型.………….…………………………….17 2.2.2常见虚拟化解决方案及其相关技术…………………….18 2.2.3KVM基本工作原理…….….……….…….…….…..23 f。 2.3虚拟机的动态迁移………...….:………………l………242.3.1动态迁移策略………………………………….…242.3.2动态迁移的评价指标………….……...……………25 2.3.4动态迁移分类……………………….….…..:……25

VMware ESXi虚拟机克隆及迁移

VMware ESXi虚拟机克隆及迁移 免费的VMWare ESXi非常强大,于是在vSphere5.0平台中ESXi取代了ESX,不过貌似不再是免费使用了,因为我在VMware官网只能下载到免费评估版的ESXi,具体怎么个评估我还没体会,哪位朋友知道请告知我。 使用ESXi经常会遇到这样的问题,我需要建立多个虚拟机,都是windows2003操作系统,难道必须一个一个安装吗? VMware ESXi、VMware vCenter Server 和vSphere Client,它们分别是vSphere 的虚拟化层、管理层和接口层。作为接口层的vSphere Client客户端并不提供克隆虚拟机的功能,需要安装vCenter管理ESXi才有这一功能。 虽然如此,但是我们可以以手动的方式完成这项工作。 下面是克隆“win2003”这台虚拟机的操作过程: 1、进入vSphere client,关闭需要克隆的虚拟机win2003 2、选中ESXi服务器主机,在右侧点击“配置”选项卡,选择存储器,右侧的存储器名称上点右键,选择“浏览数据存储”

3、新建文件夹kelong,进入win2003文件夹,把win2003.vmx和win2003.vmdk 这两个文件复制到文件夹kelong下,复制过程非常快,不到一分钟。 4、在win2003.vmx文件上点右键,选择“添加到清单”,弹出提示,询问这个虚拟机是移动的还是复制的,选择“I coyied it”,确定。

5、开始建立虚拟机的向导,最后弹出提示“无法打开磁盘或其所依赖的快照磁盘之一”,这是因为虚拟机之前做过快照,所以需要把win2003-000003.vmdk 文件也复制过来。 6、把win2003-000003.vmdk文件复制过来再执行“添加到清单”,克隆完成。克隆出来的虚拟机与源虚拟机环境配置完全相同,包括IP地址、用户名口令等,需要手动更改。 这是在同一台ESXi服务器下做的克隆操作,如果是不同的ESXi服务器之间做克隆操作呢?那么就需要把文件复制到不同的ESXi服务器。在网上搜了一下,复制的方法有说用移动存储设备,有说用FTP,但是我觉得用SCP命令最

云环境下基于虚拟机动态迁移的调度策略研究

29卷 第4期2012年4月 微电子学与计算机 MICROELECTRONICS &COMPUTER Vol.29 No.4 Ap ril 2012收稿日期:2011-06-10;修回日期:2011-08-15 云环境下基于虚拟机动态迁移的调度策略研究 方义秋1,唐道红1,葛君伟2 (1重庆邮电大学计算机科学与技术学院,重庆400065;2重庆邮电大学图书馆,重庆400065 )摘 要:针对目前云环境资源调度采用静态负载均衡策略易于导致资源浪费的问题,提出了一种双限定值的虚拟机动态迁移的调度策略. 该策略将当前负载状况与负载过重或过轻时两个限定值比较,选择介于二者之间能耗较低的虚拟机迁移至目标节点.仿真实验表明,该策略能够减少迁移次数,降低虚拟机迁移能耗,从而尽可能达到负载均衡和满足服务等级协议的需求. 关键词:云计算;虚拟机动态迁移;资源调度;减少能耗;负载均衡;服务等级协议 中图分类号:TP311 文献标识码:A 文章编号:1000-7180(2012)04-0045-04 Research on Schedule Strategy  Based on Dynamic Migration ofVirtual Machines in Cloud  EnvironmentFANG Yi-qiu1,TANG Dao-hong1,G E Jun-wei 2 (1College of Computer Science and Technology,Chongqing University  of Posts and Telecommunication Chongqing 400065,China;2Library,Chongqing University of Posts &Telecom,Chongqing 400065,China)Abstract:Aming at the current resource scheduling using the static load balancing strategy in cloud computingenvironment could easily lead to the waste of resources,the paper presents the Double Threshold(DT)of schedulingstrategy based on virtual machine live migration.The strategy will compare the current load conditions with doublethreshold values in which is overloading or too light loading,and choose the virtual machine with lower energyconsumption and between with the two values to migrate the destination node.Experimental results show that thestrategy can reduce the migration times and the energy consumption of virtual machine migration,so as to achieveload balancing  and meet service level agreement(SLA)requirements.Key words:cloud computing;dynamic migration of virtual machines;resource scheduling;reducing energy;loadbalancing ;Service Level Agreement(SLA)1 引言 云计算的一个很重要的特点就是资源虚拟 化[1] .通过互联网将这些动态的可扩展的资源连接起来整合成云计算的庞大的计算和存储规模[2] ,由 于云中资源的异构性和用户需求的动态性,如果不能合理地调度资源, 势必会导致资源的浪费或者负载过重问题.尽管解决系统负载的方法包括:目标地址散列调度、加权轮叫调度算法等,但是往往都采用静态的负载均衡策略,很难适应用户请求的动态变化. 由于计算资源需求在不断增加,总体的能源消耗也将持续增长,资源池中基础设施资源的高能耗导致资源利用率较低和资源管理成本加大.为了减少高电力能耗所带来的巨大代价,云计算平台利用虚拟化技术构建的虚拟集群,能够动态地组织异构 的计算资源[3] ,不仅可以提供有效和安全的计算和 存储资源,还可以根据系统的负载变化将虚拟机重新映射到合适的物理主机上,有效地将资源整合并充分利用,从而减少使用的硬件资源的数量和提高资源利用率.这个虚拟机重新映射过程可以借助虚拟机的动态迁移来实现.

相关文档
相关文档 最新文档