VMware或VirtualBox:虚拟化产品的完整概述

Oracle和VMware是现代IT行业提供虚拟化解决方案的领导者。Oracle用于运行虚拟机(VMs)的Hypervisor是VirtualBox。VMware有多种产品可用于不同用例中运行虚拟机,包括VMware vSphere ESXi和Workstation。这两个平台都快速可靠,并包括各种有趣的功能。继续阅读以了解Oracle和VMware产品之间的差异以及在哪些情况下每个产品表现最佳。

VirtualBox与VMware比较表

让我们从Oracle VirtualBox与VMware虚拟化产品(Workstation Player、Workstation Pro、Fusion Player、Fusion Pro和ESXi)的最重要特征的概述开始。表中的每一点将在接下来的各节中进行更详细的讨论。

plaintext

Oracle

VMware

VirtualBox 7.0.6

Player 17

Workstation 17

Fusion 13 (Player)

Fusion Pro 13 

ESXi 7.0

Hypervisor Type

2

2

2

2

2

1

Licensing

免费/每用户50美元起

免费/150美元

200美元起

150美元

200美元

免费/付费(起价577美元)

Virtualization

硬件 + 软件

硬件

硬件

硬件

硬件

硬件

Host OS

Linux,Windows,Solaris,macOS,FreeBSD

Linux,Windows

Linux,Windows

macOS

macOS

Guest OS

Linux,Windows,Solaris,FreeBSD,macOS

Linux,Windows,Solaris,FreeBSD

Linux,Windows,Solaris,FreeBSD

Linux,Windows,Solaris,FreeBSD,macOS

Linux,Windows,Solaris,FreeBSD,macOS

Linux,Windows,Solaris,FreeBSD

Shared Folders

Shared Clipboard

是</diy

什么是Hypervisor类型?

A hypervisor is a software product that allows you to create and run multiple virtual machines (guest machines) on a single physical machine (host machine). This provides several advantages, including agility and resource saving. Using a hypervisor simplifies the copying of machines from one server to another and the distribution of hardware resources between VMs.

Hypervisor将物理机器软件与底层硬件资源抽象化。创建的虚拟机(VMs)在逻辑上彼此隔离,并且独立于底层物理机器。

有两种类型的hypervisor:

  • 类型1hypervisor,或本机hypervisor,可以直接访问硬件在裸机上运行。它们不需要底层操作系统(OS),因为在这种情况下hypervisor作为操作系统。
    • 最适合:大型生产环境
    • 例子:VMware ESXi
  • 类型2hypervisor作为应用程序运行在现有的主机操作系统上,也称为托管hypervisor。它们通过主机操作系统协调对CPU、内存、磁盘和其他输入/输出资源的调用来提供虚拟化服务。
    • 最适合:在个人计算机上运行VMs
    • 例子:Oracle VirtualBox、VMware Workstation、VMware Player和VMware Fusion

想法

  • 如果您的环境需要最大性能,请选择类型 1 的 hypervisor。
  • 如果您需要在安装了 Linux、Windows 或 macOS 等操作系统的计算机上运行虚拟机,请选择类型 2 的 hypervisor。

许可模型:Oracle VirtualBox vs. VMware

Oracle VirtualBox是一个免费的开源软件产品,根据GNU 通用公共许可证第 2 版(GPLv2)进行分发。撰写时可用的 VirtualBox 最新版本为 VirtualBox 7.0.6。

还有VirtualBox 扩展包,供评估、个人使用或教育目的免费(根据VirtualBox 扩展包个人使用和评估许可证分发),但您需要购买VirtualBox 企业许可证以进行商业使用。VirtualBox 扩展包是一个闭源包,为产品添加了一些附加功能,包括 USB2.0/3.0 支持、VirtualBox RDP、PXE 引导、VM 磁盘加密(必须安装在主机操作系统上)和其他功能。

VMware Workstation Player(原名VMware Player)免费供个人、教育和非商业使用。企业和非营利组织需购买Workstation Player 商业许可证,价格约为150美元(截至撰写时),可运行在Workstation Pro/Fusion中创建的受限VM,并提供更好的大规模部署支持。

VMware Workstation Pro (原名VMware Workstation)可免费评估30天。通常,您需要购买Workstation Pro许可证,价格约为200美元(截至撰写时)。与仅包含基本功能的Workstation Player不同,Workstation Pro包含桌面虚拟化的完整功能集。

VMware Fusion是适用于运行macOS操作系统的计算机的VMware Workstation的等效产品。VMware Fusion有两个版本:VMware Fusion Player(约150美元)和VMware Fusion Pro(约200美元)。Fusion Pro比Fusion Player包含稍微更多的企业级功能,主要面向家庭用户。

VMware ESXi 必须使用 vSphere 许可证 进行许可,价格从 $577 起,适用于 VMware vSphere Essentials Kit。ESXi 有一个功能完整的 60 天评估期。您也可以获得 免费的 ESXi 许可证,但功能会受到限制,包括无法使用 vCenter Server 管理 ESXi 主机,CPU 核心数量受限(2 个物理 CPU,每个虚拟机的 vCPU 数量为 8。

重要提示: 所有价格反映了撰写时(2023 年 4 月)供应商网站上的价格,并可能有所变动。请务必在 Oracle 和 VMware 的官方网站上查看价格信息。

思考

基于上一部分 VMware 与 VirtualBox 比较的结论:

  • 如果您需要一个具有最大功能的免费解决方案,并且类型 2 的 hypervisor 符合您的需求,请选择 VirtualBox。如果成本节约是首要考虑的因素,则这是正确的选择。如果不需要与 VMware vSphere 集成,并且您在 VMware Player 与 VirtualBox 类别中选择解决方案,则由于提供更多功能,VirtualBox 可能是更好的选择。
  • 如果您需要一个可以安装在用户计算机上并且需要与 VMware 虚拟环境(包括 VMware vSphere)集成的虚拟化软件,那么选择 VMware Workstation 或 VMware Fusion(Pro)。如果您需要与其他 VMware 产品(如 VMware ESXi)最大兼容性,则选择 VMware Workstation 或 Fusion Pro。
  • 如果您需要为您的虚拟基础架构提供最佳性能和可伸缩性,请考虑购买 VMware vSphere 许可证并部署 ESXi 主机。

硬件和软件虚拟化

硬件虚拟化(也称为硬件辅助虚拟化)使用虚拟机监视器为虚拟机模拟硬件设备。物理机器(主机)上需要 Intel VT-x 或 AMD-V CPU 功能才能启用硬件虚拟化,并且这些功能必须在 UEFI/BIOS 中启用。一些客户机代码可以直接在主机硬件上运行,这提高了虚拟机的整体性能。主机和客户系统必须使用相同的平台,例如 x86-64。

VMware 和 VirtualBox 都支持硬件虚拟化。

软件虚拟化(也称为仿真)需要主机系统完全通过使用特殊软件来仿真整个客户平台,包括 CPU 指令。主机机器的 CPU 不需要硬件虚拟化功能,但性能不如硬件虚拟化好。主机和客户平台可以不同。

VirtualBox 支持软件虚拟化。这意味着即使是老旧的硬件,其 CPU 不支持硬件虚拟化功能,您也可以使用 VirtualBox 运行虚拟机。

注意:旧版 VMware Workstation,如 VMware Workstation 7.0 及更早版本支持软件二进制翻译。它们允许您在处理器不支持 Intel VT-x 或 AMD-V CPU 指令集的情况下运行具有 32 位客户操作系统的虚拟机。

思考

硬件辅助虚拟化是高效的,并且由 VirtualBox 和 VMware 解决方案支持。在我们的 VMware vs VirtualBox 比较中,只有 VirtualBox 支持软件虚拟化,这使您可以在旧计算机上安装 VirtualBox 并运行 32 位虚拟机,即使它们的处理器不支持 Intel VT-x 或 AMD-V CPU 功能。

主机操作系统的安装

在 VirtualBox vs VMware 比较的这一部分中,我们涵盖了可用于安装第二类 hypervisor 的操作系统。如下所示,VirtualBox 支持最多数量的主机操作系统。

Oracle VirtualBox VMware Workstation/Player VMware Fusion
主机操作系统 Linux

Windows

Solaris

macOS

FreeBSD

Linux

Windows

macOS

支持的客户操作系统

以下客户操作系统可以安装在运行在 VMware 和 Oracle hypervisors 上的虚拟机上。

Oracle VirtualBox VMware
客户操作系统 Linux

Windows

Solaris

macOS

FreeBSD

传统操作系统(DOS,OS/2,Novell Netware等)

Android

Linux

Windows

Solaris

macOS*

FreeBSD

Android**

*请注意,macOS只能在VMware Fusion/Fusion Pro上作为客户操作系统进行官方安装。技术上,macOS可通过使用特殊补丁在VMware Workstation和ESXi上安装,但在使用补丁之前,请确保遵守许可协议。

**查看此帖子以获取有关在VMware VM上安装Android的更多信息

您可以使用我们在VirtualBox与VMware比较中考虑的所有虚拟化程序,在VM中安装VMware ESXi进行测试/教育目的。

用户界面:GUI和CLI

VirtualBox提供GUI和CLI:

  • VirtualBox Manager – 图形用户界面(GUI)
  • VBoxManage 是一个强大的命令行界面(CLI),您可以使用它来访问虚拟化引擎的所有功能和设置,包括 GUI 中不可用的设置。VBoxManage 命令在所有主机操作系统中都相同。

VMware Workstation 提供:

  • a powerful and user-friendly GUI
  • 用于管理虚拟机(包括客户操作系统)的 vmrun 命令行实用程序。您还可以在启动 Workstation、启动虚拟机、切换到全屏模式等情况下使用适当的选项的 vmware 命令。

VMware Player 提供比 Workstation 更简化的 GUI(见下面的截图)。安装了 VMware-VIX API 库后,也可以在 VMware Player 中使用 vmrun 命令行实用程序。

注意: 使用 VMware Player 15 创建了 VMware Player 的图形用户界面的截图。版本 17 的 GUI 与之相同。

VMware Fusion 提供了一个 GUI,与 Workstation 的 GUI 不同,因为它是为 macOS 用户设计的。用于在虚拟机之间切换的选项卡和包含虚拟机列表的左窗格不可用。但是 vmrun 命令行实用程序仍然可用。

VMware ESXi 提供:

  • a console (command line) interface that can be accessed either directly on the server or with a remote SSH connection. Configuring basic ESXi settings is available in the direct console user interface (DCUI), which is colored yellow and grey (the visual style is similar to the style of DOS applications).
  • a graphical interface, which you can use if you connect to the ESXi server via a browser by using VMware Host Client (see the screenshot below).

思考

所有的虚拟化软件在这个VirtualBox和VMware比较中都提供了一个方便的GUI界面和广泛的功能。比较VMware Workstation和Player,VMware Player的GUI更简单,并且提供的选项没有Workstation多。

某些操作只能在所有解决方案的命令行界面中完成,并且每个虚拟化产品的不同操作系统的命令是相同的。

VMware ESXi的命令行界面与VMware Workstation和Fusion的命令行界面不同。了解更多关于ESXCLI命令PowerCLI命令来管理VMware vSphere中的ESXi。

共享文件夹,共享剪贴板,拖放

一些虚拟化解决方案的特性使得与虚拟机的工作更加方便和有效,其中包括共享文件夹,共享剪贴板和拖放。

共享文件夹

共享文件夹允许您通过网络方便地在主机操作系统和客户操作系统之间交换文件。您可以使用虚拟化应用程序在主机操作系统中轻松创建共享文件夹,然后将文件从主机系统传输到客户系统,反之亦然。使用共享文件夹功能比使用操作系统的内置工具手动创建共享文件夹更加方便。

注意:在虚拟机的客户操作系统上安装VirtualBox Guest Additions和VMware Tools以启用共享文件夹功能。

共享文件夹功能可在Oracle VirtualBox、VMware Workstation、VMware Player和VMware Fusion(Pro)中使用。此功能不适用于在ESXi主机上运行的虚拟机 – 您必须在操作系统的内置工具中手动创建共享文件夹。

共享剪贴板

共享剪贴板允许您从本地或主机机器复制文本、图像数据和文件,并粘贴到虚拟机中(反之亦然)。在此VirtualBox与VMware比较中,所有解决方案均支持共享剪贴板,但ESXi有差异。

如果您使用VMware Workstation或VMware Remote Console连接到虚拟机,则VMware ESXi对共享剪贴板有严格的限制。这样做是为了提高安全性。您只能复制并粘贴有限大小的文本(以KB为单位)。

默认情况下,对于驻留在ESXi主机上的虚拟机,共享剪贴板功能处于禁用状态。您必须编辑虚拟机的VMX配置文件中的两行以启用此功能:

         isolation.tools.copy.disable false

         isolation.tools.paste.disable false

拖放

拖放是一项功能,允许您使用鼠标将文件从虚拟机窗口拖动到主机操作系统窗口(或桌面机器的窗口)。

除了VMware ESXi外,所有VirtualBox和VMware虚拟化程序都支持拖放功能。

VirtualBox Guest Additions与VMware Tools

VirtualBox Guest Additions是一组驱动程序和系统应用程序,用于客户操作系统,可以用来提高虚拟机性能和可用性。客户附加组件适用于所有支持的客户操作系统,因为文件位于安装VirtualBox的目录中。

要安装VirtualBox Guest Additions,您应该将ISO镜像挂载到虚拟机的虚拟DVD驱动器上,并运行安装程序。不同版本的ISO镜像可以从下载。您可以使用命令行软件包管理器从软件仓库在Linux系统上安装Guest Additions。

VMware Tools是用于在VMware平台上运行的虚拟机的VirtualBox Guest Additions的模拟。对于每个受支持的客户操作系统,提供了单独的ISO镜像(等),位于应用程序(VMware Workstation,Player,Fusion)的目录中。至于ESXi,VMware Tools可以位于目录中。如果找不到适当的ISO镜像,您可以从手动下载VMware Tools安装程序。或者,您可以使用命令行软件包管理器从软件仓库为Linux客户操作系统安装

如果在VMware官网找不到合适的ISO镜像,您可以手动下载VMware Tools安装程序。或者,您可以使用命令行包管理器从软件仓库为您的Linux客户操作系统安装open-vm-toolsopen-vm-tools-desktop

安装VirtualBox Guest Additions或VMware Tools后,以下功能将变得可用:共享文件夹、拖放、共享剪贴板、集成鼠标指针、自动登录、更好的视频输出、时间同步等。

VirtualBox无缝模式与VMware Unity

VirtualBox无缝模式和VMware Unity是允许您在不显示VM窗口的情况下显示客户应用程序窗口的功能,类似于主机应用程序窗口的显示方式。使用没有VM窗口的客户应用程序窗口可以使工作区更加集成和方便。例如,您可以在Windows VM上运行Photoshop,启用VirtualBox无缝模式/VMware Unity模式,然后以与操作Linux主机OS的常规窗口相同的方式操作Photoshop窗口。

通常,在客户操作系统上运行的客户应用程序窗口显示在VM的同一窗口中。当您启用无缝Unity模式时,VM窗口消失,而在客户操作系统上运行的程序看起来就像在主机操作系统上运行的程序一样。安全性不会受到侵犯,因为程序继续在隔离的VM上运行。

VirtualBox支持Linux、Windows和Solaris客机的无缝模式(macOS不支持)。要使用无缝模式,您需要安装VirtualBox Guest Additions。

VMware支持Windows操作系统的Unity模式(遗憾的是,VMware Workstation 12中移除了Linux主机和客机对Unity模式的支持)。Unity模式对于macOS客机不支持。要使用Unity模式,需要安装VMware Tools。此模式不能用于运行在ESXi主机上的远程虚拟机。

虚拟机快照

快照允许您保存虚拟机在特定时刻的状态。您可以创建多个快照,然后回滚虚拟机到其中一个快照以恢复虚拟机的状态。在拍摄快照时,虚拟机可以处于关闭或开启状态。当对运行中的虚拟机拍摄快照时,虚拟内存也会保存到一个文件中。在虚拟机快照功能方面,VMware和VirtualBox之间没有显著差异,因为两家厂商的产品(除了VMware Player)都支持虚拟机快照。

当您拍摄快照时,会创建一个差异虚拟磁盘;从那一刻起,所有更改都会写入该差异虚拟磁盘。当您拍摄下一个快照时,会创建另一个差异虚拟磁盘。您可以拍摄多个快照,但请注意,快照会降低虚拟机的性能。

当删除快照时,差异虚拟磁盘会与父虚拟磁盘合并(前一个快照的差异虚拟磁盘也可以视为父虚拟磁盘)。

快照对测试很有用。例如,如果您不确定安装应用程序后是否能正常工作,在安装应用程序之前拍摄一个快照。因此,如果出现问题,您可以将虚拟机状态还原到快照。在恢复快照之前,虚拟机不能运行。

快照不是备份,建议您使用专用的vSphere备份软件来备份在ESXi服务器上运行的虚拟机。

USB设备支持

通过USB设备支持,您可以将USB设备连接到主机,并将USB设备连接到客户机。这个功能对于连接USB硬盘驱动器、网络摄像头、Wi-Fi适配器、打印机、扫描仪等设备到虚拟机很有用。虚拟USB控制器必须启用才能对虚拟机进行设置。

VirtualBoxVMware平台(包括VMware Player、Workstation、Fusion、ESXi)支持将USB设备连接到虚拟机中。您可以使用虚拟机选项来连接/断开主机与客户机之间的可移动设备

VirtualBox 扩展包(非开源)必须安装在 VirtualBox 中才能支持 USB 2.0/3.0,且需要安装 VirtualBox 客户附加组件。VirtualBox 默认仅支持 USB 1.1,未安装扩展包。VMware 提供 USB 设备支持(包括 USB 3.0),且虚拟机必须安装 VMware Tools。

3D 图形支持

某些软件,如用于创建和渲染 3D 模型的应用程序,可能需要 3D 加速支持。

VirtualBox 对 3D 图形的支持有限(最高支持 OpenGL 3.0,Direct3D 9)。必须手动在虚拟机设置中启用 3D 加速。支持最多 128 MB 的视频内存。主机机器必须安装图形驱动程序,虚拟机必须安装 VirtualBox 客户附加组件。

VMware 为 Player、Workstation、Fusion 和 ESXi 提供 DirectX 11 和 OpenGL 4.3 支持的 3D 图形。最新版本的 Workstation 虚拟机默认启用 3D 加速。需要安装 VMware Tools。可设置最多 2 GB 的视频内存。主机操作系统必须安装图形驱动程序,并启用硬件加速。

一般来说,VMware 为虚拟机提供了更好的 3D 图形支持。

虚拟磁盘格式

虚拟磁盘被仿真成其他虚拟机器硬件一样。虚拟磁盘文件是表示保存数据的特殊容器,附加到虚拟机。

VirtualBox 支持以下虚拟磁盘格式:

  • VDI(Virtual Disk Image)是虚拟磁盘的一种原生VirtualBox格式。在VirtualBox中创建新的虚拟机时,默认使用此格式。
  • VMDK(虚拟机磁盘)是由VMware开发的虚拟磁盘格式,用于VMware虚拟机。其他厂商也使用此格式。
  • VHD(虚拟硬盘)是Microsoft为Hyper-V开发的虚拟磁盘格式。
  • HDD是Parallels Desktop 2格式的虚拟磁盘镜像(在macOS上流行)。

VMware仅支持虚拟机的VMDK格式的虚拟磁盘。

VirtualBox、VMware Workstation、Fusion(Pro)和ESXi支持使用OVF模板导入和导出虚拟机。此功能可用于跨平台导出/导入虚拟机。

请注意,我们的VMware与VirtualBox比较的解决方案都不支持Microsoft Hyper-V使用的VHDX格式。

虚拟磁盘分配类型

在创建虚拟磁盘时,您可以使用两种类型的磁盘分配:

  • 预分配或厚配置。您可以在创建时预先分配整个空间。例如,如果您创建了一个10GB的虚拟磁盘,则虚拟磁盘文件在创建后立即占用10GB的存储空间。在VirtualBox中,这样的磁盘称为固定磁盘,而在VMware中,这些被称为厚配置磁盘
  • 动态分配或薄配置。您可以创建一个动态分配的虚拟磁盘文件,它可以随着数据写入磁盘而增长。这种类型的虚拟磁盘在创建时非常小,随着数据被写入新的块,逐渐增长直到磁盘大小达到最大配置大小。这种类型的磁盘在VirtualBox中被称为动态分配磁盘,在VMware中被称为薄配置磁盘

阅读关于粗配置和薄配置的博客文章以了解更多信息。

请注意,在删除粗配置(动态分配虚拟磁盘)上的文件后,您可能需要执行空闲空间回收,以使虚拟磁盘文件变小。VMware ESXi在VMFS 6文件系统中提供自动空间回收。至于在VirtualBox、VMware Workstation、Player和Fusion上运行的虚拟机的虚拟磁盘,薄配置磁盘上的空闲空间必须使用适当的工具和命令手动回收。

思考

在VMFS上使用薄配置磁盘时,VMware ESXi是领先者。自动空间回收使存储空间消耗最有效。

支持链接克隆

A linked clone is a virtual machine that has a virtual disk linked to another virtual disk of another VM. It only saves data that differs from the data stored on the disk of a linked (parent) VM. For example, you can create a basic VM with updates and software installed on it. Then, you can create multiple linked clones and install different specialized software on each linked clone that would be used for each appropriate purpose.

这种方法可以节省存储空间,因为只有差异被写入链接克隆的虚拟磁盘。这还可以节省克隆创建的时间。创建链接克隆时,基本虚拟机会自动创建一个快照,然后用作链接克隆的基础。链接克隆必须始终可以访问父虚拟机。

VirtualBox、VMware Workstation 和 VMware Fusion Pro 都支持链接克隆。至于 VMware ESXi,您可以通过为 PowerCLI 编写特殊脚本来手动创建链接克隆。VMware 还为 VMware Horizon VDI(与 vSphere 配合使用的虚拟桌面基础设施解决方案)提供链接克隆。

虚拟网络

网络模式指定了虚拟机与主机的通信方式,就像物理网络中使用交换机、路由器和电线一样。VirtualBox 和 VMware 的网络模式支持如下:

VirtualBox 网络模式

VirtualBox 网络设置 提供以下模式:

  • 未连接。在此模式下,为虚拟机启用了虚拟网络适配器,但模拟了未插入的网络电缆。因此,虚拟机没有网络连接。
  • 网络地址转换(NAT)是新虚拟机的默认网络模式。该模式允许您在虚拟路由器后面为虚拟机启用私有网络,该路由器集成在VirtualBox引擎中。客户机可以访问主机以及主机连接的网络中的其他主机。客户机还可以访问外部主机并具有互联网访问权限(类似于主机)。虚拟机无法从主机和外部网络访问(您可以手动配置端口转发来解决此问题)。集成的DHCP服务器用于为虚拟机网络适配器分配IP地址。
  • NAT网络(服务)是比NAT更高级的模式,允许在NAT网络(在NAT后面)中的虚拟机之间进行网络访问。要配置NAT网络,您应该通过文件>首选项>网络创建一个虚拟网络。如果您希望从主机机器启用对虚拟机的网络访问,您应该手动配置端口转发。
  • 桥接适配器。在此模式下,虚拟机连接到与主机相同的网络。在这种情况下,虚拟机看起来像是通过网络电缆连接到与主机相同的交换机的物理机器。用于主机机器的有线和无线网络适配器的桥接使用不同的技术。
  • 内部网络允许虚拟机相互连接。在这种情况下,网络方案看起来好像虚拟机连接到交换机,而交换机未连接到任何路由器或物理机器。
  • 仅主机适配器。虚拟机可以彼此通信,也可以与主机机器通信,而主机可以通过网络访问虚拟机。VirtualBox主机专用网络适配器在主机操作系统中创建。

以下是比较VirtualBox虚拟机网络模式的表格:

 

虚拟机 → 主机

虚拟机 ← 主机

虚拟机1 ← → 虚拟机2

虚拟机 → 局域网*

虚拟机 ← 局域网*

主机操作系统中的虚拟网络适配器

NAT

+

端口转发

+

端口转发

NAT网络

+

端口转发

+

+

端口转发

桥接适配器

+

+

+

+

+

内部网络

+

仅主机适配器

+

+

+

+

* LAN 是主机机器连接的物理局域网。

VMware网络模式

VMware提供以下VM网络模式:NAT、桥接和主机专用。这些模式适用于VMware Player、Workstation、Fusion(Player)和Fusion Pro。VMware Workstation和Fusion Pro包含虚拟网络编辑器,而Player和Fusion Player则没有。

  • NAT。在这种模式下,虚拟机连接到NAT后面的私有网络。虚拟机能够彼此通信,与主机机器通信,以及与主机机器能够在VM NAT网络外通信的其他主机通信。主机机器可以与虚拟机通信,但是NAT网络外的其他主机无法以这种方式与虚拟机通信。NAT网络的默认名称是VMNet8。当添加NAT网络时,主机操作系统会添加一个虚拟网络适配器。VMware产品使用内置的虚拟路由器和DHCP服务器来为虚拟机建立NAT网络连接。

    VMware虚拟机的NAT网络工作原理类似于VirtualBox中的NAT网络模式。但是,您不需要手动添加端口转发规则(除非您需要从物理局域网上的任何主机连接到虚拟机)。

  • 桥接。此模式使您的虚拟机与物理网络中的任何其他计算机类似。其工作原理类似于VirtualBox的桥接连接的工作原理。桥接网络的默认名称为VMNet0
  • 仅主机。在此模式下,虚拟机连接到一个隔离网络,并且可以彼此通信以及与主机通信。连接方案看起来就像虚拟机和主机连接到同一个交换机,而交换机未连接到任何路由器(就像在VirtualBox中一样)。在主机操作系统中创建一个虚拟网络适配器,此网络的默认名称为VMNet1。VMware产品中包含虚拟DHCP服务器,以便为连接到仅主机模式的虚拟机网络适配器分配IP地址。

您可以在虚拟网络编辑器中添加、编辑和删除虚拟网络(包括网络地址、路由器的IP地址、DHCP服务器的设置等)。虚拟网络的最大数量为20个(从VMNet0到VMNet19)。

以下是VMware产品的网络模式比较(不包括下面介绍的ESXi):

虚拟机 → 主机 虚拟机 ← 主机 虚拟机1 ← → 虚拟机2 虚拟机 → 局域网* 虚拟机 ← 局域网* 主机操作系统中的虚拟网络适配器
NAT + + + + 端口转发 +
桥接 + + + + +
仅主机 + + + +

*局域网是主机连接的物理局域网。

VMware ESXi网络

VMware ESXi包括稍微不同的工具来连接虚拟机到网络。默认的虚拟机网络连接方法类似于桥接模式。虚拟机的虚拟网络适配器连接到默认vSwitch的一个端口,该端口通过ESXi主机的物理网络接口控制器(NIC)连接到物理交换机。可以在vSwitch上创建多个端口组。您可以为VMware虚拟交换机的不同端口组设置VLAN ID,然后(使用L2交换机)将它们连接到物理或虚拟路由器。

连接到这些端口的具有虚拟网络适配器的虚拟机将连接到相应的网络。VMware提供NSX来虚拟化路由器以及构建软件定义的网络(SDN)。每个虚拟机的最大虚拟网络适配器数量为VirtualBox为4个,VMware为10个。

VMware ESXi拥有一个强大的功能,称为分布式虚拟交换机(DVS),它允许您在vCenter中配置一次虚拟交换机后,在多个ESXi主机上使用相同的配置。ESXi还支持NIC团队合作进行链路聚合,提高网络的容错性。

VMware vSphere还提供了VMware NSX,这是一个扩展的专业解决方案,用于构建复杂的虚拟网络。

思考

在VirtualBox与VMware网络比较中,我们应该强调三个主要点:

  • 至于类型-2的hypervisor,Oracle VirtualBox,VMware Workstation和VMware Fusion Pro拥有广泛的网络选项和虚拟网络编辑器。
  • 至于VMware Player与VirtualBox的比较,VMware Player不允许您编辑虚拟网络,而VirtualBox比Player和Fusion Player功能更强大。
  • VMware ESXi作为VMware vSphere的主要组件,需要手动配置虚拟网络,并提供虚拟交换机功能(与VirtualBox、VMware Workstation和Fusion的功能不同)。您可以在vSphere中部署VMware NSX,这是一个专业的企业级解决方案,用于在数据中心创建复杂的虚拟网络。

共享存储支持

共享存储允许您拥有更具可扩展性的虚拟基础设施,并将虚拟机文件存储在外部存储上(即在虚拟机所在的主机之外)。在VMware与VirtualBox共享存储方面,用于共享存储的协议包括 iSCSI、NFS 和 SMB。光纤通道是一种高级专用技术,用于在存储区域网络中部署共享存储。

iSCSI 存储

iSCSI 是一种流行的网络协议,用于在块级别访问共享存储。通过以太网网络连接,iSCSI 可以方便地将存储附加为远程磁盘。客户操作系统与此类型的存储一样与常规块存储一起使用。提供共享存储的服务器称为 iSCSI 目标,而启动对服务器的连接的客户端称为 iSCSI 发起者。当需要在主机之间迁移虚拟机时,将共享 iSCSI 存储用作虚拟磁盘特别有用。虚拟机使用相同的共享 iSCSI 目标存储虚拟磁盘,但在迁移后却消耗另一台主机的计算资源。

  • VirtualBox 包括内置的 iSCSI 发起者。在 VirtualBox 中,必须使用命令行将 iSCSI 目标连接到虚拟机。将 iSCSI 目标附加到虚拟机后,内部虚拟机文件直接存储在 iSCSI 磁盘上。在这种情况下,不会创建虚拟磁盘文件。
  • VMware ESXi 支持连接 iSCSI 目标,用作存储 VM 文件的数据存储,包括虚拟磁盘。ESXi 中存在 iSCSI 启动器。与 VirtualBox 的主要区别在于,VirtualBox VM 仅直接使用 iSCSI 目标而不创建虚拟磁盘,而 ESXi 使用 iSCSI 目标作为存储 VM 的虚拟磁盘文件的数据存储。

    建议您为连接到 ESXi 主机的 iSCSI 目标配置专用的 ESXi 网络。您可以使用原始设备映射(RDM)直接将 VMware VM 的数据存储到 iSCSI 磁盘上,而不是通过虚拟磁盘文件。但请注意,这种情况下不会改善 VM 的性能。

  • VMware WorkstationPlayerFusion(Pro 和 Player)不支持 iSCSI,也没有 iSCSI 启动器。在 iSCSI 存储上存储虚拟磁盘的唯一方法是通过使用主机操作系统的内置 iSCSI 启动器(如果操作系统中存在该启动器)连接 iSCSI 目标。然后,您可以使用挂载的磁盘来存储 VM 的虚拟磁盘文件。NFS、SMB 和 Fibre Channel

NFS、SMB和光纤通道

VirtualBox还支持NFS和SMB共享存储,而VMware ESXi支持NFS和光纤通道共享存储。NFS和SMB是文件级访问协议。需要注意的是,SMB与CIFS不同

思考

我们现在可以总结VMware和VirtualBox共享存储能力的差异:

  • VMware ESXi支持最广泛的共享存储,包括光纤通道、iSCSI和NFS。这些共享存储类型最适合大型生产环境。
  • 如果我们比较VMware Workstation、VMware Player和VMware Fusion与VirtualBox,由于集成了iSCSI启动器,VirtualBox具有更好的共享存储支持。内置的VirtualBox iSCSI启动器允许您将iSCSI目标直接连接到VM作为虚拟磁盘,而无需在共享存储上创建虚拟磁盘文件。
  • VMware Workstation、Player、Fusion(Pro和Player)和VirtualBox可以将VM文件存储在主机操作系统功能连接的共享存储上。在这种情况下,可以使用iSCSI、SMB和NFS协议。

VM实时迁移 – VirtualBox Teleporting与VMware vMotion的比较。

在拥有多个带有虚拟机的宿主机时,您可能需要在虚拟机运行时将其从一个宿主机迁移到另一个宿主机。使用的技朧有VirtualBox中的Teleporting和VMware中的vMotion。

VirtualBox Teleporting

VirtualBox支持在虚拟机运行时通过TCP/IP网络将其从一台VirtualBox宿主机迁移到另一台。这个功能在VirtualBox中被称为Teleporting。必须使用共享存储(iSCSI、NFS或SMB)来存储虚拟磁盘,并且必须被两台VirtualBox宿主机访问。

A virtual disk is not migrated from one host to another. Rather, the state of the VM is transferred – with minimal downtime if the VM is running. As a result, the VM consumes the computing resources (CPU, memory) of the target host but not the resources of the source host. A VM can be migrated between hosts regardless of the host OS. For example, a VM can be migrated from a Linux host (source) to a Windows host (target).

使用VirtualBox Teleporting的要求包括:

  • 用于存储虚拟机文件的共享存储。
  • 在目标宿主机上配置VirtualBox虚拟机。必须创建一个硬件设置与源虚拟机完全相同的虚拟机(虚拟内存的数量必须相同)。
  • 虚拟机名称可以不同。
  • A command line interface (VBoxManage) must be used to perform VM Teleportation between VirtualBox hosts.
  • 建议在VirtualBox宿主机上使用同一家庭的处理器,以实现最大兼容性。
  • 虚拟机不能有快照。

VMware vMotion

VMware提供vMotion功能,用于在vSphere中通过网络在ESXi宿主机之间迁移虚拟机,且在虚拟机运行时不会出现停机。虚拟机的工作负载(CPU和内存)被无缝转移。因此,虚拟机的服务和应用程序不会中断。使用vMotion时,虚拟磁盘不会迁移。使用Storage vMotion将虚拟磁盘从一个数据存储迁移到另一个。

主要要求包括:

  • VMware vCenter Server。
  • 共享数据存储,可由多个ESXi主机访问
  • ESXi主机上的同一系列处理器

与VirtualBox的Teleporting不同,您不需要为VMware VM的实时迁移创建一个新的空VM。建议您配置一个专用网络用于使用vMotion进行VM迁移。您可以通过VMware vSphere Client的图形用户界面或使用PowerCLI执行迁移。

注意:如果ESXi主机上的处理器属于同一供应商的不同代,您可以使用VMware EVC模式

VMware PlayerWorkstationFusion不支持任何VM实时迁移功能,如vMotion。您只能手动将已关闭电源的VM的文件从一个主机复制到另一个主机。

思考

在VMware与VirtualBox的比较中,VMware ESXi在VMware vSphere中具有vMotion功能的VM实时迁移类别中胜出。VMware vMotion提供了比VirtualBox Teleporting更高级和灵活的实时迁移功能,包括:

  • 具有快照的VM迁移
  • 同时迁移多个VM
  • 在更长距离上迁移

VMware vSphere结合vMotion在ESXi主机之间迁移是组织和大型企业环境的最佳选择。

集中式远程管理界面

远程和集中管理虚拟化服务器(主机)非常重要,尤其是当您需要管理多个托管虚拟机(VM)的主机时。在本节中,我们将解释VMware和VirtualBox在远程和集中管理虚拟基础设施界面方面的差异。

  • PhpVirtualBox是一个类似于VirtualBox标准界面的web界面。它允许您通过web浏览器管理远程VirtualBox实例。PhpVirtualBox是用PHP编写的,是一个免费的开源解决方案。PhpVirtualBox和VirtualBox不必安装在同一台机器上,因为它们之间的通信是通过网络进行的。因此,您可以将PhpVirtualBox部署到管理安装在不同主机上的多个VirtualBox实例(即使主机操作系统没有图形用户界面)。这是一个简单轻便的用户界面,用于管理VirtualBox主机上的VM。

    VirtualBox远程桌面扩展(VRDE)可以远程显示虚拟机,允许您从另一台计算机管理该VM。Oracle VirtualBox远程显示协议(VRDP)是Microsoft远程桌面协议(RDP)的向后兼容扩展。要使用此功能,您必须安装VirtualBox扩展包并在每个VM基础上启用VRDP服务器。

  • VMware提供了vCenter Server,用于集中管理ESXi主机和vSphere的其他组件。您可以使用VMware vSphere客户端连接到vCenter,它具有用户友好的图形用户界面。VMware vSphere Web客户端(基于Flash)和独立的VMware vSphere客户端(即Windows应用程序)不再使用。如果您没有vCenter Server,您可以通过使用VMware主机客户端在Web浏览器中管理独立的ESXi主机。

    VMware还提供了vSphere PowerCLI,这是一个用于管理ESXi主机和vCenter的命令行界面(CLI)。PowerCLI是Windows PowerShell的cmdlet集合。

  • VMware WorkstationPlayer不提供像VirtualBox或VMware vSphere那样的远程和集中管理功能。在远程管理的上下文中,我们唯一需要提到的是配置VMware Workstation Server功能。这个功能允许你共享在安装了VMware Workstation的主机上运行的VM,并使用VMware Workstation或VMware Fusion Pro从另一台机器连接到这个主机。

思考

我们可以得出结论,VMware vCenter为VMware vSphere虚拟化环境提供了更先进和全面的管理能力:

  • VMware vCenter提供了比PhpVirtualBox更多的管理虚拟基础设施的选项。
  • 虽然PhpVirtualBox适用于小型和中型虚拟环境,但VMware vCenter被采用来管理任何规模的环境,包括大型和复杂的虚拟环境。

VM加密支持。

VirtualBox具有内置加密功能,可让您加密虚拟机的虚拟磁盘。配置VM加密很简单:选择加密密码(XTS-AES-256或XTS-AES-128),并在VM设置中输入密码。虚拟磁盘加密可能需要一些时间,取决于虚拟磁盘的大小。当您启动加密的VM时,需要输入密码。虚拟磁盘加密对于客户操作系统是透明的(客户操作系统无法看到VM已加密)。稍后,如果需要,您可以在VM选项中禁用加密。必须安装VirtualBox扩展包才能启用VM加密选项。

VMware也提供VM加密/限制选项,每个VMware产品的选项都不同。与VirtualBox类似,VMware VM的虚拟磁盘可以加密。如果为VM设置了到期日期,则用户可以在到期日期之前使用VM。之后,管理员必须输入用于VM加密的密码,以重置或延长VM限制选项。

  • VMWare Player。不能使用VMware Player加密VM,但VMware Player可以播放已加密的VM(在这种情况下需要商业许可证)。
  • VMware Workstation允许您配置VM加密 – 您可以启用或禁用加密,编辑已加密或受限制的VM,以及为加密的VM设置到期日期。所有加密和限制功能都可用。使用AES-256加密算法加密VM的虚拟磁盘文件。
  • VMware Fusion Player。您可以为尚未加密的虚拟机启用和禁用加密。唯一的更改是密码 – 如果虚拟机以前使用另一个 VMware 产品(VMware Fusion 之外)加密/受限制。如果这些选项不够,请考虑使用 VMware Fusion Pro。
  • VMware Fusion Pro。您可以为已启用限制的虚拟机启用、禁用和编辑加密设置。通过使用 VMware Fusion Pro,所有加密和限制选项都可用于虚拟机。
  • VMware ESXi。如果您在 vSphere 中使用带有 vCenter 的 ESXi 主机,则可为虚拟机和 VM 文件提供更多加密选项。您可以加密 VM 文件(VMDK、NVRAM、VSWP、VMSN)或虚拟磁盘(VMDK)。XTS-AES-256 算法用于创建数据加密密钥(DEK),AES-256 用于创建密钥加密密钥(KEK)。

A Key Management Service (KMS) is used to provide keys for vCenter. VMware vSphere client must be used to encrypt particular VM files. Log files, VM configuration files (VMX, VMSD), and virtual disk descriptor files are not encrypted. Network communication used to manage and transfer VMs is encrypted for ESXi hosts in VMware vSphere.

思考

VMware 为 ESXi 和 VMware vSphere 提供了更全面的虚拟机加密选项。除了在 VMware 环境中加密 VM 文件外,还内置了数据传输期间的数据加密支持。

内存膨胀

内存过度承诺(也称为内存膨胀)是一种内存回收技术,允许主机从某些正在运行的虚拟机中检索未使用的内存,并将该内存重新分配给需要更多内存的运行中虚拟机。当主机的物理内存用尽时,将激活此功能。主机无法将从虚拟机中检索的内存用于自己的任务。

A hypervisor creates a special driver-locked ballooning process, which simulates the consumption of a part of the VM memory. This process prevents the use of this part of memory by other guest applications, while a hypervisor can redistribute the ballooned memory to other VMs.

例如,如果主机具有16 GB的物理内存,则内存过度承诺允许您运行3个虚拟机,这些虚拟机在VM设置中配置为每个虚拟机使用6 GB的内存(3×6=18 > 16)。如果由膨胀过程填充内存的虚拟机需要额外的内存,则客户端操作系统将使用交换文件。

  • VirtualBox支持内存膨胀。此功能只能通过命令行中的VBoxManage配置。必须在虚拟机上安装VirtualBox增强功能以使用内存膨胀,因为需要增强功能的一部分是特殊驱动程序。内存膨胀仅受支持于64位主机,不支持于macOS主机。
  • VMware为VMware 工作站融合ESXi提供内存膨胀。与VirtualBox不同,此功能可以通过GUI配置。需要VMware Tools,因为它们包含一个特殊的vmmemctl.sys膨胀驱动程序。

思考

虚拟化解决方案中,VMware和VirtualBox在托管的hypervisors中的内存膨胀方面的差异是微小的。VirtualBox和VMware Workstation中VM内存膨胀的实现类似:虚拟机中使用虚拟设备,该虚拟设备与hypervisor通信以根据需要分配和释放内存。然而,VMware ESXi为VM内存管理提供了更先进的功能。

透明页面共享、内存压缩和内存去重是ESXi中的高级内存管理功能,可以更好地优化虚拟环境中物理内存的使用。

集群技术

不幸的是,VirtualBox目前不提供集群功能。

VMware vSphere通过在vSphere中使用ESXi服务器和vCenter,提供了部署两种类型集群的能力:

VMware 集群 在 VMware vSphere 中还提供了容错功能,这是 HA 集群的一个重要特性,可以在硬件故障时实现虚拟机无停机切换。

VMware PlayerWorkstationFusion 不支持集群,与 VirtualBox 类似。

为开发者提供 API

VirtualBox 和 VMware 虚拟化解决方案为开发者提供了 API,以便自动化和扩展其功能。VirtualBox 和 VMware 解决方案的 API 可以用于 C++、Java 和 Python。VirtualBox、VMware Workstation 和 VMware vSphere 的 API 都非常全面,可以用于自动化虚拟机管理任务,如创建和克隆虚拟机、访问和修改虚拟机设置。

下面您可以找到 VMware 和 VirtualBox API 功能的差异。

  • VirtualBox 为开发者提供了强大的 API(应用程序编程接口),用于开发与 VirtualBox 交互的应用程序,并使创建的应用程序的集成更加简便。Oracle 还提供了 VirtualBox SDK(软件开发工具包)。VMware 为开发者提供了不同的 API 和 SDK,包括集成开发和测试工具(如 Eclipse)的能力。您可以使用 Eclipse 插件为 VMware Workstation 设置 Eclipse 集成虚拟调试环境。VMware 还提供了 VMware Studio,一个用于构建 vApps 和虚拟应用程序的免费开发工具。
  • VMware提供了不同的API和SDK供开发者使用,包括集成开发和测试工具的能力,例如Eclipse。您可以使用Eclipse插件设置适用于VMware Workstation的Eclipse集成虚拟调试器环境。VMware还提供了VMware Studio——一个用于构建vApp和虚拟设备的免费开发工具。

VMware vSphere强大的API可以用于自动化管理底层vSphere基础设施,包括创建和修改数据存储、虚拟网络和虚拟交换机。

结论

VirtualBox和VMware都提供了性能和高可靠性。最终的决定取决于您。评估哪些特性和优势对您的基础设施至关重要,并选择最合适的产品。如果您想了解更多关于虚拟化解决方案的信息,您还可以阅读关于VirtualBox与Hyper-V的比较

请记住,虚拟机应该通过备份和/或复制来保护,以避免数据丢失并确保不间断的工作流程和可用性。NAKIVO Backup & Replication是为ESXi虚拟化环境设计的数据保护解决方案,确保在任何情况下都能快速有效地进行备份和恢复。

Source:
https://www.nakivo.com/blog/vmware-vs-virtual-box-comprehensive-comparison/