解析:如何将VMware虚拟磁盘镜像转换至Virtual Server

解析:如何将VMware虚拟磁盘镜像转换至Virtual Server

作者:无名 2009-02-19 16:59:10

云计算

虚拟化 取决于环境,迁移虚拟机可能变成一件棘手的工作。Platespin的PowerConvert是大多数迁移里有用的工具,其价格也相对较低。当你需要转换虚拟磁盘,但没有PowerConvert的预算时会发生什么样的情况?

取决于环境,迁移虚拟机可能变成一件棘手的工作。Platespin的PowerConvert是大多数迁移里有用的工具,其价格也相对较低。当你需要转换虚拟磁盘,但没有PowerConvert的预算时会发生什么样的情况?

如果你需要转换微软(.vhd)虚拟磁盘到VMware(.vmdk)虚拟磁盘,可以使用VMware的Virtual Machine Importer,这是一个可免费下载的工具。为了将VMware的虚拟机转换到Virtual Server或Virtual PC,仅有的来自微软的开源产品是Virtual Server Migration Toolkit (VSMT)。

不过由于VSMT有大量烦琐的要求,包括Microsoft Automated Deployment Services(ADS),许多管理员更喜欢使用另一种方法。

在本文中,我们将描述这种将VMware虚拟机迁移到Virtual Server的方法。***部分将讲述如何为迁移准备源虚拟机,第二部分将讨论如何准备FTP服务器、克隆源虚拟机以及准备目标虚拟机。

下面是需要具备的:

Symantec Ghost磁盘镜像软件。对于没有Ghost的管理员,本文说明使用开源Ghost for UNIX(G4U)创建和部署镜像。我分别使用Symantec Ghost和G4U测试了这个过程。使用G4U,部署镜像到新Virtual Server虚拟机比使用Symantec Ghost快两倍。

上传与存储克隆镜像的FTP Server。

迁移Windows Setup CD或为虚拟机操作系统安装的***服务包。

prepvm.vbs脚本,用于禁止服务以及可能阻止已迁移的虚拟机成功启动的驱动。

将VMware虚拟机作为Virtual Server虚拟机部署相对比较容易,只要移除不必要的驱动和服务,并用现有的硬件抽象层(HAL)代替。

确保目标硬盘配置与源虚拟机磁盘配置相同,以便在克隆虚拟机之前不需要修改boot.ini文件。

现在我们来看看迁移过程。

准备源虚拟机

迁移过程最重要的一部分就是准备源虚拟机。当部署到Virtual Server时,新虚拟机不会在启动时出现蓝屏。

为了保证迁移成功,将使用我的prepvm.vbs脚本以禁用任何可能遗留的VMware驱动,避免Windows启动时阻碍虚拟机。下面是这个脚本:

‘prepvm.vbs

‘Removes VMware-specific drivers from a system

On Error Resume Next

‘ Instantiate Shell Object

Set objShell = CreateObject(“WScript.Shell”)

‘ Disable VMware Tools Service

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesVMToolsStart”, _4, “REG_DWORD”

‘ Disable VMware vmx_svga video driver

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesvmx_svgaStart”, _4, “REG_DWORD”

‘ Disable VMware vmmouse driver

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesvmmouseStart”, _4, “REG_DWORD”

‘ Disable VMware vmscsi driver

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesvmscsiStart”, _4, “REG_DWORD”

‘ Disable VMware PCnet driver

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesPCnetStart”, _4, “REG_DWORD”

‘ Disable VMware Buslogic driver

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesuslogicStart”, _4, “REG_DWORD”

‘ Disable SCSI Miniport drivers

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicessymc810Start”, _4, “REG_DWORD”

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicessymc8xxStart”, _4, “REG_DWORD”

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicescpqarrayStart”, _4, “REG_DWORD”

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicespcntn4mStart”, _4, “REG_DWORD”

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicescpqnf3Start”, _4, “REG_DWORD”

objShell.RegWrite “HKLMSYSTEMCurrentControlSetServicesMRaidNTStart”, _4, “REG_DWORD”

‘ Restart Computer

strComputer = “.”

‘Prompt user of impending reboot

WScript.Echo(“The system is prepared for imaging and will now shutdown.”)

WScript.Sleep(3)

Set objWMIService = GetObject(“winmgmts:” _

& “{impersonationLevel=impersonate,(Shutdown)}!\” & _

strComputer & ” ootcimv2″)

Set colOperatingSystems = objWMIService.ExecQuery _

(“Select * from Win32_OperatingSystem”)

For Each objOperatingSystem in colOperatingSystems

objOperatingSystem.Shutdown()

Next

照以下步骤准备源虚拟机

1.创建虚拟机的备份副本,并在余下步骤使用这个副本。为克隆准备副本,确保在克隆期间发生错误时,源虚拟机仍然可用。

2.从源虚拟机的副本启动并登录。复制prepvm.vbs脚本到虚拟机,这时候不要运行这个脚本。

3.使用添加/删除程序卸载VMware Tools。出现对话框时重启虚拟机。

4.重新登录虚拟机。如果在登录后显示Found New Hardware Wizard,取消向导。如果提示重新启动,点击”NO”。

#p#

5.检查系统的服务器包级别。如果没有安装服务包,那么需要用到OS Setup CD。如果安装了,需要访问服务包设置文件。

注意,你复制的文件与OS/Service Pack版本想匹配非常重要。复制旧一点的版本可能使用系统不能启动。

6.打开命令提示符窗口。

7.恢复到默认HAL,运行以下命令(假定Service Pack或Setup CD-ROM有驱动器号D):

expand d:i386hal.dl_ %windir%system32hal.dll

注意,如果你从%windir%system32servicepackfiles文件夹复制文件(假定在服务包安装期间,在本地复制SP备份文件到系统的硬盘)的话,你只需要复制servicepackfilesi386hal.dll文件到%windir%system32文件夹。

8.将目前的ntoskrnl更换成默认值,使用下面的命令:expand d:i386 toskrnl.ex_ %windir%system32 toskrnl.exe。

注意,如果你从%windir%system32servicepackfiles文件夹复制文件,只需要复制servicepackfilesi386 toskrnl.exe文件到%windir%system32文件夹。

9.现在运行prepvm.vbs脚本。虚拟机现在将关闭并可以进行镜像了。

准备好源虚拟机后,现在就能开始镜像过程了。

在上一部分中,我们讨论了为什么管理员有时候需要另一种方法从VMware迁移虚拟机到Virtual Server。有时,一些工具不能满足企业的需求。我们也讨论了如何为迁移准备源虚拟机。

在第二部分中,TechTarget中国的特约作者Chris Wolf将解释如何准备FTP服务器、克隆源虚拟机,然后准备目标虚拟机以接受来自源虚拟机的信息。

准备FTP服务器

如果你打算使用G4U为虚拟机创建镜像,将需要一个可用的FTP服务器。你也需要在FTP服务器上创建一个帐号,以便有权限创建和写入文件。

如果你寻找快速的FTP应用,不妨考虑Cerberus FTP。这款软件对个人免费开放,商业版本需要59.99美元。有了FTP服务器设置和叫做安装的帐号,就可以对源虚拟机创建镜像了。

克隆源虚拟机

使用以下步骤克隆源虚拟机硬盘镜像:

1.下载G4U CD-ROM ISO镜像并保存在源虚拟机主机系统上。

2.使用所下载的g4u-2.2.iso文件配置虚拟机的虚拟CD-ROM。

3.在虚拟机开始启动时按下ESC键。将出现虚拟机的启动菜单,然后选择CD-ROM驱动。

4.默认下,虚拟机将通过DHCP试图获取一个IP地址。如果没有可用的DHCP服务器,通过以下步骤为虚拟机设置一个静态IP地址:

运行ifconfig -a命令给网络接口命名。

现在运行ifconfig netmask 命令设置IP地址。例如,为了在接口pcn0上设置IP地址,你将运行ifconfig pcn0 192.168.0.10 netmask 255.255.255.0。

5.现在开始创建镜像。运行uploaddisk [disk]命令。例如,在服务器192.168.0.5上的镜像文件夹里创建叫做w2ksrv.gz的镜像,你将运行uploaddisk 192.168.0.5 images/w2ksrv.gz。

注意,如果虚拟机使用的是虚拟SCSI磁盘,你将需要在命令句法里指定克隆哪个磁盘。通过使用G4U运行磁盘命令能看见所有的磁盘。因此如果上面的例子使用的是虚拟SCSI磁盘而不是IDE磁盘的话,该运行这个命令:uploaddisk 192.168.0.5 images/w2ksrv.gz sd0。

6.出现提示时,输入密码以在FTP服务器上安装帐户。不久将开始上传镜像。

7.等待上传。完成后关闭源虚拟机。

现在已经准备好将镜像部署到目标虚拟机。

准备目标虚拟机

按照以下步骤进行:

1.在Virtual Server(或Virtual PC)上创建一台与源虚拟机硬件配置相同的虚拟机。注意,目标系统上的虚拟硬盘必须等于或大于源虚拟机的虚拟硬盘。

2.使用downloaded g4u-2.2镜像文件配置虚拟机的虚拟CD-ROM。

3.默认下,虚拟机将通过DHCP试图获取一个IP地址。如果没有可用的DHCP服务器,通过以下步骤为虚拟机设置一个静态IP地址:

运行ifconfig -a命令给网络接口命名。

现在运行ifconfig netmask 命令设置IP地址。例如,为了在接口pcn0上设置IP地址,你将运行ifconfig pcn0 192.168.0.10 netmask 255.255.255.0。

4.使用以下命令句法下载虚拟机:slurpdisk  [disk]。例如,为了下载服务器192.168.0.5镜像文件夹里叫做w2ksrv.gz的镜像,你应该运行slurpdisk 192.168.0.5 images/w2ksrv.gz。

5.出现提示时,输入密码安装FTP帐号。注意,如果下载出现错误,可能需要使用slurpdisk命令句法(例如:slurpdisk 192.168.0.5 images/w2ksrv.gz wd0)指定目标磁盘。运行磁盘命令查看所有目标磁盘。

6.下载完成后重启虚拟机。

7.重启系统后登录虚拟机。你应该能看见检测到的新硬件,并且出现重启的提示,点击”Yes”。

8.系统重启后登录,然后安装虚拟机附件。这将在新虚拟机上安装与Virtual Server(或Virtual PC)兼容的驱动。

我已经使用过本文描述的步骤转换Windows 2000、Windows XP和Windows Server 2003上的VMware虚拟机到Virtual Server 2005 R2。

当克隆系统在虚拟服务器上不能启动时,常见的问题如下:

与VMware相关的驱动在源系统未克隆之前没有安装。这能通过登录到Recovery Console并禁用与VMware相关的驱动来纠正。

复制了不正确的hal.dll和ntoskrnl.exe文件到%windir%system32文件夹。这能通过登录到Recovery Console并复制正确的文件版本到%windir%system32文件夹来纠正。

源系统的Boot.ini文件指在新Virtual Server磁盘上的错误操作系统位置。这能通过运行Recovery Console里的bootcfg /rebuild修复。

作为***的手段,许多人都重新在克隆虚拟机上重新运行Windows设置,并选择修复现有的操作系统安装。尽管这能让克隆虚拟机重新操作,不过这需要花费很长时间,还可能需要重新安装先前安装在虚拟机上的所有应用。

解决Windows设置问题的更多信息请参加Windows Server 2003 – Troubleshooting Startup。

当我***次开始执行VMware到Virtual Server的迁移时,这个过程通常非常耗时。在迁移过程中,为克隆准备源虚拟机要不到15分钟,其余时间都花在克隆软件本身了。

任何镜像方法都能用于从源虚拟机克隆虚拟磁盘到目标虚拟机,不过迁移过程的真正关键在于准备源虚拟机。如果准备得好,虚拟机迁移过程就很简单。

【编辑推荐】

  1. 中国虚拟化网络技术大会
  2. 微软虚拟化解决方案与实例剖析
  3. 2008年度产品创新奖-思科 NEXUS 网络设备虚拟化技术

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/233405.html<

(0)
管理的头像管理
上一篇2025-04-20 15:00
下一篇 2025-04-20 15:01

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注