各种VM软件之间有什么区别?

各种VM软件之间有什么区别?

例如,我只使用过 VirtualBox,我想知道其他产品中我可能缺少什么。我听说过 KVM 和 VMWare,并且我确信还有其他的。如果没有阅读有关每个内容的维基百科文章(唷!),它们有何不同?

答案1

我将虚拟机技术分为三类(并非所有产品都明确属于一类):

  • 全虚拟化,即完整的硬件仿真。例子:盖姆,操作系统。优点:您可以在任何硬件上模拟任何架构。缺点:这是最慢的方法。
  • 硬件辅助虚拟化,您可以在机器 X 上模拟机器 X。这比完全虚拟化要快得多,因为大多数指令都是本机执行的,但您失去了运行外部架构的能力。有两个子类别:
    • 基于虚拟机管理程序的虚拟机:您可以同时运行多个操作系统。底层称为虚拟机管理程序,是一个专用操作系统,仅运行虚拟机。例子:Xen,虚拟机ESX
    • 托管虚拟机:有一个主操作系统,虚拟机是该主操作系统上的应用程序。例子:虚拟盒子,键盘虚拟机
  • 操作系统级虚拟化:您运行同一操作系统的多个实例。这反过来比硬件虚拟化更加轻量级,但你会失去一些隔离性,当然也失去了运行不同操作系统的能力。例子:开放VZ,FreeBSD 监狱

首先确定符合您需求的类别。

答案2

VirtualBox 是一个在操作系统之上运行的软件应用程序。它可以使用操作系统和硬件的功能来加速虚拟化。 VirtualBox 软件必须保持运行,虚拟化系统才能保持运行。

Xen 是操作系统的一个子类,称为虚拟机管理程序,它是一个仅提供虚拟化的操作系统。它将管理功能卸载到一个单独的管理操作系统,称为“dom0”,通常是 Linux。管理操作系统为物理硬件提供驱动程序。

VMWare 有多种产品。 VMWare Workstation 的工作方式类似于 VirtualBox,而 VMWare ESX 是类似于 Xen 的虚拟机管理程序。与 Xen 的主要区别在于 ESX 提供自己的硬件驱动程序,因此硬件支持有限。

KVM 是一个在 Linux 内核中添加虚拟机管理程序的项目。由于 KVM 使用虚拟机管理程序,因此它不需要以与 VirtualBox 相同的方式保持运行。虽然 KVM 是一个虚拟机管理程序,例如 Xen 和 ESX,但它同时也是一个 Linux 内核和操作系统。

应该指出的是,KVM 纳入 Linux 中常常被误解为普遍认为是“有福的前进之路”。 KVM 项目在 Linux 中得到正式支持,因为它是 Linux 内核的修改,而 Xen 和 ESX 是完全独立的操作系统。

答案3

这是一种管理程序技术,系统内部具有各种性能

相关内容