取决于环境,迁移虚拟机可能变成一件棘手的工作。Platespin的PowerConvert是大多数迁移里有用的工具,其价格也相对较低。当你需要转换虚拟磁盘,但没有PowerConvert的预算时会发生什么样的情况? 如果你需要转换微软(.vhd)虚拟磁盘到VMware(.vmdk)虚拟磁盘,可以使用VMware的Virtual Machine Importer,这是一个可免费下载的工具。为了将VMware的虚拟机转换到Virtual Server或Virtual PC,仅有的来自微软的开源产品是Virtual Server Migration Toolkit (VSMT)。
不过由于V……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
取决于环境,迁移虚拟机可能变成一件棘手的工作。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),许多管理员更喜欢使用另一种方法。
在本文中,TechTarget中国的特约作者Chris Wolf将描述这种将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 "HKLM\SYSTEM\CurrentControlSet\Services\VMTools\Start", _
4, "REG_DWORD"
' Disable VMware vmx_svga video driver
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\vmx_svga\Start", _
4, "REG_DWORD"
' Disable VMware vmmouse driver
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\vmmouse\Start", _
4, "REG_DWORD"
' Disable VMware vmscsi driver
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\vmscsi\Start", _
4, "REG_DWORD"
' Disable VMware PCnet driver
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\PCnet\Start", _
4, "REG_DWORD"
' Disable VMware Buslogic driver
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\buslogic\Start", _
4, "REG_DWORD"
' Disable SCSI Miniport drivers
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\symc810\Start", _
4, "REG_DWORD"
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\symc8xx\Start", _
4, "REG_DWORD"
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\cpqarray\Start", _
4, "REG_DWORD"
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\pcntn4m\Start", _
4, "REG_DWORD"
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\cpqnf3\Start", _
4, "REG_DWORD"
objShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\MRaidNT\Start", _
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 & "\root\cimv2")
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”。
5.检查系统的服务器包级别。如果没有安装服务包,那么需要用到OS Setup CD。如果安装了,需要访问服务包设置文件。
注意,你复制的文件与OS/Service Pack版本想匹配非常重要。复制旧一点的版本可能使用系统不能启动。
6.打开命令提示符窗口。
7.恢复到默认HAL,运行以下命令(假定Service Pack或Setup CD-ROM有驱动器号D):
expand d:\i386\hal.dl_ %windir%\system32\hal.dll
注意,如果你从%windir%\system32\servicepackfiles文件夹复制文件(假定在服务包安装期间,在本地复制SP备份文件到系统的硬盘)的话,你只需要复制servicepackfiles\i386\hal.dll文件到%windir%\system32文件夹。
8.将目前的ntoskrnl更换成默认值,使用下面的命令:expand d:\i386\ntoskrnl.ex_ %windir%\system32\ntoskrnl.exe。
注意,如果你从%windir%\system32\servicepackfiles文件夹复制文件,只需要复制servicepackfiles\i386\ntoskrnl.exe文件到%windir%\system32文件夹。
9.现在运行prepvm.vbs脚本。虚拟机现在将关闭并可以进行镜像了。
准备好源虚拟机后,现在就能开始镜像过程了。
在第二部分,我们将讨论如何准备FTP服务器、克隆源虚拟机以及准备目标虚拟机。
作者
翻译
相关推荐
-
VMware快照工作原理以及如何运用
当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]
-
通过VMware DRS规则管理Windows Server 2016授权成本
对于想要缓解Windows Server 2016授权成本负担的IT管理员,可以考虑VMware的分布式资源调 […]
-
VMware VVOLs应用案例逐步增加
有时技术具有一定的超前性,VMware VVOL就是一个例证,它承诺满足人们对hypervisor技术的所有预 […]
-
配置ESXi Autostart,自动打补丁
顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。