sor*_*rin 364 virtualbox disk-image
最新版本的 VirtualBox 支持多种虚拟磁盘格式,但他们忘记提供它们之间的比较。
现在,我对考虑以下内容的建议或比较感兴趣:
Del*_*tik 262
VirtualBox 有
来源:Oracle® VM VirtualBox® 用户手册»第 5 章虚拟存储» 5.2。磁盘映像文件(VDI、VMDK、VHD、HDD)
- 能够使用动态调整大小
VDI、VMDK和VHD都支持动态分配的存储。VMDK 具有将存储文件拆分为每个小于 2 GB 的文件的附加功能,这在文件系统的文件大小限制较小时非常有用。
如果在 VirtualBox 中创建HDD、QCOW和QED,则必须动态分配。
- 可以有快照
VirtualBox 支持所有六种格式的快照。
- 能够以最少的努力将我的虚拟机移动到另一个操作系统,甚至是另一个免费的虚拟化解决方案(可能在 Ubuntu 上运行良好)。
VDI是 VirtualBox 的原生格式。其他虚拟化软件通常不支持 VDI,但从 VDI 转换为另一种格式非常容易,尤其是使用qemu-img convert.
VMDK由 VMWare 开发并为 VMWare 开发,但 VirtualBox 和 QEMU(另一种常见的虚拟化软件)也支持它。 这种格式可能是您的最佳选择,因为您希望与其他虚拟化软件具有广泛的兼容性。
VHD是 Microsoft Virtual PC 的原生格式。Windows Server 2012 引入了 VHDX 作为 VHD 的继承者,但 VirtualBox 不支持 VHDX。
HDD是Parallels 的一种格式。Parallels 专注于 macOS 的虚拟化。 这可能不适合您,尤其是考虑到 VirtualBox 仅支持旧版本的 HDD 格式。
QCOW是 qcow 格式的旧原始版本。它已被 VirtualBox 不支持的 qcow2 取代。
QED是对 qcow2 的一个废弃增强。 QEMU 建议不要使用 QED。
- 表现
由于块存储是如何被格式抽象的,每种格式可能具有细微的性能特征,但我没有找到任何比较 VirtualBox 支持的格式的基准。
影响性能的因素有很多,例如:
小智 44
我总是使用 VDI,因为它是 VirtualBox 的原生格式;但是,使用 VMDK(VMWare 格式)会增加与其他虚拟机软件的兼容性。
VirtualBox 将在 Ubuntu 上运行良好,因此如果目标是 Windows/Ubuntu 互操作性,VDI 将是一个非常有效的选择。
这两种格式都可以满足您的要求。
至于另外两种,VHD是微软开发的格式,HDD是苹果开发的格式;这些都是专有许可的,因此限制跨平台支持;我不会推荐他们。
小智 19
Mpack 在这里解释了 VHD 和 VDI 之间的关键性能差异:
最近研究了 VHD 格式后,我预计 VDI 的支持度至少会有很小的差异,当您比较同类时最明显,即优化的 VDI 与优化的 VHD。原因是动态 VHD 格式将这些“位图”扇区分散在整个磁盘中。每次修改块内的扇区时,这些位图块也可能需要更新和写入,涉及额外的查找、读取和写入。从驱动器映像读取连续簇时,也必须跳过这些位图扇区 - 更多搜索。VDI 格式没有这些开销,特别是如果 VDI 已经过优化(虚拟磁盘上的块按 LBA 顺序排序)。
我的所有评论都适用于动态 VHD 格式与动态 VDI。在固定大小的虚拟磁盘上进行性能测试是没有意义的,因为两种格式都是相同的(只是磁盘的普通映像),它们只是具有不同的标头。
https://forums.virtualbox.org/viewtopic.php?f=1&t=22688
看起来使用 VDI 可以将磁盘文件修剪为其实际大小 VirtualBox 和 SSD 的 TRIM 命令支持
小智 5
我不知道使用 vmdk 是否能让您在 VMware 中透明地运行在 VirtualBox 中创建的虚拟机。它可能。然而,更通用的选择可能是使用 VirtualBox 文件/导出功能创建一个“开放虚拟化设备”.ova 文件,然后可以将其导入 VMware。使用这种方法,您可以移植到任何支持 .ova 的虚拟化系统,而无需关心您在 VirtualBox 中使用的磁盘映像格式。
如果您需要定期(例如每天)从同一个 VM 导出,那可能会很痛苦。但是,如果您只是偶尔转向不同的技术,那应该没问题。
如果您已经有一个 .vdi 文件,您可以测试它是否有效,而无需创建新的虚拟机。将其导出为 .ova,然后尝试使用 vmware 导入。
这也取决于您计划如何使用虚拟磁盘。并非每个 VM 都希望在单个磁盘上有一个分区。
VDI 似乎有更多选择(当与 VirtualBox 一起使用时),但是一旦您将 VirtualBox 排除在外,对 VDI 的支持就变得有些不稳定(截至 2014 年底)。
例如,我的解决方案需要最大程度的跨平台支持。在 linux 或 Windows 7 上安装 VDI(例如环回设备)比您想象的更困难和错误。几乎就像 VDI 有太多功能一样,很难制作完全符合要求的实用程序来操作它。
当您希望 VMDK 与任何工作站上的任何 VM 一起使用时,当您希望同时将其克隆 3 次到网络上的其他系统时,以及当您想在不启动 VM 的情况下撬开它时,VMDK 就不会那么轻松,恕我直言实例。
尽管我 90% 的时间都在使用 VirtualBox,但在某些工作流中我的磁盘变得无法访问的那几次,这让我倾向于将 VMDK 用于可插拔/共享文件系统。
小智 5
对我来说,使用 vmdk 的一个很好的理由是,随着时间的推移,使用 VDI 格式的 Virtualbox(至少在 v4.1 之前)倾向于填满分配的磁盘空间,尽管内部虚拟磁盘使用量仍然少得多。对于使用 vmdk 磁盘的 Virtualbox,这似乎不是什么问题。
但我说的是多年的正常运行时间。这可能不是很多人遇到的问题。
小智 5
磁盘映像文件驻留在主机系统上,来宾系统将其视为具有特定几何形状的硬盘。当客户操作系统读取或写入硬盘时,VirtualBox 会将请求重定向到映像文件。
与物理磁盘一样,虚拟磁盘也有大小(容量),必须在创建映像文件时指定。然而,与物理磁盘相反,VirtualBox 允许您在创建后扩展图像文件,即使它已经有数据;VirtualBox 支持四种不同的磁盘映像文件:
VDI:通常,VirtualBox 为来宾硬盘使用自己的容器格式——虚拟磁盘映像 (VDI) 文件。特别是,当您使用新磁盘创建新虚拟机时,将使用此格式。
VMDK:VirtualBox 还完全支持许多其他虚拟化产品(尤其是 VMware)使用的流行且开放的 VMDK 容器格式。 [25]
VHD:VirtualBox 也完全支持微软使用的 VHD 格式。
还支持 Parallels 版本 2(HDD 格式)的图像文件。[26] 由于缺乏格式文档,不支持较新的格式(3 和 4)。但是,您可以使用 Parallels 提供的工具将此类图像文件转换为版本 2 格式。
| 归档时间: |
|
| 查看次数: |
559218 次 |
| 最近记录: |