查看原文
其他

一文诠释虚拟磁盘映像格式:VDI vs. VHD vs. VMDK vs. VHDX:

良许Linux 2024-03-18


作者:Linux谜

你可能在保存、下载或设置虚拟机环境时遇到过诸如VDI、VHD、VMDK和VHDX等文件。这些文件被称为虚拟磁盘映像文件,用于存储运行虚拟化操作系统所需的虚拟磁盘映像和配置信息。
现在,正如你可能期待的那样,每种磁盘映像格式都有其优缺点,因此在什么情况下应该选择哪种选项,用于什么目的呢?

什么是VDI?

VDI(虚拟磁盘映像)是为Oracle的VirtualBox虚拟机监视器开发的开源虚拟磁盘格式。其开源性使VDI具有与其他流行的虚拟机监视器(如VMware和Windows Hyper-V)的跨平台支持。
通过VirtualBox的虚拟媒体管理器保存机器状态会创建一个.vdi文件。该文件可以复制和共享供他人使用。将文件加载到VirtualBox中可为用户提供固定和动态分配存储的选项。动态分配存储允许用户不用担心文件大小不断扩展文件大小,而固定分配可以通过为虚拟机分配一定量的内存来控制文件大小。
优点缺点
- 支持运行在不同操作系统上的大多数虚拟机监视器。- 比VMDK和VHDX速度慢。
- 提供动态和固定内存分配的选项。- 不支持增量备份。
- 比VHD和VHDX性能更好。
- 非常便携。

VDI对于使用VirtualBox的用户来说是一个很棒的虚拟磁盘镜像。它是免费的、开源的,具有很好的跨平台支持,并且便携。通过VirtualBox运行VDI文件使用户能够享受诸如远程访问、快照和在Windows上的直接USB访问等功能,而这些功能在其他虚拟机监视器中可能需要付费才能使用。此外,随着最新版VirtualBox的发布,Linux用户也获得了安全启动的支持!

什么是VHD和VHDX

VHD和VHDX是由Microsoft开发的磁盘镜像格式。VHD代表虚拟硬盘,是用于较旧的Microsoft虚拟化产品,如Microsoft Virtual PC和Microsoft Virtual Server的格式。尽管VHD的开发已经停止,但在新版的Microsoft Hyper-V虚拟机监视器中仍然用于各种传统应用。

VHDX代表虚拟硬盘v2(Virtual Hard Disc v2)。它是较旧的VHD格式的后继版本,主要运行在Microsoft Hyper-V上。相对于VHD,VHDX提供了多项改进,包括最大64TB的磁盘空间、改善的整体性能、更好的安全性和弹性,以及对其他平台(如VirtualBox、VMware和Citrix XenServer)的第三方支持。

VHD和VHDX主要用于像Hyper-V这样的Type 1虚拟机监视器,这提供了更高的效率和性能,但可能会牺牲主机PC的安全性。

优点缺点
修复和恢复能力客户操作系统更容易受到各种恶意软件攻击
一个虚拟机可以有多个用户损坏的VHD和VHDX文件可能会导致Windows崩溃
每个用户不会影响虚拟机的其他实例使用高级功能需要技术理解
功能丰富,适用于高级服务器虚拟化对非Windows操作系统的支持有限,特别是VHDX
VHD受多种虚拟化工具的支持VHDX主要局限于Hyper-V。

VHD 和 VHDX 磁盘镜像格式最适合已经在使用 Microsoft Hyper-V 和其他 Microsoft 相关产品的系统管理员。其无头操作功能使管理变得更加容易,但需要了解 Windows PowerShell 才能使用命令行界面(CLI)。如果您是虚拟化新手,您可能需要跳过此格式,使用像 VDI 和 VMDK 这样更通用的磁盘镜像格式。

什么是 VMDK?

VMDK 文件格式最初是专门为 VMWare 的虚拟化产品(如 Workstation Pro 和 Workstation Player 虚拟机监视器)开发的。然而,经过 2011 年的一些修改后,VMDK 成为了一个开放格式,以便在不同平台之间更好地进行互操作。现在可以使用 VirtualBox、QEMU、Hyper-V、Workstation Pro 和 Workstation Player 运行 VMDK 文件。

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 的 Virtual Media Manager 可以将 ISO、VHD、VHDX 和 VMDK 转换为 VDI。类似地,VMware Workstation 中的虚拟机向导可用于打开 ISO、VDI、VHD 和 VHDX 文件,并将其保存为 VMDK。

对于想要将 VDH 和 VHDX 转换为其他格式以及反之的用户,您将需要下载 Microsoft 虚拟机转换器。更高级的用户可能会通过 PowerShell 和 VBoxCommands 进行多个虚拟磁盘映像的转换。

不要错失性能和功能

虚拟磁盘映像格式的开发旨在确保磁盘映像和虚拟化软件的功能兼容性。尽管 VDI、VHD、VHDX 和 VMDK 具有跨平台支持,但在并非专为它们设计的虚拟化软件上运行它们将意味着错失宝贵的性能和功能。理想情况下,您应该在 VirtualBox 上使用 VDI,在 Hyper-V 上使用 VHD 和 VHDX,并在 Workstation 上使用 VMDK。对于一次性的情况,您可以在任何虚拟化软件中使用它们。但是对于长期使用情况,您可能需要考虑转换映像文件。

最近很多小伙伴找我要一些程序员必备资料,于是我翻出了压箱底的宝藏,免费分享给大家!


扫描海报二维码免费获取。


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存