使用 vmkfstools 克隆和转换虚拟机磁盘
search cancel

使用 vmkfstools 克隆和转换虚拟机磁盘

book

Article ID: 301359

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

本文提供关于使用 vmkfstools 命令将虚拟机磁盘从一种类型转换成另一种类型的信息和说明。


Symptoms:

免责声明:本文为 Cloning and converting virtual machine disks with vmkfstools (1028042) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


Environment

VMware vSphere CLI 5.0
VMware ESX Server 3.5.x
VMware vSphere ESXi 6.5
VMware vSphere Management Assistant 5.1
VMware ESXi 3.5.x Embedded
VMware ESXi 4.1.x Installable
VMware ESXi 4.1.x Embedded
VMware vSphere CLI 4.0
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 5.1
VMware ESXi 3.5.x Installable
VMware ESX 4.0.x
VMware vSphere Management Assistant 4.0.x
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.0
VMware vSphere ESXi 6.0
VMware vSphere Management Assistant 5.5
VMware vSphere ESXi 5.5
VMware ESX 4.1.x
VMware ESX Server 3.0.x

Resolution

vmkfstools 命令不仅能够克隆虚拟机内容,还能够将虚拟机磁盘从一种格式 (.vmdk) 转换成另一种格式。

注意:被选择执行此转换的主机操作系统并不一定支持​​通过已定义的输出格式来运行虚拟机。vmkfstools 能够导出虚拟磁盘,以供支持不同磁盘格式的其他 VMware 产品使用。

要将虚拟机磁盘从一种类型转换为另一种类型,请执行以下操作:

  1. 关闭虚拟机。当虚拟机磁盘文件被正在运行的虚拟机使用时,系统将锁定这些文件。
  2. 登录到 VMware vSphere Management Assistant (vMA)。或者,在部署 VMware vSphere CLI (vCLI) 之后打开命令行界面。如果需要终端访问权限:

  3. 运行以下 vmkfstools 命令将磁盘从一种格式克隆到另一种格式:

从 ESX/ESXi 终端:

vmkfstools -i input output -d format -a adaptertype

从 vMA/vCLI:

vmkfstools --server <vCenter or ESX IP/Hostname> -i input output -d format -a adaptertype

例如,要将 examplevm.vmdk Datastore 克隆到 Datastore 2,并精简置备目标副本,请运行以下命令:

从 ESX/ESXi 终端:

vmkfstools -i "/vmfs/volumes/Datastore/examplevm/examplevm.vmdk" "/vmfs/volumes/Datastore 2/newexamplevm/newexamplevm.vmdk" -d thin -a buslogic

从 vMA/vCLI:

vmkfstools --server 10.21.49.14 -i '[Datastore] examplevm/examplevm.vmdk' '[Datastore 2] newexamplevm/newexamplevm.vmdk' -d thin -a buslogic

警告:如果存在虚拟机快照或增量磁盘,请确保所选的来源是当前的快照增量磁盘。否则,会生成一个过时的目标副本。但是,在使用该命令时,需在克隆磁盘时使用与最新增量磁盘对应的描述符文件。

例如,要通过使用精简置备的目标副本,将虚拟机快照磁盘(也称为增量磁盘)examplevm-000001.vmdk Datastore 克隆和/或转换到 Datastore 2(如上所述),请运行以下命令:

从 ESX/ESXi 终端:

vmkfstools -i "/vmfs/volumes/Datastore/examplevm/examplevm-000001.vmdk" "/vmfs/volumes/Datastore 2/newexamplevm/newexamplevm.vmdk" -d thin -a buslogic

从 vMA/vCLI:
vmkfstools --server 10.21.49.14 -i '[Datastore] examplevm/examplevm-000001.vmdk' '[Datastore 2] newexamplevm/newexamplevm.vmdk' -d thin -a buslogic

请注意,对于输入文件,这里选择的是 examplevm-000001.vmdk,而不是 examplevm.vmdk。为增量磁盘快照文件附加了一个序列号,用以区分各个快照增量磁盘迭代或级别。选择最近的增量磁盘可确保将最近存储的数据克隆到目标。

注意:运行 vmkfstools -i 命令将会创建一个具有 LSI 控制器的克隆驱动器,即使源磁盘正在使用 VMware 准虚拟也是如此。这将导致虚拟机无法引导。要解决此问题,请将控制器类型更改为与源相同。

有关确定虚拟机的当前快照的步骤,请参见 Confirming a virtual machine's snapshot delta disk layout (1027887)


Additional Information

vmkfstools 的常用磁盘格式选项:

  • zeroedthick

    这是适用于在 VMFS 数据存储上创建和存储的虚拟机磁盘的默认选项。

  • thin

    这是适用于在 NFS 数据存储上存储的虚拟机磁盘的默认选项。此选项将按需分配和使用空间,数值将随使用的虚拟磁盘空间的增多而增大。

    注意:可使用 ls 命令正确显示为精简置备的磁盘配置的大小。可使用 du 命令确定数据存储上的磁盘文件所占用的磁盘空间。

  • eagerzeroedthick

    这是跨主机虚拟机群集和 VMware Fault Tolerance (FT) 虚拟机所需的指定格式。在分配和提交虚拟机磁盘的所有基块时,这些基块中将包含在其创建时系统写入的零值。可以在不破坏现有数据的情况下,将现有磁盘扩展为这种格式。有关详细信息,请参见 Enabling clustering features for an existing virtual disk by converting in place (1035823)Enabling clustering features for an existing virtual disk by converting while copying (1003491)

  • rdmp

    对于物理兼容模式,这是默认的原始设备映射格式。大多数 SCSI 命令将通过客户机操作系统传递到映射的物理原始 LUN,或从映射的物理裸 LUN 传递到客户机操作系统。这对于跨主机虚拟机群集是必需的;两个虚拟机共享同一个映射文件。此格式不支持虚拟机快照。有关详细信息,请参见
    Converting a virtual disk into a Raw Device Mapping (3443266)

  • rdm

    对于设置了虚拟兼容模式的情况,这是另一种可用的原始设备映射格式。部分 SCSI 命令将通过客户机操作系统传递到映射的物理原始 LUN,或从映射的物理裸 LUN 传递到客户机操作系统。此格式的一个额外好处是支持虚拟机快照。有关详细信息,请参见
    Converting a virtual disk into a Raw Device Mapping (3443266)

  • 2gbsparse

    此格式与 VMware Fusion、Player、Server、Workstation 等托管(桌面)产品兼容。虚拟机磁盘可跨多个 2GB 区进行扩展,从而消除潜在的跨平台文件系统兼容性问题。例如,FAT32 支持的最大文件大小为 4GB。在 VMware ESX/ESXi 4.x 和 ESXi 5.x 中运行的虚拟机不支持此格式。

    注意:出于 SDK 目的,在 ESXi 5.0 及更高版本中,此属性也称为 sparse2GB。有关详细信息,请参见 Scope of the sparse2GB property in the vSphere API (2044714) 以及 vSphere Web Services SDK Documentation 中的 VirtualDiskType 部分。

vmkfstools 手册页和 product documentation 中提供了更多信息、类型和参数。

  • 通过运行以下命令可查看 VMware ESX 3.x 和 4.x 上的手册页:man vmkfstools
  • 通过运行以下命令可查看 ESXi 3.x 和 4.x 主机或 vMA 和 vCLI 上的命令信息:vmkfstools --help
  • 有关各个 VMware ESX/ESXi 版本的更多信息,请查看 product documentation 页面中《ESX 配置指南》的"使用 vmkfstools”部分。

另请参见:

Cloning and converting virtual machine disks with vmkfstools