如果企业现在已经有了Windows server 2003的基础架构环境,应该如何迁移到2012R2,哪些应用可以迁移,应该如何迁移,就是我们今天需要讨论的话题。


   首先,站在技术的角度去思考,在进行系统升级迁移的过程中,我认为应该具备以下几个步骤。


   1.现有环境评估

      收集环境中现有的2003旧操作系统数量

      收集环境中现有的硬件资产,是否符合2012R2要求

      收集现有环境中的服务器角色,确认迁移可行性,优先级

   2.软件分类

      收集环境中的软件资产,查看现有03上面有那些业务软件,确认支援与不支援在2012R2下运行的应用程序,并确定迁移优先级。

   3.确定迁移目标

      确定需要进行迁移的2003服务器

      确定需要进行迁移的服务器角色

      确定需要进行迁移的应用程序

    4.执行迁移

       按照标准的迁移SOP,在确保业务连续性,可靠性,安全性的情况下执行迁移。

    5.迁移验证

       验证需要被迁移的目标,是否正常被迁移。


    站在标准化与管理的角度去思考,在进行系统升级迁移的过程中,我认为应该具备以下几个步骤。


    1.由请求所有者发起迁移服务请求

    在这一步骤中,应该由企业IT部门,实施业务系统迁移的主要负责人去发起要进行迁移的服务请求,该服务请求中,应包括,详细的迁移描述,受影响的配置项。

    2.由信息部门管理人员确认服务请求,发表意见。

    3.如果信息部门管理人员同意服务请求,再由实施迁移的负责人正式发起一封详细的变更请求,该变更请求中,应包括,变更的目标作用域范围,变更的具体原因,变更中可能遇到的风险及技术难点,变更所需要的耗时,变更带来的好处,坏处,以及可行的回退计划。

    4.由变更评审委员会,从安全性,可行性,风险性,时效性的角度进行详细的评估,并给予变更进行批准与意见。

    5.如果变更评审委员会评审通过,实施迁移负责人,应按照预先计划好的活动,严格按照变更里面的时间范围与操作范围,实施标准化的迁移步骤,并将操作步骤按照配置管理的标准机制进行记录。

    6.如果实施迁移负责人顺利完成迁移,应归档其操作步骤,收集至企业知识管理库,同时也应该将整个变更的流程,在CMDB数据库中进行记录,方便日后审计查看。

    7.如果实施迁移负责人未能顺利完成迁移,应按照标准的回退计划,进行逐步回退,恢复至迁移前,最小化的减少业务影响,并将回退步骤,未能顺利完成迁移的原因进行记录重现,如果有必要可以改变为问题,进行深入的研究解决。

       

    如上的迁移步骤,完全是我自己的想法,与任何单位无关,如果企业希望按照标准化的环境进行业务迁移,我建议采用评估工具,诸如MAP,TCO,Azure VMRA详细评估现有数据中心IT环境,针对于实施框架,我建议采用ITIL的标准框架去进行实施。


    下面,我们再来看一下,在迁移2003到2012R2实施过程中,可能会使用到一种工具。


     Windows迁移工具是微软在Windows Server 2008R2时推出的一款系统平台级别迁移工具,可以帮助系统管理员,在相同或不同的操作系统中,迁移角色、功能、文件、用户、网卡配置等,在2008R2的时候,Windows迁移工具,被内置在Server 2008R2及以后的服务器角色与功能中,可以直接通过添加功能进行功能获取,那么,大家可能会想,既然是2008R2才推出的功能,怎么迁移03的呢?关于这个,Windows迁移工具自有妙计,大家且慢慢来看。


      Windows迁移工具,支持以下系统平台的迁移

    windows server迁移工具_windows server迁移工具

  1.要安装Windows迁移工具,首先可以选择在目标端进行安装,本例为2012R2端

   打开服务器管理-->添加服务器角色与功能

windows server迁移工具_windows server迁移工具_02

选择功能中的 Windows Server 迁移工具

windows server迁移工具_windows server迁移工具_03


选择下一步,进行安装,等待安装完成,选择关闭。

windows server迁移工具_windows server迁移工具_04


安装完成后你就会发现系统的开始菜单里面,多出了这样一个东东


windows server迁移工具_windows server迁移工具_05

点开之后,他大概长成这个样子,就是一个powershell的管理界面

windows server迁移工具_windows server迁移工具_06

在这powershell界面中,Windows迁移工具有一些它特定的cmdlet,比较常用的几个,比如说。


  • SmigDeploy

  • Export-SmigServerSetting

  • Import-SmigServerSetting

  • Get-SmigServerFeature

  • Send-SmigServerData

  • Receive-SmigServerData

  其中,SmigDeploy,主要是用于生成,用于旧版本迁移的迁移工具包,比如说,03和08要迁移到08R2或2012R2,在08R2和2012中,直接内置了Windows迁移工具的功能,可以通过添加功能直接获取powershell管理工具,但是03和08中,默认服务器管理没有Windows迁移工具这个服务器功能,所以我们就可以在2012R2的目标机器里面安装Windows迁移工具,生成可以用于2003的迁移工具包,然后拷贝到03上面进行安装


  使用方法如下

    首先进入2012R2服务器路径 C:\Windows\system32\ServerMigrationTools

     然后运行SmigDeploy /package /architecture X86 /os WS03 /path C:\Migur

windows server迁移工具_windows server迁移工具_07

这条命令的每个参数,意义如下


/package

建立可以复制到03/08/08R2的Windows迁移工具包,通常需要配合/OS  /architecture /path一起使用


/architecture

建立的迁移工具包,要运行的源操作系统,是什么CPU架构,X86或amd64


/OS

建立的迁移工具包,要运行的源操作系统,是什么操作操作系统,WS03/WS08/WS08R2/WS12


/path

建立的迁移工具包,要存放在什么路径,要求必须是已存在的路径。


    Windows迁移工具的工作原理,大致是这样,执行迁移,要求先在源,即03服务器上,执行export或send操作导出需要迁移的数据,export之后会得到一个mig文件,然后将这个mig文件复制到目标服务器,即2012R2服务器上,执行import操作即可。


  我们这一步所执行的操作,就是为了,让03的操作系统能够执行export操作,把这个生成的迁移工具包拷贝到03的服务上面去进行install,03上面就具备了Windwos迁移工具的powershell 管理工具。

  在拷贝迁移工具包到03的服务器之前,由于03本身并不具备powershell,所以要求至少为03操作系统或其它来源操作系统,安装.NET2.0及powershell1.0 如下

windows server迁移工具_windows server迁移工具_08

安装好先决条件后,将迁移工具包,复制到03服务器上,运行目录中的smigdeploy,如果弹出powershell管理工具,证明安装成功,现在我们可以在Windows Server 2003源端执行导出操作了。

windows server迁移工具_windows server迁移工具_09



说到IP迁移,其实也是我很想写的一篇博客,这项技术,当时大概是2013年的时候学习的这项技术,只是一直没找到很好的机会去实践,前一阵子,笔者参与负责了一个研发项目,项目背景,使用MVMC 3.1 powershell 迁移vmware 到 hyper-v ,同时编写异构混合云门户.NET程序,调用MVMC的powershell在UI界面进行操作,然后采用变量的方式传入到程序。


   在进行这项工作的时候,笔者发现一个问题,例如,我需要把虚拟机从ESXI5.1迁移至hyper-v3.0,我的ESXI是192.168.6.0这个网段,hyper-v3.0是192.168.2.0这个网段,当我在MVMC UI界面执行的时候,实质上,MVMC会去读取esxi里面虚拟机的配置,然后完全在hyper-v这面建立出来一个一模一样的虚拟机配置,但是,如果说esxi里面某台虚拟机的ip地址是192.168.6.1,当我把这台虚拟机迁移过来的时候,实质上,网卡信息是被清空的,当我把192.168.6.1这台虚拟机迁移到hyper-v平台下,hyper-v会重新为这台虚拟机挂载新的网卡,而不是完全把原来esxi里面虚拟机的网卡信息同步过来,所以造成的效果就是虚拟机迁移到hyper-v平台后,会重新通过hyper-v网段的dhcp获取到一个IP地址,如果hyper-v网段内没有DHCP,那么迁移过来的虚拟机会拿到一个169的IP地址。


   这个是我在UI界面执行的效果,但是当我使用 MVMC powershell 进行迁移,例如我在ESXI5.1中,有一台虚拟机是192.168.6.1,那么迁移过来之后,hyper-v的网卡是 未连接状态,你需要手动去hyper-v中重新手动连接这块网卡,手动连接上之后,网卡信息也是被清空的,所以当网卡被连接上之后,也会在hyper-v网段,重新DHCP获取到一个hyper-v网段的地址,我不知道是不是由于我的环境中,vmware和hyper-v不在同一个网段所导致的,但是我猜想,更可能是发生在VMDK转VHDX那个过程,IP地址丢了,如果您测试发现同一网段下的迁移,IP地址可以同步过来,欢迎您告诉我结果。


  那么,当时我就想,怎么能把vmware里面的网卡信息,能够迁移到hyper-v来呢,于是我立刻就想到了一个办法,这个办法需要用到三句powershell。


 第一句,很简单,在MVMC转换的powershell后面,根据前面传入的变量,即迁移到hyper-v之后的hyper-v主机,添加一个挂载网卡的命令,先让迁移过来之后网卡挂载上再说。

 第二句,就是用到了Windows 迁移工具,这条命令,我加在了转换前面的一个步骤,首先,转换需要确定Vmware里面需要转换那台虚拟机,那我就把这个转换虚拟机的变量,传入到后面的Windwos迁移工具模块,首先,获取到需要进行转换的虚拟机之后,使用远程会话连接进去,运行export-smigserversetting -ipconfig命令,把这台虚拟机的IP地址信息保存到一个网络路径下、

 第三句,就是当迁移完成之后,也成功迁移虚拟机到hyper-v平台下,也成功执行了挂载网卡之后,在挂载网卡的后面,再加上一个powershell,import-smigserversetting -ipconfig,将之前保存到网络路径下的IP地址再迁移回来,这样子,vmware里面的网卡信息就可以同步到hyper-v里面了,从某些程度来说网卡信息的迁移,也减少了一定的宕机时间与风险性。


 这个就是我想到的一个ip地址迁移,能用到的场景,或者比如说,当前我的2003服务器里面配置了很多块网卡,每块网卡又包括了很多设置,诸如DNS后缀,TCP/IP连接等等,我希望,在保留现有2003的网卡配置上,迁移到2012平台上,同时,我希望这个步骤可以自动化来完成,避免人工操作的错误,那么您也可以尝试使用Windows迁移工具进行IP信息的迁移。

 

 OK,那么言归正传,先来帮助大家复习一下


 1.Windwos迁移工具,如果需要迁移,首先,需要在来源端和目标端分别安装Windows迁移工具,才可以实施。

 2.如果源端是2008R2及以上,可以直接通过添加Windows迁移工具功能,如果源端是2008/2003,需要在通过在目标端,生成可用于03端的迁移工具包,然后将迁移工具包复制到03上面进行安装,让03上面也可以具备Windows迁移工具功能。

 3.由于Windwos迁移工具主要是在powershell工具下面进行执行,所以要求,来源端,至少安装powershell1.0、.NET2.0

 4.使用Windows迁移工具,主要是执行导入/导出操作,在来源端导出,在目标端导入,这句话如果大家暂时不理解没关系,随着我们一步一步的深入,你就会看到。


 介绍一下今天的环境。


 1台Windows server 2003  VM虚拟环境

 两块网卡 分别配置有IP地址

 已通过迁移工具包安装Windows迁移工具


 1台Windows server 2012R2  VM虚拟环境

 两块网卡,目前都是DHCP到的IP地址

 已通过服务器角色与功能安装Windows迁移工具

 

 我要做的是将2003里面的两块网卡的所有信息迁移到2012R2对应的网卡下,之后彻底替代掉2003这台服务器的网络对外连接。


 首先,我们可以打开server 2003的网卡信息进行查看


记录下这两块网卡的信息,第一块management网卡的IP地址是10.0.0.3,第二块Intranet网卡的信息是20.0.0.2,同时也请记下两块网卡的MAC地址

 windows server迁移工具_windows server迁移工具_10

在源端Windows Server 2003上面,打开Windows迁移工具的powershell tools

windows server迁移工具_windows server迁移工具_11

执行命令如下

export-smigserversetting -ipconfig -path c:\ipconfig -verbose

windows server迁移工具_windows server迁移工具_12

这条命令的意义如下

export-smigserversetting 导出源端服务器配置

-ipconfig 导出源端服务器的IP地址信息

-path 导出文件的路径

-verbose 是否在输出端显示导出信息


当执行了这条命令之后,会提示让你输入一个password,这个password,主要是用于加密Mig迁移文件的,避免Mig文件被恶意使用。


随意输入一个你喜欢的密码之后,smigserver就会开始执行导出IP地址的操作,不光是IP地址,可以看到,整个网卡的所有信息,都会被导出出来。


windows server迁移工具_windows server迁移工具_13

windows server迁移工具_windows server迁移工具_14

执行完成导出命令后,我们将导出得到的 被加密的 mig文件,复制到2012R2服务器上

windows server迁移工具_windows server迁移工具_15

windows server迁移工具_windows server迁移工具_16在2012R2服务器上打开Windows迁移工具powershell管理

执行import-smigserversetting

windows server迁移工具_windows server迁移工具_17

或者你也可以通过这条命令,在Windwos powershell中运行Add-PSSnapin,加载迁移工具的命令

windows server迁移工具_windows server迁移工具_18

Always 如果你想要使用命令提示符运行也是可以的,在命令提示符下输入以下命令即可

powershell.exe -PSConsoleFile %SystemRoot%\system32\ServerMigrationTools\ServerMigration.psc1

windows server迁移工具_windows server迁移工具_19

注意:如果你的迁移源端和目标端在同一个可以通讯的网络环境下,这里你就需要选择一个合适的时间点,将Windows server 2003里面的网卡禁用掉,总之一定在导入前执行,否则就会出现两个机器,ip地址冲突的情况!!!


windows server迁移工具_windows server迁移工具_20

这里我们选择在Windwos powershell中执行import-smigserversetting导入操作

windows server迁移工具_windows server迁移工具_21

Import-SmigServerSetting -ipconfig all -SourcePhysicalAddress "00-0C-29-E4-B5-92","00-0C-29-E4-B5-9C" -TargetPhysicalAddress "00-0C-29-5E-9E-84","00-0C-29-5E-9E-8E" -path c:\ipconfig -Verbose


这条命令的意义如下


Import-SmigServerSetting 导入服务器配置

-ipconfig 导入服务器配置信息类型,ipconfig为ip信息

all 为所有网卡

-SourcePhysicalAddress 

-TargetPhysicalAddress

看到这里,我猜大家应该就会知道,Windows迁移工具,在做网卡信息映射的时候,是根据MAC地址进行映射的,比如说,2003里面第一块网卡,management的MAC地址信息是00-0C-29-E4-B5-92,2012R2里面第一块网卡的MAC地址信息是00-0C-29-5E-9E-84,Windows迁移工具,就会将MAC地址为00-0C-29-E4-B5-92的所有网卡信息,全部映射给00-0C-29-5E-9E-84。我这里用了一个英文的,号隔离开了多个MAC地址信息 ,代表我可以同时将多块网卡,按照顺序进行映射。

-path 要导入的mig文件路径

-verbose 输出导入信息


输入之前在导出时候设定的密码,采用密文输入


windows server迁移工具_windows server迁移工具_22

输入完成后,Windows迁移工具就会开始映射网卡信息


windows server迁移工具_windows server迁移工具_23windows server迁移工具_windows server迁移工具_24

映射完成后,我们打开2012R2里面的网卡信息,发现03里面的多块网卡信息已经按照顺序映射了过来

windows server迁移工具_windows server迁移工具_25

windows server迁移工具_windows server迁移工具_26


本文出自 “一个倔强的孤岛” 博客,请务必保留此出处http://wzde2012.blog.51cto.com/6474289/1631172