Jump to section

什么是虚拟机(VM)?

复制 URL

虚拟机(VM)是一种计算环境,会模拟出自己的整套硬件,包括 CPU、内存、网络接口和存储器,通常用于充当隔离系统。一种称为虚拟机监控程序的软件可将必要的计算资源进行隔离,还可以创建和管理虚拟机。

运行虚拟机的物理机被称为主机、主机计算机、主机操作系统,通常简称为主机。使用其资源的诸多虚拟机被称为虚拟客户机、虚拟客户计算机、虚拟客户机操作系统,一般简称为客户机。虚拟机监控程序将 CPU、内存和存储等计算资源视为一个资源池,从而可以轻松地在现有客户机之间或者向新的虚拟机动态分配这些资源。

虚拟机允许在一台计算机上同时运行多个不同的操作系统,例如,在 MacOS 或 Windows 系统上运行 Linux® 发行版。每个操作系统的运行方式与通常操作系统或应用在主机硬件上使用的运行方式相同,因此在虚拟机中获得的最终用户体验与物理机上的实时操作系统体验也几乎毫无二致。 

虚拟化是一种将能力与硬件分离的技术,可以充分利用以往局限于特定硬件的资源。借助该技术,您可以将物理计算机的工作能力分配给多个用户或环境,从而更大程度发挥计算机的能力。

虚拟化类型包括:

  • 数据虚拟化:使企业组织能够将数据源整合为单一的动态供应。

  • 桌面虚拟化:允许通过一个中央管理员来部署和控制多个模拟的桌面环境。

  • 服务器虚拟化:允许管理员按用于提供特定功能的配置分配服务器。

  • 操作系统虚拟化:支持在一台计算机上运行多个操作系统。

  • 网络功能虚拟化:可以隔离网络的功能(例如目录服务、文件共享和 IP 配置),并将它们分到各个环境中。

虚拟机可被定义为单个数据文件,即,它可在两台计算机之间迁移并在任一计算机上打开,而且功能不受影响。虚拟机监控程序负责管理硬件并将物理资源与虚拟环境分隔开。物理环境中的资源会被按需分配给各个虚拟机。但实际的计算操作仍然由物理硬件执行,例如,虚拟机监控程序负责管理调度安排,CPU 则按照虚拟机的请求执行 CPU 指令。

虚拟机运行时,如果用户或程序发出需要从物理环境获取更多资源的指令,虚拟机监控程序会调度物理系统的资源请求,以便虚拟机的操作系统和应用访问共享的物理资源池。

Linux® 环境中的内置虚拟机监控程序称为基于内核的虚拟机(KVM)。其他虚拟机监控程序包括 Microsoft Hyper-V 和开源的 Xen。

可用于虚拟化的虚拟机监控程序分为两种。

1 类

1 类虚拟机监控程序为裸机形式。虚拟机监控程序直接将虚拟机资源调度到硬件上。KVM 就属于 1 类虚拟机监控程序。

2 类

2 类虚拟机监控程序为托管形式。虚拟机的资源被调度分配到主机操作系统上,然后由主机操作系统传递给硬件执行。VMware Workstation 和 Oracle VirtualBox 就是典型的 2 类虚拟机监控程序。 

借助虚拟化,多个操作系统可以在共用的虚拟化硬件资源上同时运行。如果没有虚拟化,则一个硬件只能运行一个操作系统。

服务器整合是使用虚拟机的首要原因。部署到裸机时,大多数操作系统和应用部署都只会使用少量的物理资源。通过将服务器虚拟化,您可以在每个物理服务器上创建大量虚拟服务器,从而提高硬件利用率。

这样您就无需购买额外的物理资源(例如硬盘驱动器或硬盘),也不用压缩数据中心对电能、空间和冷却能力的需求。凭借支持故障转移和冗余,虚拟机提供了额外的灾难恢复选项,而这以前只能通过增加硬件才能实现。

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

由于虚拟机处于隔离状态,因此堪称是测试新应用或设置生产环境的理想之选。此外,针对特定的进程,您还可以运行单用途虚拟机。

虚拟化是实现云计算的技术之一。公共云和私有云将资源虚拟化到共享池中,添加一层管理控制,并通过自助式自动化功能提供这些资源。

用于创建云的虚拟化、管理和自动化软件均位于操作系统之上,操作系统负责维护物理资源、虚拟数据池、管理软件、自动化脚本及客户之间的连接。

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

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

继续阅读

文章

容器与虚拟机

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

文章

什么是虚拟机(VM)?

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

文章

什么是 KVM?

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