




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、虚拟机迁移技术简介虚拟机迁移技术为服务器虚拟化提供了便捷的方法。目前流行的虚拟化工具如VMware, Xen, HyperV, KVMtP提供了各自的迁移组件。尽管商业的虚拟软件 功能比较强大,但是开源虚拟机如 Linux内核虚拟机KVM和XEN发展迅速, 迁移技术日趋完善。本系列文章介绍了虚拟机迁移的三种方式 P2V、V2V和V2P, 及他们在内核虚拟机KVM上的实现方法,分成五个部分。本文是第一部分,全 面介绍了虚拟机迁移的各种方法和相应的迁移工具,并且着重分析了 Linux 平台上开源的虚拟化工具KVM和XEN实时迁移中的的内存预拷贝技术。1. 前言系统的迁移是指把源主机上的操作系统和应
2、用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系 统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发 展,系统的迁移更加灵活和多样化。2. 虚拟机迁移简介2.1为什么要迁移服务器迁移服务器可以为用户节省管理资金、维护费用和升级费用。以前的x86服 务器,体积比较“庞大”;而现在的服务器,体积已经比以前小了许多,迁移技 术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。另外,虚拟机中的服务器有着统一的“虚拟硬件资源”, 不
3、像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID卡,显卡不同)。迁移后的服务器,不仅可以在一个统一的界面中进 行管理,而且通过某些虚拟机软件,如VMware提供的高可用性工具,在这些服 务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中, 从 而达到不中断业务的目的。总之,迁移的优势在于简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。2.2虚拟机迁移的性能指标一个优秀的迁移工具,目标是最小化整体迁移的时间和停机时间,并且将迁移对于被迁移主机上运行服务的性能造成的影响降至最低。当然,这几个因素互相影响,实施者需要根据迁移针
4、对的应用的需求在其中进行衡量,选用合适的工具软件。虚拟机迁移的性能指标包括以下三个方面:整体迁移时间:从源主机开始迁移到迁移结束的时间停机时间:迁移过程中,源主机、目的主机同时不可用的时间对应用程序的性能影响:迁移对于被迁移主机上运行服务性能的的影响程度03. 虚拟机迁移的分类及原理3.1物理机到虚拟机的迁移(Physical-to-VirtuaiP2V指迁移物理服务器上的操作系统及其上的应用软件和数据到VMM(Virtual Machine Monitor )管理的虚拟服务器中。这种迁移方式,主要是使 用各种工具软件,把物理服务器上的系统状态和数据“镜像”到VMM提供的虚拟机中,并且在虚拟机
5、中“替换”物理服务器的存储硬件与网卡驱动程序。只要在虚拟服务器中安装好相应的驱动程序并且设置与原来服务器相同的地址(如 TCP/IP地址等),在重启虚拟机服务器后,虚拟服务器即可以替代物理服务器 进行工作。P2V迁移方法手动迁移:手动完成所有迁移操作,需要对物理机系统和虚拟机环境非常了 解。关闭原有的物理机上的服务和操作系统,并且从其他媒质上启动一个新 的系统。比如从LiveCD上启动一个新的光盘系统。大部分的发行版都 会带有LiveCD。把物理机系统的磁盘做成虚拟机镜像文件,如有多个磁盘则需要做多个 镜像,并且拷贝镜像到虚拟主机上。为虚拟机创建虚拟设备,加载镜像文件启动虚拟机,调整系统设置,
6、并开启服务。半自动迁移:利用专业工具辅助P2V的迁移,把某些手动环节进行自动化。比如将物理机的磁盘数据转换成虚拟机格式, 这一向是相当耗时的工作,你可以 选择专业的工具来完成这个步骤。这里有大量 的工具可以使用,如RedHat的 开源工具 virt-p2v , Microsoft Virtual Server Migration Toolkit等。P2V热迁移:迁移中避免宕机。大部分P2V工具也有一个很大的限制:在 整个迁移过程中,物理机不可用。在运行关键任务的环境或有 SLA (服务水平协 议)的地方,这种工具不可选。幸运的是随着P2V技术的发展,VMwarevCenterConverter
7、和Microsoft Hyper-V已经能够提供热迁移功能,避免宕机。目前, P2V热迁移仅在 Windows物理服务器可用,未来将添加对 Linux的支持。3.2虚拟机到虚拟机的迁移(Virtual-to-VirtuaDV2V迁移是在虚拟机之间移动操作系统和数据,照顾主机级别的差异和处理不同的虚拟硬件。虚拟机从一个物理机上的VMM迁移到另一个物理机的 VMM这两个VMM的类型可以相同,也可以不同。如VMware迁移到KVM KVM迁移 到KVM可以通过多种方式将虚拟机从一个 VMHost系统移动到另一个VM Host 系统。V2V离线迁移离线迁移(offline migration ):也叫
8、做常规迁移、静态迁移。在迁移之 前将虚拟机暂停,如果共享存储,则只拷贝系统状态至目的主机,最后在目的主 机重建虚拟机状态,恢复执行。如果使用本地存储,则需要同时拷贝虚拟机镜像和状态到目的主机。到这种方式的迁移过程需要显示的停止虚拟机的运行。从用户角度看,有明确的一段 服务不可用的时间。这种迁移方式简单易行,适用 于对服务可用性要求不严格的场合。V2V在线迁移在线迁移 (online migration):乂称为实时迁移 (live migration) 。是指在保证虚拟机上服务正常运行的同时, 虚拟机在不同的物理主机之间进行迁移, 其逻辑步骤与离线迁移几乎完全一致。不同的是,为了保证迁移过程中
9、虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主 机运行,当迁移进行到一定阶段,目的主机已经具备了运行系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上 继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。在线迁移适用于对服务可用性要求很高 的场景。目前主流的在线迁移工具,如VMware的VMotion , XEN的xenMotion ,都要求物理机之间采用 SAN( storage area network ) , NAS (network-attached storage )
10、之类的集中式共享外存设备,因而在迁移时只需要考虑操作系统内存 执行状态的迁移,从而获得较好的迁移性能。另外,在某些没有使用共享存储的场合,可以使用存储块在线迁移技术来实 现V2V的虚拟机在线迁移。相比较基于共享存储的在线迁移,数据块在线迁移 的需要同时迁移虚拟机磁盘镜像和系统内存状态,迁移性能上打了折扣。但是他使得在采用分散式本地存储的环境下,仍然能够利用迁移技术转移计算机环境, 并且保证迁移过程中操作系统服务的可用性,扩展了虚拟机在线迁移的应用范围。V2V在线迁移技术消除了软硬件相关性,是进行软硬件系统升级,维护等管理操作的有力工具。3.3 V2V内存迁移技术对丁 VM的内存状态的迁移,XE
11、N和KVM都采用了主流的的预拷贝(pre-copy )的策略。迁移开始之后,源主机 VM仍在运行,目的主机VM尚未 启动。迁移通过一个循环,将源主机 VM的内存数据发送至目的主机 VM。循环 第一轮发送所有内存贞数据,接下来的每一轮循环发送上一轮预拷贝过程中被 VM写过的脏贞内存dirty pages 。直到时机成熟,预拷贝循环结束,进入停机 拷贝阶段,源主机被挂起,不再有内存更新。最后一轮循环中的脏贞被传输至目 的主机VM。预拷贝机制极大的减少了停机拷贝阶段需要传输的内存数据量,从 而将停机时间大大缩小。然而,对丁更新速度非常快的内存部分,每次循环过程都会变脏,需要重复pre-copy ,同
12、时也导致循环次数非常多,迁移的时间变长。针对这种情况, KVM虚拟机建立了三个原则:集中原则,一个循环内的dirty pages小丁等丁50;不扩散原则,一个循环内传输的dirty pages少丁新产生的;有限循环原 则,循环次数必须少丁 30。在实现上,就是采取了以下措施:有限循环:循环次数和效果受到控制,对每轮 pre-copy 的效果进行计算, 若pre-copy 对丁减少不一致内存数量的效果不显著, 或者循环次数超过了上限, 循环将中止,进入停机拷贝阶段。在被迁移VM的内核设置一个内存访问的监控模块。 在内存pre-copy 过程 中,VM的一个进程在一个被调度运行的期间,被限制最多执
13、行 40次内存写操 作。这个措施直接限制了 pre-copy 过程中内存变脏的速度,其代价是对VM上 的进程运行进行了一定的限制。KVM的预拷贝在线迁移过程详解:系统验证目标服务器的存储器和网络设置是否正确,并预保留目标服务器虚拟机的资源。Hosl82. Tranor1. $lup图1.源服务器和目标服务器简图当虚拟机还在源服务器上运转时,第一个循环内将全部内存镜像复制到目标 服务器上。在这个过程中,KVM依然会监视内存的任何变化。1 -叫口D图2.内存镜像复制示意图以后的循环中,检查上一个循环中内存是否发生了变化。假如发生了变化,那么VMM会将发生变化的内存贞即dirty pages重新复制
14、到目标服务器中,并 覆盖掉先前的内存贞。在这个阶段,VMM依然会继续监视内存的变化情况。|2- 5600图3.进行有变化的内存复制VMM会持续这样的内存复制循环。随着循环次数的增加,所需要复制的 dirty pages就会明显减少,而复制所耗费的时间就会逐渐变短,那么内存就有 可能没有足够的时间发生变化。最后,当源服务器与目标服务器之间的差异达到 一定标准时,内存复制操作才会结束,同时暂停源系统。3 5t>图4.所需复制的数据在减少在源系统和目标系统都停机的情况下,将最后一个循环的dirty-pages 和源系统设备的工作状态复制到目标服务器。1 50图5.状态信息的复制然后,将存储从源
15、系统上解锁,并锁定在目标系统上。启动目标服务器,并 与存储资源和网络资源相连接。1. Setup2 TransferMcwiy3, $t?p thVM4 Transfer Stale5. ConlinuG VM图6.停止源服务器,启动目标服务器3.4虚拟机到物理机的迁移(Virtual-to-PhysicaiV2P指把一个操作系统、应用程序和数据从一个虚拟机中迁移到物理机的主 硬盘上,是P2V的逆操作。它可以同时迁移虚拟机系统到一台或多台物理机上。 尽管虚拟化的基本需求是整合物理机到虚拟机中,但这并不是虚拟化的唯一的应用。比如有时虚拟机 上的应用程序的问题需要在物理机上验证,以排除虚拟环 境带
16、来的影响。另外,配置新的工作站是件令IT管理者头痈的事情,但虚拟化 的应用可以帮助他解决这个难题。先配置好虚拟机,然后运用硬盘克隆工具复制 数据至工作站硬件,比如赛门铁克的 Save & Restore (Ghost)。不过这种克隆 方法有两个局限:一个镜像只能运用在同种硬件配置的机器上;要想保存配置的修改,只能重做新的镜像。V2P的迁移可以通过确定目标的物理环境来手动完成, 如把一个特定的硬盘 加载到虚拟系统中,然后在虚拟环境中安装操作系统、应用程序和数据,最后手 动修改系统配置和驱动程序。这是一个乏味且不确定的过程,特别是在新的环境 比旧的环境包含更多大量不同的硬件的情况下。 为了
17、简化操作,我们可以利用专 门的迁移工具以自动的方式来完成部分或全部迁移工作。目前支持 V2P转换的 工具有PlateSpin Migrate 和EMC HomeBase使用这样的工具使得 V2P转换 过程更简易,并且比使用第三方磁盘镜像工具更快捷。V2P迁移方法V2P的不确定性导致自动化工具不多,目前主要有以下几种解决方案:VMware官方推荐的是使用Ghost+sysprep来实现半自动化的迁移,基于备份和恢复操作系统的解决方案。这个方案利用了现成的系统备份恢复 工具,没有体现虚拟机和物理机的差别, 类似于P2P(Physical-to-Physical 物 理机到物理机迁移)。注意备份工具
18、能够恢复系统到异构硬件平台上。开源工具的解决方案。适合Linux/Unix 系统,使用开源工具和脚本,手动 迁移系统。这个方案难度较大,适合有经验的管理员。Linux系统在虚拟机迁移中的技术难点通常我们期望虚拟机的迁移能够全部自动化或者部分自动化完成,但实际上Linux系统在P2V和V2V的迁移中可能遇到一些困难。本节列举了 Linux 迁 移中需要注意的地方。磁盘分区名被硬编码。当我们做磁盘虚拟化时,可能会使用不同类型的虚拟 磁盘设备,这将会导致磁盘名字的变化。比如 Xen虚拟机中的半虚拟化设备使 用/dev/xvda 而标准的Linux 半虚拟化设备使用/dev/vda。准备迁移的 Lin
19、ux系统中存在对/dev/hd* 和/dev/sd*磁盘分区名分散的关联,比如在/etc/fstab文件,启动初始化文件系统ramfs和一些解析磁盘设备的开机启动脚本文件中。V2V迁移工具需要在整个磁盘上查找并修改这些关联。有一个简单 的方法来避免这种情况:Linux系统上主流的文件系统和交换分区类型可以使 用Lables或UUID作为分区名。迁移时这些信息是被重点保护的,系统应该小 心使用这些信息,一定不要使用设备作为分区名。另外,LVM分区名和设备无关, 在迁移中也不受影响。网络硬件设备的改变。当系统迁移时,网络设备很可能产生变化。比如虚拟 网络设备和物理网络设备的转化或者不同类型的网络设
20、备之间的转变。但是是他们的Mac地址没有变化。MAC地址是IEEE分配给物理设备制造商的,两个物 理设备不会有相同的MAC地址;然而虚拟网络设备可能出现这种情况。所以在 做虚拟机迁移时,你必须记录每一个网络设备的 MAC地址,保证MAC地址和网 络设备的对应关系。内核不支持某些虚拟设备。某些 Linux发行版没有virtio虚拟设备的驱动,可能是因为Linux发行版早于虚拟设备发布了;或者虚拟设备的驱动是闭 源的;或者是在系统编译时去掉了。因此,有时我们另外需要一个完全不同的内 核(比如Xen早期的版本就是这样的)。无论如何,在客户机上安装一个新的 内核并且使之可以启动是一个很大的冒险,最好避
21、免这样做。Xwindow需要重新配置。与磁盘、网络设备一样,系统迁移后显示设备也会 变化。理想的情况是Xwindow会自动处理这个的变化,探测所有的显示设备并 且使用它发现的第一个设备。但是这不意味着所有的Linux发行版都会以这种方式工作。网络环境的变化。静态IP地址和静态DNS解析在虚拟机迁移中是一个麻 烦的事情。尽管不是必须的,但是最好配置系统从DHCP服务器自动获得所有的 网络配置信息。CPU的扩展指令集发生变化。迁移后的系统中,新的虚拟CPU或主板和旧的会有一些不同。CPU的扩展指令集如SSE, Vectors, NX可能被加入或去掉。 CPU的型号和制造商信息可能被改变。因此,如果你想要优化虚拟系统上的软件, 这可能是浪费时间并且导致系统崩溃。最好是使用通用的软件,让程序在每次启 动的时候检查运行环境和是否需要优化。实际上,实时迁移的状况比这个还要复杂,因为处理器可能在程序的运行的过程中被改变。目前为止还没有一个方案能很好的解决这个问题。如你所见,P2V和V2V最大的问题在于硬件的改变。Linux发行版本身应 该可以处理所有的硬件变化:在系统启动的时候去检查所有的硬件, 操作系统内 核识别新的设备并寻找新的驱动处理它们,所有应用软件都不要和硬件绑定, 设计一个很好的模式来应对突然的环境变化。4. 目前流行的虚拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进口牛肉购买合同协议
- 辣椒种植用工合同协议
- 送水工劳动合同协议
- 道路拆除清运合同协议
- 车辆租赁公司合同协议
- 2024年高级会计职业发展路径试题及答案
- 跟单员兼职外包合同协议
- 转房子合同协议
- 2025年建造师考试知识的转化与应用试题及答案
- 主要审计措施与程序解析试题及答案
- 新闻报道的写作及范例课件
- 危重病人的抢救与配合 2
- 2025-2030中国CAD-CAM牙科系统行业市场发展趋势与前景展望战略研究报告
- 【9数一模】2025年安徽省合肥市第四十五中学九年级中考数学一模试卷
- 食堂承包餐饮管理制度
- 矿山地质安全培训课件
- 专题20 尺规作图-备战2025年中考数学真题题源解密(山东专用)
- 基金职业道德试题及答案
- 娱乐场所管理条例
- 体育协会的“三会一课”制度建设经验
- 中考道法万能答题模板(32大类)
评论
0/150
提交评论