在您保存、下载或配置虚拟机环境时,可能会接触到诸如 VDI、VHD、VMDK 和 VHDX 等文件。这些文件被统称为虚拟磁盘映像文件,其主要用途是存储运行虚拟操作系统所需的虚拟磁盘映像和相关配置信息。
正如您所预料的那样,每种磁盘映像格式都有其独特的优势和不足。因此,关键问题在于,在何种情况下应该选择哪种格式,以及每种格式分别适用于哪些特定用途?
VDI 是什么?
VDI(Virtual Disk Image,虚拟磁盘映像)是一种开源虚拟磁盘格式,专为 Oracle VirtualBox 虚拟机管理程序而开发。其开源特性使得 VDI 具备跨平台兼容性,能够在诸如 VMware 和 Windows Hyper-V 等其他主流虚拟机管理程序上使用。
“.vdi” 文件通过 VirtualBox 的虚拟媒体管理器保存机器状态而创建。这种文件可以被复制和共享给任何用户。当用户将文件加载到 VirtualBox 中时,可以选择固定分配存储或动态分配存储。动态分配存储允许用户在不需要预先确定文件大小的情况下,持续扩展文件,而固定分配则通过预先为虚拟机分配特定大小的内存,从而帮助控制文件的大小。
优点
缺点
多数跨操作系统虚拟机管理程序均支持
相比 VMDK 和 VHDX 速度较慢
动态和固定内存分配选项
不支持增量备份
性能优于 VHD 和 VHDX
可移植性极佳
对于任何使用 VirtualBox 的用户来说,VDI 都是一个非常出色的虚拟磁盘映像选择。它不仅免费开源,还拥有强大的跨平台支持和良好的可移植性。通过 VirtualBox 运行 VDI 文件,用户可以体验到诸如 Windows 上的远程访问、快照和直接 USB 访问等高级功能,这些功能在其他虚拟机管理程序中通常是高端配置。此外,最新的 VirtualBox 版本还为 Linux 用户提供了安全启动支持!
VHD 和 VHDX 是什么?
VHD 和 VHDX 是由微软开发的磁盘映像格式。VHD,即虚拟硬盘,是微软早期虚拟化产品(如 Microsoft Virtual PC 和 Microsoft Virtual Server)中使用的格式。尽管开发已经停止,VHD 仍在较新的 Microsoft Hyper-V 虚拟机管理程序中用于各种旧应用程序。
VHDX,即虚拟硬盘 v2,是旧版 VHD 格式的升级版,主要在 Microsoft Hyper-V 上运行。相对于 VHD,VHDX 进行了多项改进,包括提供最大 64TB 的磁盘空间、改进的整体性能、更强的安全性和弹性,以及对 VirtualBox、VMware 和 Citrix XenServer 等其他平台的第三方支持。
VHD 和 VHDX 主要应用于 Hyper-V 等第一类虚拟机管理程序,这类程序能提供更高的效率和性能,但其代价是可能存在主机电脑漏洞。
优点
缺点
具有修复和恢复能力
来宾操作系统更容易受到各种恶意软件攻击
一台虚拟机可以支持多个用户
损坏的 VHD 和 VHDX 文件可能导致 Windows 崩溃
每个用户不会影响虚拟机的其他实例
需要一定的技术知识才能使用高级功能
功能丰富的高级服务器虚拟化
对非 Windows 操作系统(尤其是 VHDX)的支持有限
VHD 受到众多虚拟化工具的支持
VHDX 主要限于 Hyper-V
VHD 和 VHDX 磁盘映像格式最适合已经使用 Microsoft Hyper-V 和其他微软相关产品的系统管理员。其无头操作功能使得管理变得更加容易,但需要了解 Windows PowerShell 才能使用命令行界面 (CLI)。如果您不熟悉虚拟化,则建议跳过这种格式,而选择更为通用的磁盘映像格式,例如 VDI 和 VMDK。
VMDK 是什么?
VMDK 文件格式最初是专门为 VMware 的虚拟化产品(如 Workstation Pro 和 Workstation Player 虚拟机管理程序)而开发的。然而,在 2011 年进行了一些修订后,VMDK 成为了一种开放格式,以实现不同平台之间更好的互操作性。如今,VMDK 文件可以在 VirtualBox、QEMU、Hyper-V、Workstation Pro 和 Workstation Player 上运行。
VMware 的虚拟化产品提供了许多高级功能,这些功能增加了功能性,使虚拟机的处理更加方便。通过 VMware 的 Workstation 虚拟机管理程序运行 VMDK,可以为用户提供增量备份、快速便捷的快照、恢复到较早保存的计算机状态的能力、实时迁移以及比 VHD 和 VDI 更快的整体性能。
优点
缺点
跨平台支持
不适用于 Microsoft Hyper-V
更好的整体性能
只有在 Workstation Pro 上才可使用高级功能
可以从一台主机迁移到另一台主机,而不会中断正常运行
增量备份
VMDK 最适合那些已经购买或愿意购买 Workstation Pro 的用户。您可以使用诸如加密虚拟机、快照、远程连接和容器等大量功能,并且性能优于其他虚拟机管理程序。例如,免费的 Workstation Player 的性能仍然优于 VirtualBox。然而,您会错过额外的功能。因此,如果您无法证明购买 Workstation Pro 许可证的合理性,请使用 Workstation Player 来实现更快的处理速度,同时使用带有 VMDK 的 VirtualBox 来实现诸如快照和远程访问等功能。
ISO 怎么样?
光盘映像(ISO)并非虚拟磁盘格式,而是一种用于光盘映像的文件格式。它通常用于存储 CD 或 DVD 内容的副本,可用于安装或运行软件。ISO 文件并非专门为虚拟化而设计。然而,由于它们用于克隆内存驱动器,因此虚拟机管理程序仍然可以虚拟地加载它们,访问其文件,并像常规虚拟机一样运行。
ISO 文件非常适合在互联网上分发操作系统映像。然而,使用它们进行虚拟化需要更详细的设置,并且可能会影响性能和功能。因此,请务必在可用时下载虚拟磁盘映像,而不是 ISO 文件。使用这些专用格式可以节省您在配置过程中的时间,并且在您首次启动计算机时就已经具备了兼容的功能。
您可以转换虚拟磁盘映像格式吗?
虚拟磁盘映像文件可以转换为其他格式。尽管 VDI、VHD、VHDX 和 VMDK 可以在最流行的虚拟机管理程序上运行,但许多虚拟机管理程序仍然将其虚拟映像文件转换为其他格式,以确保迁移到其他平台时的功能兼容性。
将虚拟映像文件转换为其他格式最简单的方法之一是使用 VirtualBox 和 VMware Workstation 中内置的工具。VirtualBox 的虚拟媒体管理器可以将 ISO、VHD、VHDX 和 VMDK 转换为 VDI。同样,可以使用 VMware Workstation 中的虚拟机向导打开 ISO、VDI、VHD 和 VHDX,并将其另存为 VMDK。
对于那些希望将 VDH 和 VHDX 转换为其他格式(反之亦然)的用户,您必须下载 Microsoft Virtual Machine Converter。更高级的用户可以通过 PowerShell 和 VBoxCommands 转换多个虚拟光盘映像。
不要错过性能和功能
虚拟磁盘映像格式的开发是为了确保磁盘映像和虚拟机管理程序之间的功能兼容性。尽管 VDI、VHD、VHDX 和 VMDK 具有跨平台支持,但如果让它们在并非专门为其设计的虚拟机管理程序上运行,则会失去宝贵的性能和功能。理想情况下,您应该为 VirtualBox 选择 VDI,为 Hyper-V 选择 VHD 和 VHDX,以及为 Workstation 选择 VMDK。对于一次性使用的情况,您可以将它们与任何您拥有的虚拟机管理程序一起使用。但对于长期使用,您需要考虑转换图像。