虚拟机磁盘格式 (VMDK)

2025年1月28日 | 阅读时长4分钟

引言

VMware 虚拟磁盘 (VMDK) 是一种虚拟机 (VM) 磁盘映像文件的文件格式。包含 .VMDK 文件扩展名的文件代表一个功能齐全的虚拟机。该格式最初是专门为 VMware 虚拟设备创建的。

虚拟磁盘用于在虚拟环境中安装客户机操作系统 (OS)。执行此操作时,虚拟磁盘与传统的硬盘驱动器或固态驱动器 (SSD) 相同,安装了虚拟磁盘并正在运行客户机操作系统的虚拟机 (VM) 已准备好使用。VMDK 是用于虚拟磁盘驱动器的文件格式之一。

VMDK 除了用于虚拟化目的而克隆物理驱动器之外,还可以方便地远程备份虚拟机 (VM)。VMware 最初创建该格式是为了与 VMware 虚拟设备 (VA) 一起使用,包括 VMware Workstation、VMware Player 和 VMware Fusion。然而,现在不同的非 VMware 虚拟化平台都可以将其用作开源文件格式。

VMDK 文件可以是固定 (flat 或 static) 或动态 (sparse)。为了允许随着 VM 使用量的增加而改变大小,固定 VMDK 在一开始就被分配了一个固定的、较大的大小。另一方面,动态驱动器会根据客户机操作系统中文件的大小进行扩展。

Virtual Machine Disk format (VMDK)

虚拟磁盘格式与虚拟磁盘映像

虚拟磁盘有多种格式,具体取决于用于创建它们的虚拟化软件。最常用的格式之一是 VMware 的 VMDK;其他格式包括 Oracle 的虚拟磁盘映像 (VDI)、Microsoft 的虚拟硬盘 (VHD) 和 Hyper-V (VHDX)。

Oracle VM VirtualBox 是一款企业级虚拟化软件,可在 Linux、Solaris、macOS、Windows (包括 Windows NT 4.0 和 Windows 3.x 等旧版 Windows) 上运行,VDI 是默认的磁盘格式 (.vdi 扩展名)。VirtualBox 支持许多客户机操作系统,包括 Windows、MS-DOS、Linux、Solaris、OS/2 和 OpenBSD。对于需要向后兼容支持为这些以及更早的操作系统开发的软件程序的企业来说,VirtualBox 和 VDI 是合适的。VirtualBox 可以处理 VMDK 和 VDI 文件格式。

由于 VDI 是可移植的,因此也可以使用其他虚拟化软件来运行 VDI。与 VMDK 一样,VDI 支持动态分配和固定大小的存储。

虚拟磁盘格式与虚拟硬盘

对于 Microsoft 的虚拟化解决方案,VHD 是默认的虚拟磁盘格式。VHDX 格式取代了它,该格式目前是 Microsoft Hyper-V 虚拟机管理程序中使用的默认格式。VHDX 的存储容量为 64 TB,远大于 VHD 的 2 TB 容量。

VHD/VHDX 硬盘映像有四种类型

  1. 固定。它带有一个 VHD 页脚、一个原始磁盘映像和一个预设大小。
  2. 可扩展 (或动态)。它有一个页眉和一个页脚,并根据其中包含的数据调整大小。
  3. 差异。这种映像允许克隆 VHD。所有 VHD 的修改都保存在子映像中。可以合并 VHD 或撤销更改。
  4. 直通。物理硬盘驱动器 (或其分区之一) 已连接到磁盘映像。

无论类型如何,所有 VHD 和 VHDX 映像都以文件形式存储在主机操作系统上。许多虚拟化平台,例如 VMware 和 Oracle VM VirtualBox,都广泛支持这两种格式。

Virtual Machine Disk format (VMDK)

VMDK 与 VDI 与 VHD

VMDK 与 Oracle 的 VDI 和 Microsoft 的 VHD 竞争。尽管 VMDK 和 VHD 不直接兼容,但像 VMDK 到 VHD 转换器这样的第三方软件有助于转换。由于 VDI 与 VHD 和 VMDK 都兼容,Oracle VirtualBox 可以运行具有这两种扩展名的映像。它使用 Oracle Virtual Media Manager 创建和复制 VDI、VHD/VHDX 和 VMDK 虚拟硬盘。有几种免费工具可用于将文件转换为映像。

使用 VMDK,自上次备份以来所做的数据修改可以进行增量备份。VDI 和 VHD 不支持此功能。VMDK 文件备份过程比 VDI 和 VHD 文件备份过程更快,因为它只备份更改和新数据。

使用 VMware 或 Hyper-V 将物理驱动器转换为虚拟磁盘

可以使用 VMware 或 Hyper-V 将安装了 Windows、Linux 或其他操作系统的物理硬盘驱动器或固态驱动器转换为虚拟磁盘;这个过程通常称为物理到虚拟 (P2V)。之后,VM 可以将虚拟驱动器安装到其上。由于可能存在的复杂性,转换过程 (包括 Oracle VM VirtualBox) 应谨慎处理。此外,请确保在转换 Windows PC 时不违反任何 Windows 许可限制。

可以使用 VMware vCenter Converter 将 Windows 和 Linux 计算机转换为虚拟机 (VM)。要将操作系统映像安装在另一台 PC 上的虚拟机 (VM) 中,请使用创建的 VMDK 文件。可以使用 Disk2vhd 工具创建带有 Hyper-V 的 Windows 虚拟磁盘。使用 Hyper-V,可以将生成的 VHD 文件安装在另一台计算机上。

VMDK 的优点

虚拟磁盘格式 VMDK 比虚拟磁盘格式 VDI 和 VHD (以及 VHDX) 快得多。它还具有实时迁移功能,便于将虚拟机迁移到不同的服务器。它还使用高性能 SAN 块存储,连续进行快照和数据保护。最后,用户可以使用备份的 VMDK 文件来重新创建和重新启动虚拟机。