虚拟机 (VM) 是一个虚拟环境,它作为虚拟计算机系统运行,其自己的 CPU、内存、网络接口和存储在物理硬件系统上创建。称为虚拟机管理程序的软件将计算机的资源与硬件分开并适当地分发它们,以便 VM 可以使用这些资源。
配备虚拟机管理程序(如基于内核的虚拟机 (KVM))的物理硬件称为主机,而使用其资源的许多 VM 是来宾。虚拟机管理程序将计算资源(如 CPU、内存和存储)视为资源池,可以轻松地在现有来宾之间或新虚拟机之间重新定位。
VM 与系统的其余部分隔离,多个 VM 可以存在于单个硬件上,如服务器。可根据需求在主机服务器之间移动它们,或者更有效地使用资源。
VM 中的操作系统运行方式与操作系统或应用程序通常在主机硬件上运行的方式相同,因此 VM 的用户体验将类似。
您可能还有兴趣:
在 Java 虚拟机内部(第 2 部分)
VM 如何工作?
虚拟化技术允许您与许多虚拟环境共享系统。虚拟机管理程序管理硬件并将物理资源与虚拟环境分开。根据需要从物理环境对 VM 进行分区。
当 VM 正在运行时,用户或程序发出需要物理环境中额外资源的说明时,虚拟机管理程序会安排对物理系统资源的请求,以便虚拟机的操作系统和应用程序可以访问物理资源的共享池。
虚拟机管理程序的类型
有 2 种不同类型的虚拟机管理程序可用于虚拟化。
类型 1
类型 1 虚拟机管理程序位于裸机上。VM 资源由虚拟机管理程序直接安排到硬件上。KVM 是类型 1 虚拟机管理程序的示例。KVM在2007年被合并到Linux®内核中,所以如果你使用的是现代版的Linux,你已经可以访问KVM了。
类型 2
托管类型 2 虚拟机管理程序。VM 资源针对主机操作系统进行计划,然后针对硬件执行
为什么要使用 VM?
服务器整合是使用 VM 的首要原因。大多数操作系统和应用程序部署在部署到裸机时仅使用少量可用的物理资源。通过虚拟化服务器,可以将许多虚拟服务器放在每个物理服务器上,以提高硬件利用率。
这样可以防止您购买额外的物理资源,并减少了数据中心对电源、空间和冷却的需求。VM 启用故障转移和冗余,而以前只能通过其他硬件来实现。
VM 提供了与系统其余部分隔离的环境,因此无论在 VM 内运行的任何内容都不会影响在主机硬件上运行的任何其他内容。
由于 VM 是隔离的,因此它们是测试新应用程序或设置生产环境的好选择。您还可以运行单个用途 VM 以支持特定进程。