概述
虚拟机监控程序是一种创建并运行虚拟机(VM)的软件。虚拟机监控程序(有时也称为 VMM)会将虚拟机监控程序的操作系统与虚拟机的资源分离开,并创建和管理这些 VM。
用作虚拟机监控程序的物理硬件被称为主机,而使用其资源的虚拟机则被称为客户机。
虚拟机监控程序将资源(如 CPU、内存和存储器)视为一组可以在现有的客户机之间或向新的虚拟机进行重新分配的资源池。
所有虚拟机监控程序都需要一些操作系统层面的组件才能运行虚拟机,如内存管理器、进程调度程序、输入/输出(I/O)堆栈、设备驱动程序、安全管理器以及网络堆栈等。
虚拟机监控程序将向每个虚拟机提供已分配的资源,并根据物理资源来管理 VM 资源的调度。物理硬件仍会继续执行任务,举例而言,在虚拟机监控程序管理调度时,CPU 将继续应 VM 的要求执行 CPU 指令。
多个不同的操作系统可以彼此并行运行,并与虚拟机监控程序共享相同的虚拟化硬件资源。这是虚拟化的主要优势。如果没有虚拟化,您只能在硬件上运行一个操作系统。
无论是传统供应商还是开源,虚拟机监控程序有很多选择。VMware 是一款热门的虚拟化产品,可以提供 ESXi 虚拟机监控程序和 vSphere 虚拟化平台。
基于内核的虚拟机(KVM)则是一种开源解决方案,它已内置于 Linux® 内核中。其他方案包括开源 Xen 和 Microsoft Hyper-V。
虚拟机监控程序的类型
虚拟化有两种不同类型的虚拟机监控程序可用:第 1 类和第 2 类虚拟机监控程序。
第 1 类
第 1 类虚拟机监控程序(也称为本机或裸机虚拟机监控程序)直接在主机的硬件上运行,以管理虚拟客户机操作系统。它可取代主机操作系统,而虚拟机监控程序会直接向硬件调度 VM 资源。
这一类虚拟机监控程序在企业数据中心或其他基于服务器的环境中最为常见。
KVM、Microsoft Hyper-V 和 VMware vSphere 就是典型的第 1 类虚拟机监控程序。从 2007 年开始,KVM 已被合并到 Linux 内核中。因此,如果您使用的是较新版本的 Linux,就已经可以访问 KVM。
第 2 类
第 2 类虚拟机监控程序也称为托管虚拟机监控程序,它在常规操作系统上以软件层或应用的形式运行。
这种虚拟机监控程序是通过从主机操作系统中抽象出虚拟客户机操作系统来工作的。虚拟机资源针对主机操作系统进行调度,然后针对硬件来执行。
第 2 类虚拟机监控程序更适合希望在私人计算机上运行多个操作系统的个人用户。
VMware Workstation 和 Oracle VirtualBox 就是典型的第 2 类虚拟机监控程序。
容器 vs. 虚拟机
宏观来看,容器和虚拟机很相似。它们都是封装型计算环境,里面组合了各种 IT 组件并独立于系统的其余部分。二者的主要区别在于其扩展方式和可移植性。
容器是与系统其他部分隔离开的一个或多个进程。它允许进程仅访问已指定的资源请求。这些资源限制可确保容器能够在具有足够容量的节点上运行。
虚拟机则包含自己的操作系统(OS),从而能够一次执行多个资源密集型功能。由于虚拟机的可用资源大大增加,因此它们可以抽象、分离、复制和模拟整个服务器、操作系统、台式机、数据库和网络。
虚拟机监控程序还允许您在虚拟机中运行多个操作系统,但容器只能运行一种类型的操作系统。例如,运行在 Linux 服务器上的容器只能运行 Linux 操作系统。
有人认为容器会取代虚拟机监控程序,但这种说法并不完全准确,因为容器和虚拟化可以满足不同的需求。
虚拟机监控程序安全的注意事项
虚拟机可以提供一个与系统其余部分隔离开的环境。这样,无论虚拟机内部运行什么,都不会干扰主机硬件上运行的其他内容。
由于虚拟机已被隔离开,因此即使它受到威胁,也不会对整个系统造成影响。
但是,如果虚拟机监控程序本身遭到黑客入侵,则可能导致虚拟机监控程序所管理的所有虚拟机出现问题,进而使每个虚拟机中的数据防不胜防。
安全协议与要求可能会因虚拟机监控程序的类型而异。
为什么选择红帽来实现虚拟化?
虚拟机监控程序能为您的虚拟化平台打下扎实基础。红帽一直致力于为虚拟化开发提供支持,改进 KVM 虚拟机监控程序。自从 KVM 和 oVirt 两个社区成立以来,我们也一直积极投身于社区贡献。
红帽® 虚拟化是一个开放的软件定义平台,可以虚拟化 Linux 和 Microsoft Windows 工作负载。
它以红帽企业 Linux 和 KVM 为骨架,内含的管理工具可以虚拟化资源、进程和应用,从而为未来的云原生和容器化提供一个稳定的基础。
红帽的虚拟化产品快速、经济、高效,能够帮助您从容应对当前的挑战,并为未来的技术发展奠定基础。