虚拟化软件将操作系统与底层硬件分离,将强大的 IT 资源划分为更小的单元。 除其他外,虚拟化软件可用于在单个物理服务器上运行多个“虚拟机”(VM)。 因此,可扩展的 IT 环境是在大型计算场的基础上实现的。
虚拟机软件是现代云平台的先决条件,它提供“基础设施即服务”(IaaS)。 遵循自助服务模式,只需按一下按钮,即可为用户分配虚拟化资源。 但虚拟机软件对于个人用户来说也是一个不错的选择,因为虚拟机是可重现的、安全的工作环境。
目前最好的虚拟机软件
下表总结了最好虚拟机程序的最重要特性。 有关详细信息,请参阅文章下方的相应部分。
软件名称 | 虚拟化 | 架构 | 主机操作系统 | 来宾操作系统 | 功能 | 费用 |
---|---|---|---|---|---|---|
Microsoft Hyper-V Manager | 原生虚拟机管理程序 | x86-64 | 64 位 Windows 10 企业版/专业版/教育版 | 32 位和 64 位 Windows 和 Linux; 从 Windows Vista (SP2) 开始 | + | 免费 |
VMware Workstation Pro | 托管虚拟机管理程序 | x86-64 | 64 位 Windows 或 Linux; 从 Windows 8/Windows Server 2012 开始 | 32 位和 64 位 Windows 和 Linux; 从 Windows XP 开始 | +++ | $$ |
Oracle VirtualBox | 托管虚拟机管理程序 | x86-64 | 64 位 Windows 或 Linux; 从 Windows 8.1 / Windows Server 2012 开始 | 32 位和 64 位 Windows 和 Linux; 从 Windows 8 开始,功能有限的旧版本 | ++ | 免费 |
VMware Fusion Pro | 托管虚拟机管理程序 | ??? | macOS | 来宾操作系统 | +++ | $$$ |
Parallels Desktop for Mac | 托管虚拟机管理程序 | x86-64 和 ARM (Apple Silicon) | macOS 10.13 “High Sierra” 至 12 “Monterey” | 32 位和 64 位 macOS、Windows 和 Linux | +++ | $ |
KVM | 原生虚拟机管理程序 | x86-64, PowerPC, ARM | 32 和 64 位 Linux | 32 位和 64 位 Windows 和 Linux; 从 Windows XP / NT 4.0 开始 | + | 免费 |
QEMU | 托管管理程序和模拟器 | x86, x86-64 PowerPC, ARM, MIPS, RISC-V, SPARC | 32 和 64 位 macOS, Windows 和 Linux | 32 和 64 位 Windows 和 Linux | +++ | 免费 |
OpenVZ | 操作系统虚拟化 | x86, x86-64 | 32 和 64 位 Linux | 32 和 64 位 Linux | + | 免费 |
什么是虚拟化?
虚拟化是计算机科学中的一个基本概念。 通常,它涉及提供位于物理硬件和操作系统之间或操作系统和应用程序之间的抽象层。 通过对硬件、软件、存储和网络组件等物理IT资源进行抽象,目的是提供虚拟级别的资源,并根据需要灵活地分配给客户。
在我们关于虚拟化主题的焦点文章中,我们讨论了各种形式的虚拟化。
- 全虚拟化,硬件虚拟化的一种特殊情况:每个运行的实例(虚拟机)都被分配了自己的虚拟化硬件。
- 操作系统级虚拟化,软件虚拟化的一种特殊情况:每个正在运行的实例(容器)都可以访问资源有限的虚拟化操作系统。
虚拟化软件如何工作?
根据所使用的虚拟化软件的类型,底层机制会有所不同。 在硬件虚拟化的情况下,使用所谓的“管理程序”软件。 管理程序充当物理硬件和虚拟机之间的接口。 通常,管理程序在特定操作系统 (OS) 上运行,即主机操作系统,并向来宾操作系统提供虚拟化硬件。 我们区分两种类型的管理程序:
管理程序类型 | 名称 | 描述 | 示例 |
---|---|---|---|
类型 1 管理程序 | “本机”或“裸机” | 1 类管理程序直接在物理硬件(裸机)上运行或与主机操作系统(本机)集成:硬件 → 管理程序 / 主机操作系统 → 客户操作系统 | Hyper-V, KVM |
类型 2 管理程序 | “托管” | 2 型管理程序在主机操作系统上运行:硬件 → 主机操作系统 → 管理程序 → 客户操作系统 | VirtualBox, VMware Fusion |
注意
一些客户操作系统需要特定的主机操作系统。 例如,您只能在 macOS 主机上以访客身份运行 macOS。
在操作系统级虚拟化的情况下,使用特殊软件创建基于操作系统的隔离执行环境。 Docker、Kubernetes 和 OpenVZ 是操作系统级别的虚拟化软件的著名示例。
虚拟化软件是做什么用的?
虚拟化软件用于创建基于物理硬件的虚拟机。这个过程称为“配置”,构成了可扩展云平台的基础。因此,AWS 和替代方案支持“基础设施即服务”(IaaS),即按下按钮即可自动配置虚拟化硬件。
与安装在物理硬件上的操作系统相比,虚拟机 (VM) 提供了另一个决定性优势。虚拟机的状态可以保存为所谓的“快照”。如果在使用 VM 时出现问题,您可以快速恢复到上一个快照。此外,可以从正在运行的 VM 创建新的 VM 映像。工作环境的这种可再现性是软件开发和科学工作的基本要求。
现在,在软件开发中使用虚拟机 (VM) 已在很大程度上被容器虚拟化所取代。由于在主机上运行的所有容器共享一个操作系统,因此这种类型的虚拟化显着提高了性能并且减少了资源消耗。但是,仍然存在值得为测试目的设置 VM 的情况。例如,当要从 Windows 桌面运行 Linux 开发时。
使用 VM 软件的另一个优点是有些软件允许访问远程系统。 在“桌面虚拟化”中,VM 软件在本地运行,而虚拟机在远程主机上运行。 从安全角度来看,将操作系统分成多个独立的系统也很有吸引力。
最好的虚拟化软件
下面,我们将详细介绍一些可用的最佳 VM 软件。 我们从比较中排除了 ESXi 和 Xen 等裸机虚拟机管理程序,以及 Docker、Kubernetes 和 OpenShift 等纯容器虚拟化工具,而是专注于按客户操作系统分组的用户 VM 软件。 需要注意的是,在服务器上运行的虚拟机软件可能会稍微贵一些。
最好的 Windows 虚拟机软件
传统上,Windows 在虚拟化方面相对较弱。 Linux 是虚拟化领域的王者。 也就是说,Windows 很快就迎头赶上。例如,微软的“Hyper-V”管理程序是现代 Windows 版本不可或缺的一部分。 该技术还构成了“Linux 的 Windows 子系统”(WSL/WSL2) 的基础。 在高性能虚拟机中在 Windows 下运行各种 Linux 发行版对开发人员来说特别有趣。
特别是对于 Windows,使用虚拟化软件是值得的。 毕竟,操作系统几十年来一直受到驱动程序问题、病毒和木马的困扰。 使用虚拟机可以更轻松地在隔离环境中安全地工作。 例如,网上银行可以在保证无病毒的 Linux 环境中进行。 此外,VM 允许创建快照。 如果系统损坏,您可以跳回到安全的初始状态。
微软 Hyper-V 管理器
Microsoft 的 Hyper-V 管理器是 Windows Server 2008 和更新版本的一部分。 该虚拟化软件可在 Windows 10 企业版、专业版和教育版上实现虚拟机 (VM) 管理。 VM 程序可以免费使用,但可能需要 Windows 10 许可证。
Hyper-V Manager 用于管理 Hyper-V 主机和虚拟机。 这些可以在本地或远程机器上。 图形用户界面允许从中央平台舒适地使用虚拟环境。
VMware Workstation Pro
来自虚拟化重量级公司 VMware 的虚拟化软件“Workstation Pro”面向 IT 专业人士、开发人员和公司。 VM 程序可以在标准台式 PC 上实现大多数 x86 操作系统的虚拟化。远程访问远程 vSphere 环境也是可能的。但 Workstation Pro 可以做得更多。
Workstation Pro 简化了跨各种设备、平台和云的软件构建、测试和部署。虚拟化软件支持虚拟网络和其他虚拟化资源的配置。此外,本地 OCI 容器和 Kubernetes 集群可以在 VM 隔离的情况下运行。除了图形用户界面,命令行工具“vctl”可用于自动化工作流程。
与 VM 程序一样,可以稍后创建和恢复虚拟机的快照。此外,虚拟化软件可用于运行第二个桌面,由更严格的隐私和网络设置保护。 VM 中对 3D 技术 DirectX 11 和 OpenGL 的支持对于游戏和要求苛刻的图形应用程序来说很有趣。
尽管功能水平很高,但 VM 软件的价格还是相当实惠的,价格不到 250 美元。学院或大学的现在和未来的学生、他们的父母、教职员工和教育机构的员工都可以享受折扣。试用版可免费使用 60 天。
Oracle VirtualBox
Oracle 的“VirtualBox”是所有虚拟化软件之父。 VirtualBox 可以轻松地从家庭桌面使用虚拟机 (VM)。 即使用户界面现在看起来有点尘土飞扬,VM 软件通过用户友好性令人信服。 此外,VirtualBox 以“免费和开源软件”(FOSS)的形式发布——这是商业提供商提供的 VM 程序中的一项特殊功能。
VirtualBox 是在主机系统上运行虚拟机的基础,通常与其他专用软件结合使用。 例如,流行的工具“Vagrant”自动创建可重现的开发环境。 Vagrant 充当 VirtualBox、VMware、Hyper-V 和 Docker 等虚拟化软件与 Puppet、Chef 和 Ansible 等供应软件之间的接口。
最好的 Mac 虚拟机软件
原则上,虚拟化软件允许客户操作系统在主机操作系统上运行。 因此,可以从 Windows 桌面启动 Linux 发行版,或者可以在 Linux 上运行 Windows 安装。 但是,对于 Mac,有一个特殊功能。 因为作为来宾系统的 macOS 只能(合法地)在 macOS 主机上运行。
VMware Fusion Pro
VMware 的“Fusion Pro”或多或少是 VMware Workstation 的 Mac 版。 VM 软件广为人知,因为用户可以在 Mac 上运行 Windows。当虚拟化软件在 2007 年发布时,这是一个轰动的成就。如今,该工具提供了更多功能。
Fusion Pro 使 Mac 虚拟机 (VM) 能够运行 macOS、Windows 和 Linux 操作系统。该虚拟化软件还拥有创建、管理和运行 OCI 容器和 Kubernetes 集群的功能。虚拟机的高安全性和强隔离性在这里发挥了作用。这允许在单个 Mac 上运行和测试完整的云堆栈。
内置快照功能可以根据需要轻松恢复到安全存储点。图形用户界面允许您连接到远程 vSphere 和 ESXi 服务器。虚拟机和物理主机易于控制和管理,而虚拟机在主机之间拖放。
一个许可证的价格为 199 美元,升级现有的许可证集可以让您退回全价的一半。与 VMware 的老大哥 Workstation Pro 一样,Fusion Pro 可以免费试用 60 天。
Parallels Desktop for Mac
除了 VMware Fusion,“Parallels Desktop for Mac”是 Mac 的经典 VM 程序。开发人员和用户无需双启动设置即可在 Mac 上使用多个操作系统。使用虚拟化软件无需频繁重启。
Parallels Desktop 非常注重提供与 macOS “并行”运行的 Windows 桌面环境。虚拟化软件可以在 Mac 和 Windows 之间无缝移动和共享内容。借助所谓的“连贯模式”,Windows 应用程序可以像 Mac 应用程序一样使用。
许可证成本约为 90 美元,使其成为更便宜的商用 VM 软件之一。私人用户和学生享受折扣;升级现有许可证的费用约为 60 美元。
Oracle VirtualBox
VirtualBox 也可以在 macOS 上运行。但是,有一些限制。只有 Mac OS X Leopard 或 Snow Leopard 可用作来宾操作系统。不幸的是,VirtualBox 最多只能使用 macOS 10.15 “Catalina”。根本不支持现代 Mac,因为 VirtualBox 需要 x86 硬件并且与基于 ARM 的新“Apple-Silicon”芯片不兼容。
最好的 Linux 虚拟机软件
免费操作系统 Linux 是虚拟化技术诞生的“原始汤”。 如今,虚拟化的基本构建块已深深嵌入操作系统的内核中。 这为用户带来了最广泛的 VM 程序。 除了许多免费提供的解决方案外,还有一些商业选择。
KVM
“基于内核的虚拟机”(KVM)作为一种基本的虚拟化技术嵌入在 Linux 内核中。在 KVM 的帮助下,内核成为运行 Linux 和 Windows 虚拟机的管理程序。除了 x86 硬件,还支持 PowerPC 和一些 ARM 处理器。英特尔的 VT-x 或 AMD-V(如果可用)用于提高处理器级别的虚拟机性能。
KVM 允许在 Linux 主机上运行多个虚拟机 (VM)。每个 VM 都分配有自己的虚拟化硬件。除了处理器内核和 RAM,这还包括网络和图形适配器以及大容量存储。未修改的 Linux 和 Windows VM 映像用于设置 VM。
Linux 世界中的许多其他虚拟化程序都是基于 KVM 构建的。因此,可以使用多种用户界面来管理虚拟机。 “虚拟机管理器”用作桌面上的图形用户界面。可以使用“Kimchi”或“Foreman”通过浏览器访问 KVM 和托管的 VM。还有一些命令行界面可用于自动化常用的工作流程。在底层,KVM 是通过 libvirt API 控制的。
QEMU
“Quick Emulator”(QEMU)是一个复杂的虚拟化软件。 QEMU 能够完全虚拟化 x86 硬件并模拟其他处理器架构。 因此,可以执行为系统中物理上不存在的处理器编写的二进制文件。 甚至可以实时编译单个程序以供执行。
QEMU 默认与其他 VM 程序集成。 虚拟化软件可与 VirtualBox、KVM 和 Xen 等管理程序一起使用。 由于其基于硬件的“加速器”,它在运行虚拟机时实现了接近原生的性能。 该工具免费提供,并在开源许可证上运行。
OpenVZ
使用 OpenVZ Linux 用户可以测试一个非常有趣的虚拟化软件。开源项目源于商业软件“Virtuozzo”的开发。该名称是“Open Virtuozzo”的缩写。如今,OpenVZ 作为商业分支的开源核心组件。
OpenVZ 的特别之处在于没有虚拟机管理程序。相反,虚拟化发生在操作系统级别。使用容器。但是,与 Docker 一样,不会执行任何应用程序容器。取而代之的是,OpenVZ 虚拟化多个隔离的操作系统,这些操作系统基于一个专门改编的 Linux 内核。 OpenVZ 的使用特别适合整合服务器资源。
VMware Workstation Pro
VMware Workstation Pro 也可在 Linux 下使用。该功能与该软件的 Windows 版本相当。但是,有一些特定于 Linux 的特性。代替仅在 Windows 下可用的 DirectX,支持“Vulkan”渲染引擎。 Ubuntu、CentOS、Debian、Fedora、RHEL 和 SUSE 等各种 Linux 和 Unix 发行版都可以作为客户操作系统运行。
Oracle VirtualBox
VirtualBox 是除了 Windows 和 macOS(现代 Mac 除外)之外唯一可以在 Linux 上运行的 VM 软件。功能类似于 Windows 版本。