WEB开发网
开发学院服务器虚拟化 旧版遗留系统自动迁移到Virtual Server虚拟机 阅读

旧版遗留系统自动迁移到Virtual Server虚拟机

 2007-11-09 10:17:54 来源:WEB开发网   
核心提示:原文地址:http://blogs.itecn.net/blogs/ahpeng/comments/1623.aspx导读 本文详细介绍如何利用VSMT(Virtual Server迁移工具包)和ADS(自动部署服务),将Windows NT Server 4.0操作系统自动迁移到Microsoft Virtual S
原文地址:http://blogs.itecn.net/blogs/ahpeng/comments/1623.aspx

导读 本文详细介绍如何利用VSMT(Virtual Server迁移工具包)和ADS(自动部署服务),将Windows NT Server 4.0操作系统自动迁移到Microsoft Virtual Server 2005虚拟机。整个迁移过程完全是零痛苦、自动化实现,几乎不需要人工干预。

随着技术的飞速更新,很多网络管理员可能会觉得企业环境里的遗留系统是“鸡肋”:由于遗留系统上的旧版应用程序无法直接在Windows Server 2003平台上运行,所以既不能报废这些遗留系统,也无法直接迁移到Windows Server 2003平台上。

而有了Microsoft Virtual Server 2005,管理员就可以摆脱这种两难境地,只需将旧版应用程序连同老的操作系统一起迁移到Virtual Server虚拟机里就可以。

然而对于管理员来说,将遗留系统迁移到虚拟机仍然是一件苦差事,需要搭建虚拟机环境、重新安装操作系统(Guest OS)、重新安装应用软件……同时可能有成百上千台遗留系统需要迁移,可能已经遗忘某些旧版应用程序的序列号、甚至连安装介质也丢失了……幸好微软好事做到底,提供一个VSMT+ADS的解决方案,我们可以籍以实现整个迁移过程的自动化。

实验环境

本实验需要两台计算机:

1.计算机A:Host-OS为Windows Server 2003,安装VMware GSX Server 3.1,然后创建一台Windows NT Server 4.0虚拟机,计算机名为VMwinnt,该NT 4虚拟机就是本次迁移的源计算机。

2.计算机B,计算机名为diyinside,Host-OS为Windows Server 2003,安装Microsoft Virtual Server 2005、ADS和VSMT。将在该计算机上获取源系统的映像文件,同时产生迁移的目标虚拟机VSwinnt。

本实验的物理结构和实验步骤如下图所示。

0) this.style.zoom=zoom+'%';return false;" title="按此在新窗口浏览图片" src=/tech/UploadPic/2010108/20101082633318.jpg>


本实验的步骤大致可以分为以下六步:

1.在源计算机VMwinnt上运行GatherHW.exe脚本收集硬件和系统信息,并生成一个xml(标准化越来越近了)文件。

2.在计算机diyinside上运行VMscript对先前创建的xml(标准化越来越近了)文件进行检测,以此验证源计算机是否具备迁移的条件。

该过程还将产生本次迁移所需的所有脚本文件,包括捕获映像、创建Virtual Server虚拟机、和部署虚拟机等脚本文件。

3.在计算机diyinside上运行步骤2所产生的Capture.cmd脚本文件,来捕获源计算机的映像文件。

4.在计算机diyinside上运行步骤2所产生的CreateVM.cmd脚本文件,将会在计算机diyinside上创建目标虚拟机(本例的计算机名为VSwinnt)。

5.在计算机diyinside上运行步骤2所产生的DeployVM.cmd脚本文件,将会把先前所捕获的映像文件部署到新建的虚拟机VSwinnt上。

6.部署好以后,就可以进行一些善后工作,例如安装Virtual Machine Additions、调整虚拟网络等。

提示 为什么要用VMware虚拟机作为源计算机?这是因为从VMware GSX Server 3.0版本(VMware Workstation 4.0)开始,VMware虚拟机支持从虚拟PXE网卡启动,这样我们无需专门准备一台带PXE网卡的物理计算机。同时还可以顺便了解如何将VMware虚拟机迁移到Virtual Server虚拟机。

准备工作

1.准备源计算机

首先是准备源计算机,可以在计算机A上利用VMware GSX Server 3.1创建一台虚拟机,分配96MB内存,虚拟硬盘大小为1GB。Guest OS为Windows NT Server 4.0(安装Service Pack 6a),然后必须安装WMI Core 1.5(否则无法在源计算机上利用GatherHW脚本收集硬件信息),我们可以到以下微软网页下载:

http://www.microsoft.com/downloads/details.aspx?familyid=c174cfb1-ef67-471d-9277-4c2b1014a31e&displaylang=en

整个迁移过程并不需要活动目录的支持,但是在局域网中必须具有DHCP服务器,我们可以在计算机diyinside上搭建DHCP服务器。

此外为了迁移的方便,需要注意以下两点:

(1)虚拟机的硬盘节点最好使用IDE接口,而不要使用SCSI接口,否则需要事先在ADS部署代理资料库(ADS deployment agent repository)里加载VMware SCSI驱动程序。

(2)作为源计算机的VMware虚拟机,最好不要安装VMware Tools。原因很简单:对于作为目的系统的Virtual Server虚拟机来说,VMware Tools只能是一个累赘,安装了反而会导致问题。

2.配置环境变量

依次在计算机diyinside上安装Microsoft Virtual Server 2005、ADS和VSMT。为了方便讲述,这里假设安装目录为D:\Program Files。

安装了VSMT以后,系统应该会自动创建一个VSMT_PATH环境变量,指向VSMT的安装目录。如果系统没有自动创建,则运行脚本命令时会报错,我们可以用以下方法手动创建:

(1)单击开始菜单、所有程序、附件、“命令提示符”菜单项,打开命令提示符窗口。

(2)在命令提示符下输入以下命令并回车:

set VSMT_PATH=D:\Program Files\Microsoft VSMT

注销当前用户并重新登录后,在命令提示符下运行以下命令进行验证:

set |find /i "VSMT_PATH"

命令结果如下所示:

Microsoft Windows [版本 5.2.3790]

(C) 版权所有 1985-2003 Microsoft Corp.

C:\>set VSMT_PATH=D:\Program Files\Microsoft VSMT\

C:\>set |find "VSMT_PATH"

VSMT_PATH=D:\Program Files\Microsoft VSMT

3.设置虚拟网络

当用CreateVM.cmd命令创建目标虚拟机时,需要将该虚拟机连接到名为VM0的虚拟网络。然后DeployVM.cmd命令需要用该虚拟网络连接到虚拟机,进行映像部署。如果VM0虚拟网络不存在,部署过程就会出错。我们可以在计算机diyinside上用以下方法手动创建一个名为VM0的虚拟网络。

在计算机diyinside上进入Virtual Server的主页面,单击左侧的Virtual Networks、Create,即可进入虚拟网络创建页面,指定虚拟网络的名称为VM0,并且指定虚拟网络所使用物理网卡(该物理网卡必需连接、或者绑定到ADS Service),最后单击Create即可,如下图所示。


0) this.style.zoom=zoom+'%';return false;" title="按此在新窗口浏览图片" src=/tech/UploadPic/2010108/20101082633820.jpg>


4.获取Hotfix

在部署映像文件到虚拟机的时候,有可能会收到以下的错误消息:

Timeout while waiting for device to boot to DA. Exiting

如果确认虚拟网络配置正常(连接到正确的物理网卡),同时局域网内的DHCP服务器工作正常,那么可能需要安装Hotfix(875533),才能避免虚拟机的DHCP请求延迟。要获得这个补丁,需要致电微软技术支持(呵呵,盗版用户就免了,不能指望微软会帮助你实现盗版到正版的“免费迁移”)。

注意 需要注意的是,这里的DHCP服务器必须是由物理局域网内的计算机提供,而不是由虚拟网络里的Virtual DHCP Server提供。

收集源计算机的相关信息

现在开始收集源计算机的相关信息。我们可以在计算机diyinside上将GatherHW.exe脚本文件从VSMT的安装目录D:\Program Files\Microsoft VSMT复制到源计算机VMwinnt的C盘。

然后以管理员帐户的身份登录到源计算机VMwinnt,打开命令提示符窗口,运行以下命令:

GatherHW.exe /f C:\VMwinnt.xml(标准化越来越近了)

命令参数:

/f指定导出的xml(标准化越来越近了)文件的保存路径。

命令结果如下所示:

Microsoft (R) Virtual Server Migration Toolkit - Gather H/W Tool version 541.0

Copyright (C) 2004 Microsoft Corporation. All rights reserved.

Writing configuration information to file: 'C:\VMwinnt.xml(标准化越来越近了)'

Connected to WMI. Gathering Information. Please Wait.

Gathering System Summary.

Gathering Controller Info: 'IDE'.

Gathering Controller Info: 'SCSI'.

Gathering Disk Information

Gathering Logical Drive Information

Gathering Mounted Devices Information

Gathering Network Information

Gathering Video Information..

Gathering Parallel Port Information..

Gathering Sound Card Information..

Gathering CDROM Information..

Gathering Serial Port Information.

Gathering Services Information..

Gathering Driver Information.

Gathering Run Section Information

Gathering Hotfix Information..

Success.

验证源计算机和产生脚本文件

接下来将上个步骤所产生VMwinnt.xml(标准化越来越近了)文件复制到计算机diyinside的D盘下。然后以管理员帐户的身份登录到diyinside上,打开命令提示符窗口,运行以下命令以验证源计算机:

VMscript /hwvalidate /hwinfofile:D:\VMwinnt.xml(标准化越来越近了)

如果一切正常,命令结果如下所示。

Microsoft (R) Virtual Server Migration Toolkit - Vmscript Tool ver.6.0.541.0

Copyright (C) 2004 Microsoft Corporation. All rights reserved.

Parsing file: d:\VMwinnt.xml(标准化越来越近了)

Checking configuration for incompatibilities.

No incompatibilities found.

然后再运行以下命令来产生本次迁移所必需的脚本文件:

VMscript /hwgeneratep2v /hwinfofile:"d:\VMwinnt.xml(标准化越来越近了)" /name:VSWINNT /hwtaskseqpath:"D:\Program Files\Microsoft VSMT\p2v" /hwpatchdir:"D:\Program Files\Microsoft VSMT\patches" /vmconfigpath:"D:\Program Files\Microsoft VSMT\VMs" /virtualDiskPath:"D:\Program Files\Microsoft VSMT\VMs" /hwdestvs:diyinside

参数解释:

/hwgeneratep2v:告诉VMscript命令,要产生物理计算机到虚拟机迁移所必需的脚本文件。

/name:VSWINNT:指定目标计算机名为/name:VSWINNT。

/hwtaskseqpath:"D:\Program Files\Microsoft VSMT\p2v":指定产生的脚本文件和ADS任务序列所存储的路径。

/hwdestvs:diyinside:指定Virtual Server宿主机的主机名(本例是diyinside)。

/vmconfigpath和/virtualDiskPath:指定目的虚拟机VSwinnt的配置文件和虚拟硬盘的存储位置,默认为D:\Program Files\Microsoft VSMT\VMs。

捕获映像文件

以管理员帐户的身份登录到diyinside上,进入D:\Program Files\Microsoft VSMT\p2v\VSWINNT目录,运行其下的VSWINNT_capture.cmd命令。系统会提示重新启动源计算机VMWINNT,如下图所示。


0) this.style.zoom=zoom+'%';return false;" title="按此在新窗口浏览图片" src=/tech/UploadPic/2010108/20101082633668.jpg>

根据系统提示重启源计算机VMWINNT,然后按F12键,即可以从PXE虚拟网卡启动,同时开始映像文件捕获进程,如下图所示。映像文件捕获结束后,ADS会自动关闭源计算机。

0) this.style.zoom=zoom+'%';return false;" title="按此在新窗口浏览图片" src=/tech/UploadPic/2010108/20101082633210.jpg>
创建虚拟机

以管理员帐户的身份登录到diyinside上,进入D:\Program Files\Microsoft VSMT\p2v\VSWINNT目录,运行其下的VSWINNT_CreateVM.cmd命令。该命令依次执行以下步骤:

1.在D:\Program Files\Microsoft VSMT\VMs\目录下创建虚拟机配置文件VSWINNT.vmc,命令输出如下所示:

VSMT Installed on: "D:\Program Files\Microsoft VSMT\"

executing: "D:\Program Files\Microsoft VSMT\"vmclient.exe -nologo:True -nodebug:

True -name:"VSWINNT" -vmCreate:True -nonacpi:True -vmConfigPath:"D:\Program File

s\Microsoft VSMT\VMs" -vmMemory:"96"

CreateVirtualMachine:VSWINNT with memory:96MB

Error: Error saving file: D:\Program Files\Microsoft VSMT\VMs\VSWINNT.vmc.

Retrying to write the file...

File was successfully written.

…………

2.清空虚拟机的网络配置,然后重建虚拟网卡(默认MAC地址和源计算机的网卡一致),然后将该虚拟网卡连接到VM0虚拟网络上,命令输出如下所示:

…………

<===Remote job output

Adding Network Card with MAC:000C29A57737. Corresponding source device MAC:000C2

9A57737

Executing VMClient on remote machine: diyinside

===>Remote job output:16

VSMT Installed on: "D:\Program Files\Microsoft VSMT\"

executing: "D:\Program Files\Microsoft VSMT\"vmclient.exe -nologo:True -nodebug:

True -name:"VSWINNT" -addVirtualNic:True -mac:"000C29A57737" -hostNetwork:"VM0"

Adding Nic to VSWINNT

Adding NIC 00-0C-29-A5-77-37

VMClient.exe returned 0

3.将RIS2003虚拟软盘映像挂载到新建的虚拟机上,这样虚拟机就能够以PXE方式启动(Virtual Server不能模拟PXE网卡),命令输出如下所示:

<===Remote job output

insert Ris floppy

Executing VMClient on remote machine: diyinside

===>Remote job output:17

VSMT Installed on: "D:\Program Files\Microsoft VSMT\"

executing: "D:\Program Files\Microsoft VSMT\"vmclient.exe -nologo:True -nodebug:

True -name:"VSWINNT" -floppy:True -floppyImage:"ris2003.vfd"

Set floppy for VM VSWINNT to ris2003.vfd

Attaching floppy ris2003.vfd

VMClient.exe returned 0

4.该命令还将创建虚拟磁盘,还将在ADS里创建一个设备对象,以备后面的部署工作。最后,系统还会自动进入Virtual Server主页面(需要以正确的用户名、密码登录),以便我们修改新建虚拟机的属性。

部署映像文件到虚拟机

以管理员帐户的身份登录到diyinside上,进入D:\Program Files\Microsoft VSMT\p2v\VSWINNT目录,运行其下的VSWINNT_DeployVM.cmd命令。

该命令将会从先前挂载的RIS2003虚拟软盘来启动虚拟机,这样虚拟机就可以用PXE方式启动到ADS Deployment Agent,然后将先前捕获的映像文件自动部署到新建的VSwinnt虚拟机中,如下图所示。

0) this.style.zoom=zoom+'%';return false;" title="按此在新窗口浏览图片" src=/tech/UploadPic/2010108/20101082633155.jpg>
善后工作

现在整个迁移工作就算完成了,对于Windows NT Server 4来说,还需要做以下三个善后工作:

1.迁移完成以后,为了提高显示、鼠标操作效果,我们可以在VSwinnt虚拟机里安装Virtual Machine Additions。

2.需要安装Hotfix 872952,以便今后可以使用Chkdsk命令来对磁盘进行检测修复。要获得这个补丁,需要致电微软技术支持(国内免费技术支持电话是8008203800)。

3.在Virtual Server主页面进入VSwinnt虚拟机的配置页面,然后进入其Floppy Drive页面,从“Known floppy disks”部分挂载“NT4 Network Driver.vfd”软盘映像文件。然后手动添加一块DEC 21140网卡即可。

工具下载

这里给大家提供本文所涉及的工具软件的下载地址。

(1)Microsoft Virtual Server 2005 Evaluation Kit

可以到以下微软官方网站注册下载180天免费试用的Microsoft Virtual Server 2005 R2评估套件(最新的R2版本已经可以模拟PXE网卡,无需专门的RIS2003软盘映像):

http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/trial/default.mspx

(2)Virtual Server 2005 Migration Toolkit(VSMT)

http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/vsmt.mspx

(3)Automated Deployment Services(ADS)

http://www.microsoft.com/windowsserver2003/techinfo/overview/adsbenefits.mspx

(4)WMI Core 1.5

由于GatherHW要借助WMI来收集信息,所以如果源计算机的操作系统是Windows NT Server 4.0 SP 6a,就必须手动安装WMI,可以到以下微软站点下载:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C174CFB1-EF67-471D-9277-4C2B1014A31E

注意 本文最初于2005年1月份刊登于Winmag,部分改动后在此发布。

posted on 2006年1月19日 11:19 由 ahpeng

Tags:遗留 自动

编辑录入:coldstar [复制链接] [打 印]
赞助商链接