微软虚拟化跨版本迁移

之前老王曾经在WSFC2008R2跨群集迁移WSFC2012R2一文中提到过虚拟化迁移,但是由于不是专门写虚拟化迁移的文章,所以写的不是很详尽,本文我们将详细讨论微软虚拟化的跨版本迁移

微软Hyper-V于2008发布,经历过2008,2008R2,2012,2012R2,2016等五个版本,其中目前国内使用最多的是2008R2,2012R2两个版本,可能大多数用户使用2008R2 Hyper-V用作过尝试测试,或者觉得2008R2 Hyper-V的性能不能满足需求,2012R2 Hyper-V可以说是一个真正可以在企业里面部署的企业级虚拟化产品,可以提供并不逊色于其它虚拟化厂商的性能,最主要的是该有的企业级功能都已经具备,因此随着企业了解,我相信会有越来越多的企业采用2012R2 hyper-v虚拟化,在采用过程中避免不了要面临迁移的问题,可能公司已经在先有2008R2上面部署了一些虚拟机,如何迁移到新的平台,有哪些方法可以选择,怎么迁移停机时间最少,这就是我们今天需要讨论的话题

2008R2到2012R2迁移的最大一个问题就是2012R2 hyper-v不能向下兼容 2008R2 hyper-v,即是说,2008R2并不能直接把虚拟机以实时迁移的方式迁移到2012R2,所以,如果2008R2是单机情况下,迁移时需要关闭虚拟机,进行迁移,2008R2单机迁移到2012R2单机,或迁移到2012R2群集,方法大体有以下几种

  1. 直接拷贝2008R2虚拟机VHD,到2012R2上面基于VHD新建虚拟机:这个方法的好处是,如果在网络带宽足够大的情况下,你可以很快的把VHD文件拷贝到2012R2服务器,然后新建,开机,一系列过程下来,对于技术要求并不会很高,没有什么操作风险,你只需要选择一个合适的时间点,关机虚拟机拷贝文件即可,这种方式的宕机时间是从关闭虚拟机+拷贝VHD到2012R2+创建开机虚拟机,直到最终创建完成虚拟机,才可以重新对外提供服务,这种方法的弊端,不适合网络带宽不足的企业环境,如果带宽不足,拷贝文件的时间会很长,将延长宕机时间,其二,只适合简单的虚拟机,即是说对于虚拟机并没有过多的设置,例如设置多个网卡,每个网卡设置了不同的参数功能,我们如果只是拷贝VHD,这些虚拟机设置是不会带过去的,你需要手动记下来,然后新建虚拟机的时候按照记录进行调整,不支持avhd,即不支持差异磁盘和快照,只支持vhd文件

此场景我们假定2008R2和2012R2使用不同存储,如果是使用相同存储的情况下,可以将现有2008R2存储添加一个目标给2012R2,然后直接把所有2008R2上面虚拟机的设置记录,移除2008R2存储目标,关闭2008R2虚拟机,在2012R2上面基于设置新建虚拟机,宕机时间是存储目标从2008R2移除+虚拟机关闭+虚拟机创建开机

2.虚拟机导入,虽然2012R2不能支持2008R2直接实时迁移,但是可以支持2008R2的虚拟机通过导入的方式,添加到2012R2的环境,不同的是2012R2可以虚拟机实时导出,2008R2只能关机导出,这种虚拟机导入导出的方式,好处就是可以导出虚拟机所有配置+磁盘,导入时会把配置和磁盘一起导入,不需要管理员进行额外记录,坏处就是,2008R2时代对于虚拟机导出导入限制太多,例如被导出的虚拟机MAC地址都设置为静态,使用标准网络适配器,不能包括快照等等,而且有时候导出失败需要进行排错,较为麻烦,有时导出时间比直接拷贝VHD的时间要长很多,因此我给大家的建议,如果虚拟机没有太多的设置,单机场景下直接拷贝VHD新建最好,如果虚拟机有很多单独的设置,则可以采用导入导出的方式进行操作

3.VMM迁移,VMM2012R2支持添加2008R2,2012,2012R2 Hyper-V,也支持跨版本互相迁移,跨单机群集互相迁移,需要注意Hyper-V 2008R2 虽然可以在VMM被跨版本迁移到2012,2012R2,但实际上背后走的是导入导出,并非直接迁移,即是说2008R2虚拟机也需要满足导出的需求才可以被VMM迁移,与单独的虚拟机导入导出和直接拷贝VHD对比,最大的一点不同是,通过VMM的跨版本迁移,当虚拟机被导入到2012或2012R2时,会自动为虚拟机升级集成组件,而我们采用单独导入导出和直接拷贝VHD都需要事后手动或脚本针对虚拟机升级集成组件。VMM需要单独付费购买。

总结来看,微软自家的2008R2单机迁移到2012R2大体分为两种,1.直接拷贝VHD,2.导入导出。两种办法都避免不了宕机时间,虚拟机必须关闭被导出,必须关机拷贝VHD文件。我们上面讨论的场景,都是直接迁移的场景,如果是替换场景,例如当前1台2008R2宿主机,1台新加2012R2宿主机,希望虚拟机迁移到新加宿主机后,原有宿主机也能升级利用,在这种替换场景下,建议确认虚拟机已经导入或新建在新宿主机后,直接对原宿主机重装系统,不建议采用升级安装。

除了微软自身的方案,另外推荐一个单机对单机的迁移方案,Veeam Backup&Replication,通过它我们可以添加进来2008R2,2012,2012R2 Hyper-v主机,然后将2008R2的虚拟机复制到2012R2!直接2008R2作为复制主站点,2012R2作为DR站点,veeam是支持这样做的,它处理了复制兼容性的问题,这样做了之后我们就可以直接通过永久性转移或者计划内转移的方式,将虚拟机从2008R2上面,直接转移到2012R2上面,它最大的好处是和hyper-v整合好,虚拟机转移到2012R2 DR站点后,直接在hyper-v列表可以看见,不再需要导入虚拟机。通过这种方式我们可以最低化宕机时间,例如如果采用计划内转移的方式,当前虚拟机实时从2008R2复制到2012R2,当某一秒增量数据从2008R2完全同步到2012R2,即隔断2008R2,开机上线2012R2虚拟机,宕机时间仅是虚拟机切割的时间+虚拟机2012R2开机上线的时间。未来希望微软也可以做到这一点,自身支持hyper-v复制跨版本

处于可用性的考虑,一些企业也可能选择在2008R2上面部署了WSFC群集架构,基于WSFC再部署Hyper-V群集,以实现虚拟机的高可用,针对于2008R2群集到2012R2群集的迁移,微软自身提供了低宕机时间的解决方案,即复制群集角色,缺点是这种方式对于操作人员的技术有一定的要求。

由于在2016之前没有滚动升级的技术,因此复制群集角色仅支持跨群集的迁移,即是说您必须要有两个群集才可以完成这件事情

所谓复制群集角色,即是指,把老群集里面的群集角色和磁盘配置复制一份到新群集,复制群集复制仅负责复制配置信息等元数据至新数据,不实际拷贝虚拟机文件,群集数据文件,但会映射复制群集磁盘配置至新群集

2008R2群集虚拟机迁移到2012R2,复制群集角色操作流程如下

  1. 确保新旧群集都可连接到存储,但同一时刻,存储只对单个群集可见
  2. 存储不添加到新群集 群集磁盘中
  3. 运行群集迁移向导,迁移虚拟机配置,CSV配置到新群集
  4. 脱机旧群集虚拟机,取消分配给旧群集的磁盘
  5. 联机旧群集迁移过来的CSV,这时会自动使用之前同时分配给新旧群集的磁盘
  6. 联机虚拟机

切割实例

  1. 虚拟机运作在2008R2群集CSV
  2. 分配CSV背后可用磁盘目标给2012R2群集节点
  3. 2012R2群集节点可以看到磁盘,但是不添加到群集存储
  4. 执行跨群集迁移向导迁移虚拟机
  5. 脱机08R2虚拟机,存储取消分配给08R2群集节点
  6. 12R2群集联机CSV
  7. 12R2群集联机虚拟机

由此大家可以看出一个问题,如果我们在有群集的情况下,那么我们迁移过程的宕机时间是很短的,虚拟机不需要一直被关机才能执行迁移,我们可以一直运作虚拟机,宕机时间仅是虚拟机在2008R2群集离线+2012R2群集联机存储+联机虚拟机的时间。

在复制群集角色方案中,还涉及到一个场景,即存储的映射,如果我们要执行跨群集的复制角色,那么我们必须要将虚拟机CSV存储那块磁盘,同时映射给08R2和12R2群集,但是切割好时间节点,12R2不添加存储至群集中直到08离线,12R2上线时因为虚拟机迁移过来,会带着CSV属性的,而CSV只认那一块磁盘,如果我们采用新群集新存储,旧群集旧存储的方式就会发生CSV的丢失,它会无法认到自己使用的那块盘。

在我们使用跨群集迁移向导时需要注意一点,针对于虚拟机的跨群集迁移向导来说,本质上迁移向导是按照CSV进行迁移,我们只能选择一个CSV,然后把下面所有的虚拟机都迁移过去,而不能选择CSV下面特定的单个虚拟机,因此可以看出,通过跨群集迁移向导,适合群集上面跑了很多虚拟机的场景,如果虚拟机不多的话您也可以选择群集间导入导出的的方式,但是老王依然建议走跨群集迁移向导,因为这样宕机时间最短。

通过复制群集角色可以帮助我们在很低宕机时间的情况下完成虚拟机的跨版本迁移,宕机时间仅发生在切换,但是复制群集角色也有它的不足,即跨群集复制角色,在虚拟机场景下,必须两个群集接入到同一个存储,通过切换间隔来进行处理切割

那么如果两个群集希望各自拥有自身存储的情况下又该如何处理呢,因为不见得所有场景下你都能把两个站点接入到同一个存储,一个不错的解决方案是“反弹迁移“

反弹迁移解决方案,我们首先在老数据中心,选择几台宿主机,迁移走负载,重装为2012R2群集,利用复制群集角色,将2008R2群集虚拟机切换至本地2012R2群集,这种解决方案在这一步,要求被重做的两台2012R2宿主机性能足够强,可以承载起同站点2008R2上面所有虚拟机负载,当虚拟机被迁移到老数据中心临时2012R2群集后,再和新数据中心建立连接,利用2012的无共享实时迁移技术,直接把虚拟机+存储从老数据中心不停机实时迁移至新数据中心。

这种解决方案利用了老数据中心做2012R2中转群集的方式来实现跨群集,跨不同存储的虚拟机迁移,宕机时间是老数据中心2008R2切换到2012R2的关闭虚拟机+联机存储+联机虚拟机的时间 + 无共享实时迁移最后的切换丢包。因此宕机时间几乎很少,关键点在于需要在老数据选择可以承载所有负载的宿主机重装2012R2,其二,2012拥有无共享实时迁移技术,即便两个宿主机连接不同存储,不在同一个群集,也可以把虚拟机迁移过去。此方案尤为适用跨城,跨地域的多数据中心迁移方案

图中VMM为可选项,只要虚拟机迁移到中转2012R2群集,就可以直接无共享实时迁移到新数据中心2012R2群集

上面我们讨论了2008R2迁移到2012R2,单机解决方案,群集解决方案,那么2012R2到2016呢,实际上2012R2到2016 比 2008R2到2012R2容易得多,原因在于2016实现了向下兼容迁移技术,即是说虚拟机可以直接从2012R2实时迁移到2016,但是迁移到2016之后仍采用2012R2版本格式,并不能完全享受2016最新功能,如果希望享受2016hyper-v最新功能,需要把迁移过来的虚拟机选择一个时间节点,关机升级虚拟机配置即可。对于群集,2012R2到2016支持滚动升级,即只在一个群集里面就可以完成迁移,虚拟机可以直接从2012节点移动到2016节点。

WSFC2012R2滚动升级至WSFC2016

http://blog.51cto.com/wzde2012/1962158

WSFC复制群集角色介绍

http://blog.51cto.com/wzde2012/1959545

WSFC2008R2跨群集迁移WSFC2012R2

http://blog.51cto.com/wzde2012/1960273

最终希望可以通过这篇文章为大家打开新的思路,明白微软虚拟化迁移的多种方法过程,为大家实际迁移过程带来帮助

原文地址:http://blog.51cto.com/wzde2012/2119256

时间: 2025-01-08 01:55:29

微软虚拟化跨版本迁移的相关文章

WSFC2008R2跨群集迁移WSFC2012R2

Ok~继续演进,在本篇中老王将为大家介绍WSFC从2008R2到2012R2的迁移,本篇老王将介绍两种群集组的迁移,分别是DHCP从WSFC2008R2迁移到WSFC2012R2,以及虚拟机的跨群集CSV迁移. 环境如下 2008R2群集 node1 MGMET:10.0.0.3 255.0.0.0 DNS 10.0.0.2 ISCSI:30.0.0.3 255.0.0.0 CLUS:18.0.0.3 255.0.0.0 node2 MGMET:10.0.0.4 255.0.0.0 DNS 10

CoreData版本迁移

Core Data版本迁移基础 通常,在使用Core Data的iOS App上,不同版本上的数据模型变更引发的数据迁移都是由Core Data来负责完成的.这种数据迁移模式称为Lightweight Migration(可能对于开发人员来说是lightweight),开发人员只要在添加Persistent Store时设置好对应选项,其它的就交付给Core Data来做了: 从命名上可以看出这两个选项分别代表:自动迁移Persistent Store,以及自动创建Mapping Model.

MSCS2003跨群集迁移至WSFC2008R2

从这篇开始,老王将为大家带来关于跨群集迁移的几篇文章,之前在国内很少看到有人提到关于跨群集迁移的一些东西,其实微软的群集是支持跨群集迁移的,那么跨群集迁移究竟是怎么回事,迁移的到底是那些内容呢,我们这就慢慢来看 在2008时代开始,当我们右键点击群集名称,更多操作,可以看到迁移服务和应用程序,点击之后会弹出这样一个迁移群集向导,实质上这是个跨群集迁移向导,旨在帮助我们从2003群集或2008群集,迁移至2008R2群集. 那么迁移向导,迁移的是什么呢,我们谈跨群集迁移究竟迁移的是什么,在2008

微软虚拟化产品Hyper-V 2.0蓄势待

微软的首个虚拟化产品Hyper–V正式推出仅仅6个月,但是微软已经开始着手准备推出一个功能更加强大的升级版Hyper-V 2.0(非正式名称).据微软表示,Hyper-V 2.0将会作为Windows Server 2008 R2的一部分.Windows Server 2008 R2是在去年10月份召开的微软专业开发人员大会(PDC)上首次亮相的,预计将会在今年某个时候正式发布. 与Hyper-V 1.0相比,2.0版本众多新特性中最具革命性的一个就是所谓的动态迁移(Live Migration

server 2003 跨域迁移用户计算机详解

以下内容适合新手,如有大侠路过,看到文章有纰漏或者不详细的地方请私信我,我做修改后给大家提供参考,另外转载的话请注明出处,方便有疑问或者提供在迁移中遇到问题的网友来咨询,另外也欢迎大家把迁移中遇到的问题以及解决方法发给我,我会加入到文档中方便大家参考,谢谢 我介绍一下我的个人环境,我搭建了两个单林单域的服务器A和B  服务器名取名为 testA 和testB 都为Windows server 2003  A服务器域名为:contoso.com    B服务器域名为:contosob.com B服

Windows 文件服务器升级并进行跨林迁移

概述 文档描述 本文档是文件服务器升级&跨林迁移实施方案,包含了域的基本信息及复制组创建和文件服务器迁移. 信息收集 信息收集 环境内部有新域(文档中以xyz.com为例)和旧域控(文档中以abc.com为例),两个域, 新域中用户和计算机均为旧域通过ADMT迁移工具迁移迁移的用户和计算机,在原旧域中有一台操作系统为windows server 2003的文件服务器,数据为300G. 旧域服务器操作系统为windows server 2003 新域控服务器操作系统为windows server

Exchange Server 跨林迁移之迁移思路及命令

项目中遇到exchange 跨林迁移需求,实施前整理了exchange跨林迁移整体思路及迁移过程所用命令,整体步骤无问题,命令需要根据实际环境修改. 1. 前提条件准准备 林信任搭建1 目标域设置(tatgetDomain.com.cn): 设置条件转发器,解析sourcedomain.com.cn域名时转发到源AD服务器 源域设置(sourcedomain.com.cn): 设置条件转发器,解析tatgetDomain.com.cn域名时转发到源AD服务器 设置完成后验证互相解析 林信任创建2

高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000

生产环境: 源数据库:RHEL + Oracle 11.2.0.3 目标数据库:HP-UX + Oracle 10.2.0.4 需求:迁移部分表  11.2.0.3-->10.2.0.4,若迁移范围内的有些表在目标库已经存在,则替换. 本次迁移数据量<1G. 初定方案:低版本的客户端连接到高版本数据库,用低版本导出,低版本导入. 1.采用初定方案,目标数据库所在服务器连接到源数据库,exp导出过程中报错. ZJCRNOPDB 36: sqlplus -version SQL*Plus: Rel

SQL版本迁移

大家有没有遇到过这么一种情况:开始时使用的是高版本的sql server,但服务器使用的是低版本的sql,会出现不兼容的问题. 此时就需要版本迁移了. 1.先在高版本的环境下生成脚本文件. 需要设置 选择类型 然后到低版本,打开脚本. 点击执行,会发现"数据库不存在". 关闭管理重新打开,此时会发现数据库已经自动建立了(没有的自己新建一个),继续点执行. 如果执行有错误,可以试着多执行几次.