现有 VMware 产品和功能
在手动移动或复制虚拟机磁盘文件之前,请考虑使用能够实现相似结果的现有 VMware 功能。这些 VMware 功能包括:
- 使用 VMware Converter 转换虚拟机。有关详细信息,请参见 。
- 使用 VMware vCenter Converter 转换虚拟机。有关详细信息,请参见 VMware 产品版本对应的 。
- 使用 VMware vCenter 或 VMware VirtualCenter 的实时迁移、冷迁移、克隆或 Storage vMotion。有关详细信息,请参见 VMware 产品版本对应的 中的 Migrating Virtual Machines(迁移虚拟机)。
- 使用 VMware Consolidated Backup 备份虚拟机。有关详细信息,请参见 VMware 产品版本对应的 。
注意事项和附加说明
以下是特定于移动或重新定位虚拟机磁盘文件的几项局限声明:
-
不同版本 VMware 产品的虚拟磁盘文件的实现可能不同。有关详细信息,请参见 。
-
使用快照时,虚拟机的虚拟磁盘可以由属于一个相互依存链的多个 VMDK 文件组成。有关详细信息,请参见 中的 Disk Chaining and Redo Logs(磁盘链和重做日志)。
-
为防止在 ESX 上出现与性能和数据管理相关的问题,应避免对存储操作使用 scp、cp 或 mv,而要使用 VMware 的虚拟机 Importer 工具 vmkfstools。有关服务控制台内的工具使用情况的详细信息,请参见 。
-
为避免出现涉及快照和不一致磁盘链的任何潜在问题,应确保虚拟机不包含任何快照。移动包含快照的虚拟机不在本文的讨论范围之内,VMware 强烈建议使用上述备用方法之一。
-
必须知道要移动的虚拟磁盘文件的准确位置,并且必须确保虚拟机已关闭电源。
复制或移动虚拟机和虚拟磁盘
按照以下高级步骤操作将虚拟机移至备用位置:
-
选择虚拟机。
-
提交虚拟机上的所有快照。有关详细信息,请参见 。
-
确定虚拟机的工作目录。
-
确定所有虚拟磁盘的位置。
-
关闭虚拟机电源。
-
创建用于存放虚拟机副本的文件夹。
-
将虚拟机配置文件 ( .vmx) 复制到新文件夹中。
-
-
注册新的虚拟机。
-
将虚拟磁盘副本添加到虚拟机副本中。
-
必要时升级虚拟硬件。
-
打开虚拟机电源。
-
测试新的虚拟机。
-
或者,删除原始虚拟机文件。
注意:有关执行这些常规步骤的详细信息,请参见本文中的 ESX 和 ESXi 的命令和 VMware Server 和 VMware 桌面产品的命令。
创建新虚拟机以及复制或移动虚拟磁盘
创建新虚拟机而不是复制原始的虚拟机配置文件有许多好处。创建新虚拟机后,您无需创建文件夹、升级虚拟机硬件或注册虚拟机。
按照以下高级步骤操作,在备用位置重新创建虚拟机:
-
选择虚拟机。
-
记下虚拟机的网络、内存和 CPU 配置。
-
提交虚拟机上的所有快照。有关详细信息,请参见 。
-
确定所有虚拟磁盘的位置。
-
关闭虚拟机电源。
-
移除虚拟磁盘。
警告:不要删除虚拟磁盘。
- 创建新虚拟机并重新创建在第 2 步确定的配置。
- 将虚拟磁盘复制到新虚拟机的文件夹。 有关详细信息,请参见 Moving or Copying Virtual Disks in a VMware Environment (900)。
-
将虚拟磁盘副本添加到新虚拟机中。
- 打开新虚拟机的电源。
-
测试新的虚拟机。
-
或者,删除原始虚拟机文件。
注意:有关执行这些常规步骤的详细信息,请参见本文中的 ESX 和 ESXi 的命令和 VMware Server 和 VMware 桌面产品的命令。
ESX 和 ESXi 的命令
在 ESX 和 ESXi 中,将虚拟机复制到新位置或在备用位置重新创建虚拟机的步骤有所不同。
有关执行以下任务的具体说明,请参见相应的 :
- 打开虚拟机电源
- 关闭虚拟机
- 移除虚拟磁盘
- 升级虚拟硬件
- 添加虚拟磁盘
警告:在某些情况下,您可能希望通过命令行或服务控制台运行以上某些步骤。为支持某些内部操作,ESX 安装中加入了标准 Linux 配置命令的子集(例如,网络和存储配置命令)。使用这些命令执行配置任务可能会导致严重的配置冲突,并会使一些 ESX 功能不可用。除非 vSphere 文档或 VMware 技术支持提供了特别说明,否则请始终使用 vSphere Client 配置 ESX。
注册虚拟机
要从 ESX 服务控制台注册虚拟机,请运行以下命令:
vmware-cmd <cfg> register,其中 <cfg> 是 vmx 文件的完整路径
其中 <cfg> 是 .vmx 文件的完整路径
在 Versions ESXi 4.1、5.0、5.1 和 5.5 中,vmware-cmd 命令不再是有效命令。必须安装 vCLI (vSphere CLI)。有关详细信息,请参见以下链接:
要从 ESXi 和 vSphere CLI 注册虚拟机,请运行以下命令:
vmware-cmd.pl -H <host> -U <username> -P <password> <cfg> register
其中 <cfg> 是 .vmx 文件的完整路径
在 ESXi 5.x 中,使用以下命令注册虚拟机:
vmware-cmd.pl -H <vc_server> -U <login_user -P <login_password --vihost <esx_host> -s register /vmfs/volumes/Storage2/testvm/testvm.vmx
注意:系统返回 0 表示成功,返回 1 表示失败。
确定工作目录
要从 ESX 服务控制台确定虚拟机的工作目录,请运行以下命令:
vmware-cmd -l
要从 ESXi 和 vSphere CLI 确定虚拟机的工作目录,请运行以下命令:
vmware-cmd.pl -H <host> -U <username> -P <password> -l
确定所有虚拟磁盘的位置
要从 ESX 服务控制台确定所有虚拟磁盘的位置,请运行以下命令:
grep -i vmdk <cfg>
其中 <cfg> 是 vmx 文件的完整路径
创建用于存放虚拟机副本的文件夹
要从 ESX 服务控制台创建用于存放虚拟机副本的文件夹,请运行以下命令:
mkdir /vmfs/volumes/<datastore>/<dir>
其中 <datastore> 是所需的数据存储,<dir> 是所需目录的名称</dir></dir>
要从 ESXi 和 vSphere CLI 创建用于存放虚拟机副本的文件夹,请运行以下命令:
vifs.pl -H <host> -U <username> -P <password> --mkdir '[datastore] dir'
其中 datastore 是数据存储的名称,dir 是新目录的名称
将虚拟机配置文件复制到新文件夹
要从 ESX 服务控制台将虚拟机配置文件 ( .vmx) 复制到新文件夹,请运行以下命令:
cp <source> <destination>
其中 <source> 是虚拟机配置文件的完整路径,<destination> 是 .vmx 文件的所需位置。
要从 ESXi 和 vSphere CLI 将虚拟机配置文件复制到新文件夹,请运行以下命令:
vifs.pl -H <host> -U <username> -P <password> --copy '[src datastore] <src dir>/<vmx>' '[dst datastore] <dst dir>/<vmx>'
其中:
- src datastore 和 dst datastore 分别是源和目标数据存储
- <src dir> 和 <dst dir> 分别是源和目标目录
- <vmx> 是 .vmx 文件的名称
注意:
- 有关使用 vSphere 命令行界面的详细信息,请参见 。
- 有关 ESX 特定命令的详细信息,请参见 VMware 产品版本对应的 的附录。
在不同平台间跨网络复制虚拟磁盘文件
在网络中移动虚拟磁盘文件可借助多种方法在许多平台上实现。以下是跨不同网络传输文件的若干个选项:
- FTP 文件传输
- SCP 文件传输
- NFS 共享
- Windows 文件共享(CIFS 共享)
有关如何使用这些特定方法启用、配置和传输文件的步骤不在本文的讨论范围之内。跨网络传输虚拟磁盘文件时,VMware 建议在文件传输之前和之后对信息进行验证。这可以通过使用 MD5 校验和来实现。有关 MD5 校验和的详细信息,请参见 。