虚拟化是一项能够从单台物理机器创建虚拟环境的技术,通过将资源分配至各计算环境来实现更高效的资源利用。
虚拟化技术的出现可追溯至 1964 年,当时 IBM 推出了用于 IBM System/360 的分时研究项目 CP-40。CP-40 后来演变为 CP-67,最终影响了 Unix——最早的多用户分时操作系统之一,为虚拟机等现代虚拟化技术打下了基础。1972 年,IBM 为其 System/370 发布了首个官方虚拟机产品 VM/370。
1998 年,VMware 开发了 x86 操作系统,使单台机器能被划分为多个虚拟机,每台虚拟机运行各自的操作系统。1999 年,VMware 推出了 Workstation 1.0,这是首款允许用户在单台电脑上将多个操作系统作为虚拟机运行的商业产品。该产品因其能让软件开发人员轻松地在不同操作系统环境中测试和开发应用程序而广受欢迎。
根据 The Business Research Company 的预测,虚拟化软件市场规模将从 2024 年的 858.3 亿美元增长至 2025 年的 1001.9 亿美元,年复合增长率 (CAGR) 为16.7%。1
边缘计算、容器化、混合云与多云模式的采纳,以及对安全性和合规性日益增长的关注,共同推动了这一增长。推动虚拟化市场发展的其他新兴趋势还包括物联网 (IoT)、人工智能 (AI) 和机器学习 (ML) 的集成应用。
在虚拟化之前,IT 人员为每个应用程序服务器分配专用的物理中央处理器 (CPU),为每个应用程序搭建独立服务器。这种每台计算机运行单一应用程序和单一操作系统的方式因其可靠性而被采用。然而,各物理服务器的利用率往往偏低。
相比之下,服务器虚拟化使得在单台物理服务器(通常是 x86 服务器)上运行多个应用程序成为可能,每个应用都拥有其专属的虚拟机和操作系统,且不会牺牲可靠性。该功能可最大限度利用物理硬件的计算容量,并优化资源利用率。
用软件定义的虚拟机替代物理计算机,可更便捷地通过软件管理和执行策略。这有助于建立自动化 IT 服务管理流程。例如,自动化部署与配置工具允许管理员在软件模板中将虚拟机和应用程序定义为服务,从而实现无需手动设置的统一部署。
此外,虚拟化安全策略可根据虚拟机角色强制执行安全配置。这些策略还能通过停用闲置虚拟机来提升资源效率,节省空间与算力。
操作系统和应用程序崩溃可能导致停机,影响用户工作效率。虚拟化使管理员能并行运行多个冗余虚拟机,并在出现问题时执行故障切换。若运行多个冗余物理服务器,成本将显著提高。
为每个应用程序配置硬件可能非常耗时。然而,若硬件已就位,配置虚拟机以运行应用程序的速度将显著加快。虚拟机管理软件现已能自动化此流程,从而简化工作流。
虚拟化通过实现最短停机时间的快速服务恢复来优化灾难恢复。由于虚拟机可轻松迁移、复制或备份,与传统物理服务器相比,将系统恢复至运行状态更快、更高效。
虚拟化有助于降低硬件采购、维护及能耗成本。将物理服务器整合至虚拟机中,减少了对额外硬件的需求,从而节省资本支出与运营成本。
要深入了解虚拟化的优点,请参阅“虚拟化的五大优点”。
虚拟化依赖若干关键组件来创建和管理虚拟环境。各组成部分在确保资源有效分配方面都扮演着重要角色,使得多个虚拟机能够并行运行且互不干扰。
物理机(也称为“主机”)是为虚拟机提供 CPU、内存、存储及网络资源的硬件设备(如服务器或计算机)。
虚拟机 (VM) 是通过软件形式模拟物理计算机的虚拟环境。虚拟机通常被称为客户机,一台主机可运行一台或多台“客户机”。
虚拟机通常由配置文件、虚拟硬盘存储及其他依赖项等多个文件构成。 通过在虚拟机间共享系统资源,虚拟化可提供按需扩展性、效率提升与成本节约。
虚拟机监控程序是协调虚拟机的软件层。它作为 VM 与底层物理硬件之间的接口,确保各虚拟机都能获取其运行所需的物理资源。同时 通过防止虚拟机相互侵占内存空间或计算周期,确保彼此互不干扰。
虚拟机监控程序分为两种类型:
第 2 类虚拟机监控程序 作为应用程序在现有操作系统上运行。它们最常用于终端设备以运行客户操作系统,因为必须通过主机操作系统来访问和协调底层硬件资源,会产生性能开销。
除服务器虚拟化外,众多 IT 基础设施类型均可实施虚拟化,从而为 IT 管理者乃至整个企业带来显著优势。这些虚拟化包括以下几种类型:
桌面虚拟化允许您在同一台计算机上运行多个桌面操作系统,每个系统位于各自的虚拟机中。
桌面虚拟化分为两种类型:
有关虚拟桌面的更多信息,请参阅“什么是桌面即服务 (DaaS)?”
现代企业通过使用多种文件格式,在从云端到本地部署硬件及软件系统的众多位置存储来自多个应用程序的数据。数据虚拟化使任何应用程序能够访问所有这些数据,无论其来源、格式或位置如何。
数据虚拟化工具在访问数据的应用程序与存储数据的系统之间创建一个软件层。该层按需转换应用程序的数据请求或查询,并返回可跨多个系统的结果。当其他集成方式不可行、不适用或成本过高时,数据虚拟化有助于打破数据孤岛。
应用程序虚拟化无需将应用程序软件直接安装在用户操作系统上即可运行。该技术与完整桌面虚拟化的区别在于:仅应用程序在虚拟环境中运行,终端用户设备上的操作系统仍照常运行。
应用程序虚拟化分为三种类型:
数据中心虚拟化将大部分数据中心硬件抽象为软件,从而有效使管理员能够将单一物理数据中心划分为多个虚拟数据中心,服务于不同客户。
各客户端均可访问其专属的基础设施即服务 (IaaS),其运行于相同的底层物理硬件之上。虚拟数据中心提供了便捷的云计费入口,使企业能够快速建立完整的数据中心环境,而无需采购基础设施硬件。
中央处理器 (CPU) 虚拟化是支撑虚拟机监控程序、虚拟机及异构操作系统的基础技术。它允许将单个 CPU 划分为多个虚拟 CPU,供多个虚拟机使用。
最初 CPU 虚拟化完全由软件定义,但当今多数处理器已包含支持 CPU 虚拟化的扩展指令集,从而提升虚拟机性能。
图形处理器 (GPU) 是一种特殊的多核处理器,通过承担繁重的图形或数学处理任务来提升整体计算性能。GPU 虚拟化允许多个虚拟机全部或部分使用单个 GPU 的处理能力,从而加速视频处理、人工智能及其他图形或数学密集型应用程序。
虚拟化环境中的 GPU 主要分为两类:
通过将服务器、存储及其他物理数据中心资源虚拟化,云计算服务商能够为客户提供以下服务:
要深入了解这些云服务模式,请参阅主题页面:IaaS、PaaS 与 SaaS 对比解析。
服务器虚拟化在硬件层面完整模拟计算机实体,进而运行整套操作系统。该操作系统仅运行单一应用程序。这比完全不使用虚拟化效率更高,但仍然会为每一个需要运行的应用程序复制不必要的代码和服务。
容器则采用另一种方法。它们共享底层操作系统内核,仅运行应用程序及其依赖项(如软件库和环境变量)。这一特性使容器体量更小、部署更快。
深入了解二者差异,请参阅博客文章“容器与虚拟机有何区别?”。
这段视频“容器化详解”解析了容器化的基础知识及其与虚拟机虚拟化的对比。
众多公司提供针对不同用例的专用虚拟化解决方案,包括服务器、桌面及应用程序虚拟化。以下是市场上部分最突出的解决方案:
Red Hat OpenShift on IBM Cloud 是一个完全托管的 OpenShift 容器平台 (OCP)。
借助 IBM Spectrum Virtualize,为 VMware 环境提供安全、可靠和高效的存储虚拟化技术。
查找适合企业的业务需求的云基础设施解决方案,并按需扩展资源。