Jump to section

什么是虚拟机监控程序?

复制 URL

虚拟机监控程序是一种创建并运行虚拟机(VM)的软件。虚拟机监控程序,又称虚拟机监控器(VMM),该程序将虚拟机监控程序操作系统和资源与虚拟机隔离开来,并支持创建和管理这些虚拟机。

运行了虚拟机监控程序的物理硬件称为主机,而使用其资源的虚拟机则被称为虚拟客户机。

虚拟机监控程序将 CPU、内存和存储等资源视为一个池,这个池可在现有客户机之间轻松实现再分配,或重新分配到新的虚拟机。

所有虚拟机监控程序都需要一些操作系统级的组件来运行虚拟机,例如内存管理器、进程调度器、输入/输出(I/O)堆栈、设备驱动程序、安全管理器、网络堆栈等。

虚拟机监控程序会为每个虚拟机提供已分配的资源,并管理虚拟机资源与物理资源之间的调度。但实际的计算操作仍然由物理硬件执行,例如,虚拟机监控程序负责管理调度安排,CPU 则按照虚拟机的请求执行 CPU 指令。

多个不同的操作系统可以在同一台物理硬件上同时运行,并通过虚拟机监控程序共享相同的虚拟化硬件资源。这是虚拟化的一个关键优势。如果没有虚拟化,则只能在硬件上运行 1 个操作系统。 

传统供应商和开源社区提供了多种虚拟机监控程序。VMware 是一款实现虚拟化的热门产品,可以提供 ESXi 虚拟机监控程序和 vSphere 虚拟化平台。

基于内核的虚拟机(KVM)是一种内建于 Linux® 内核中的开源解决方案。其他选项包括开源的 Xen 和 Microsoft Hyper-V。 

有 2 种不同类型的虚拟机监控程序可用于虚拟化:1 类和 2 类虚拟机监控程序。

1 类

1 类虚拟机监控程序,也称为本机或裸机虚拟机监控程序,直接在主机的硬件上运行,以管理客户机操作系统。它可取代主机操作系统,虚拟机监控程序直接将虚拟机资源调度到硬件上。 

这种类型的虚拟机监控程序常用于企业数据中心或其他基于服务器的环境。

KVM、Microsoft Hyper-V 和 VMware vSphere 都是典型的 1 类的虚拟机监控程序。KVM 已于 2007 年合并到 Linux 内核,因此如果您使用的是较新版本的 Linux,就可以直接使用 KVM。 

2 类

2 类的虚拟机监控程序,也称为托管虚拟机监控程序,它在传统操作系统上以软件层或应用的形式运行。

它的工作原理是从主机操作系统中将客户机操作系统抽象出来。虚拟机的资源被调度分配到主机操作系统上,然后由主机操作系统传递给硬件执行。 

2 类虚拟机监控程序更适合希望在私人电脑上运行多个操作系统的个人用户。 

VMware Workstation 和 Oracle VirtualBox 就是典型的 2 类虚拟机监控程序。 

总体而言,容器和虚拟机看起来很相似。它们都是封装型计算环境,其中整合了各种 IT 组件并将其与系统的其他部分隔离开来。重要区别在于它们的扩展方式和可移植性。 

容器是与系统其他部分隔离开的一个或一组进程。容器仅允许进程访问已指定的资源请求。这些资源限制可确保容器能够在有足够容量的节点上运行。

虚拟机包含自己的操作系统(OS),因此可以同时执行多个需要占用大量资源的功能。由于虚拟机的可用资源多得多,因此它们可以抽象、分离、复制和模拟整个服务器、操作系统、台式机、数据库和网络。 

虚拟机监控程序还允许您在虚拟机中运行多个操作系统,但容器只能运行一种类型的操作系统。例如,运行在 Linux 服务器上的容器只能运行 Linux 操作系统。 

尽管有时候容器会被当做虚拟机监控程序的替代品,但这并不完全准确,因为容器和虚拟化可满足不同的需求。

虚拟机可以提供一个与系统其余部分隔离开的环境。这样,无论虚拟机内部运行什么,都不会干扰主机硬件上运行的其他内容。

由于虚拟机是隔离的,因此即使虚拟机受到威胁,整个系统也不会受到影响。 

然而,如果虚拟机监控程序本身遭到黑客攻击,则可能会导致它管理的所有虚拟机出现问题,从而使每个虚拟机中的数据面临风险。 

安全协议和要求可能会因虚拟机监控程序的类型而异。

虚拟机监控程序能为您的虚拟化平台打下扎实基础。红帽® 一直致力于为虚拟化开发提供支持,帮助改进 KVM 虚拟机监控程序。自从 KVM 和 oVirt 两个社区成立以来,我们也一直积极投身于社区贡献。

红帽 OpenShift® 虚拟化是红帽 OpenShift 的一项功能,使 IT 团队能够将虚拟机(VM)引入容器化工作流。通过在容器中运行虚拟机,团队可以在单个平台上与容器并行部署和管理虚拟机。如此一来,企业能够充分利用虚拟化方面的现有投资,同时获享现代应用平台的简易性和高效性。

通过使用免费且直观的迁移工具,可以将现有虚拟机从其他平台迁移到 OpenShift 应用平台。迁移后的虚拟机将与容器一同在相同的红帽 OpenShift 节点上运行。

继续阅读

文章

容器与虚拟机

Linux 容器和虚拟机(VM)都是封装型计算环境,里面组合了各种 IT 组件并独立于系统的其余部分。

文章

什么是虚拟机(VM)?

虚拟机(VM)是一种通过从物理机中抽象资源而创建的隔离计算环境。

文章

什么是 KVM?

基于内核的虚拟机(KVM)是一种将 Linux 转变为虚拟机监控程序的开源虚拟化技术。