虚拟化

menu icon

虚拟化

虚拟化是一个过程,旨在支持更有效地利用物理计算机硬件,是云计算的基础。

什么是虚拟化?

虚拟化使用软件在计算机硬件上创建抽象层,能够将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机,通常称为虚拟机 (VM)。 每个 VM 都运行自己的操作系统 (OS) ,其行为类似于独立的计算机,即使它仅在实际底层计算机硬件的一部分上运行。

因此,虚拟化能够更有效地利用物理计算机硬件,使组织的硬件投资获得更大的回报。

目前,虚拟化已成为企业 IT 架构中的标准实践。 它也是推动云计算经济的技术。 虚拟化使云提供商能够为用户提供现有的物理计算机硬件;它使云用户能够仅在需要时购买所需的计算资源,并随着工作负载的增长而经济有效地扩展这些资源。

有关虚拟化如何工作的进一步概述,请观看我们的视频“虚拟化详解”(5:20):

虚拟化的优点

虚拟化为数据中心运营商和服务提供商带来多项好处:

  • 资源效率:在虚拟化之前,每个应用服务器都需要自己的专用物理 CPU - IT 人员为每个应用购买和配置想要运行的单独服务器。(IT 出于可靠性原因,喜欢在每台计算机上配置一个应用和一个操作系统 (OS)。)因此,每台物理服务器都始终未得到充分利用。 相反,服务器虚拟化使您能够在单一物理计算机(通常是 x86 服务器)上运行多个应用,每个应用都在自己的 VM 上运行,使用自己的操作系统,而且不会牺牲可靠性。 这样就能够最大程度地利用物理硬件的计算能力。
  • 更便于管理:将物理计算机替换为软件定义的 VM,就能够更轻松地使用和管理在软件中编写的策略。 这使您能够创建自动化的 IT 服务管理工作流程。 例如,自动化部署和配置工具使管理员能够在软件模板中将虚拟机和应用的集合定义为服务。 这意味着他们可以重复而一致地安装这些服务,而不需要繁琐耗时、容易出错的手动设置。 管理员可以根据虚拟机的角色使用虚拟化安全策略,以强制实施某些安全配置。 策略甚至可通过淘汰未使用的虚拟机以节省空间和计算能力,提高资源效率。
  • 最大程度减少宕机:操作系统和应用崩溃会导致宕机,对用户生产力造成影响。 管理员可以同时运行多个冗余虚拟机,当出现问题时,可在它们之间进行故障转移。 运行多个冗余物理服务器的成本比较高昂。
  • 更快地供应:为每个应用购买、安装和配置硬件非常耗时。 如果硬件已部署,那么供应虚拟机以运行所有应用的速度要快得多。 甚至可以使用管理软件实现自动化供应,将其构建到现有工作流程中。

要更深入地了解潜在收益,请参阅“虚拟化的 5 个优点”。

解决方案

多家公司提供虚拟化解决方案,涵盖特定数据中心任务或以最终用户为中心的桌面虚拟化场景。 比较知名的示例包括专用于服务器、桌面、网络和存储虚拟化的 VMware;专长于应用虚拟化但也提供服务器虚拟化和虚拟桌面解决方案的 Citrix;以及通过随附于 Windows 的 Hyper-V 虚拟化解决方案,专注于服务器和桌面计算机的虚拟版本的 Microsoft。

虚拟机 (VM)

虚拟机 (VM) 是虚拟环境,以软件形式模拟物理计算。 它们通常由包含 VM 配置的多个文件、用于虚拟硬盘驱动器的存储器以及用于保留特定时间点状态的 VM 的一些快照构成。

有关 VM 的完整概述,请参阅“什么是虚拟机?”

虚拟机管理器

虚拟机管理器是用于协调 VM 的软件层。 它充当 VM 与底层物理硬件之间的接口,确保每个 VM 都有权访问它执行任务所需的物理资源。 它还可确保 VM 不会通过使用彼此的内存空间或计算周期而相互干扰。

存在两种类型的虚拟机管理器:

  • 类型 1,也称“裸机”虚拟机管理器,与底层物理资源进行交互,完全取代传统的操作系统。 它们最常出现在虚拟服务器场景中。
  • 类型 2 虚拟机管理器在现有操作系统上作为应用运行。 这类虚拟机管理器最常在端点设备上用于运行其他操作系统,它们会产生性能开销,因为它们必须使用主机操作系统来访问和协调底层硬件资源。

虚拟机管理器:完整指南”提供了有关虚拟机管理器的所有内容的全面概述。

虚拟化类型

到目前为止,我们讨论了服务器虚拟化,但许多其他 IT 基础架构元素也可以实现虚拟化,从而为整个企业尤其为 IT 经理带来显着优势。 在本部分中,我们将介绍以下类型的虚拟化:

  • 桌面虚拟化
  • 网络虚拟化
  • 存储虚拟化
  • 数据虚拟化
  • 应用虚拟化
  • 数据中心虚拟化
  • CPU 虚拟化
  • GPU 虚拟化
  • Linux 虚拟化
  • 云虚拟化

桌面虚拟化

桌面虚拟化使您能够运行多个桌面操作系统,每个操作系统在同一台计算机上自己的 VM 中运行。

存在两种类型的桌面虚拟化:

  • 虚拟桌面基础架构 (VDI)在中央服务器上的 VM 中运行多个桌面,并将其流至在瘦客户端设备上登录的用户。 通过这种方式,VDI 使组织能够支持用户从任何设备访问各种操作系统,而无需在任何设备上安装操作系统。 请参阅“什么是虚拟桌面基础架构 (VDI)?”,以了解更深入的说明。
  • 本地桌面虚拟化在本地计算机上运行虚拟机管理器,使用户能够在该计算机上运行一个或多个额外的操作系统,并根据需要从一个操作系统切换到另一个,而不必更改有关主操作系统的任何配置。

有关虚拟桌面的更多信息,请参阅“桌面即服务 (DaaS)”。

网络虚拟化

网络虚拟化使用软件创建网络的“视图”,管理员可使用该视图,从单一控制台管理网络。 它抽象了硬件元素和功能(例如,连接、交换机、路由器等),将它们抽象为在虚拟机管理器上运行的软件。 网络管理员可在不接触底层物理组件的情况下修改和控制这些元素,这极大地简化了网络管理。

网络虚拟化的类型包括软件定义的网络 (SDN),它虚拟化用于控制网络流量路由的硬件(称为“控制平面”);以及网络功能虚拟化 (NFV),它虚拟化用于提供特定网络功能(例如,防火墙、负载均衡器或流量分析器)的一个或多个硬件设备,使这些设备更易于配置、供应和管理。

存储虚拟化

存储虚拟化使网络上的所有存储设备都可以作为单个存储设备进行访问和管理,而无论它们是安装在各个服务器上,还是作为独立存储单元存在。 具体而言,存储虚拟化将所有存储块整合到单一共享池中,可根据需要将池中的存储分配给网络中的任何 VM。 存储虚拟化更易于为 VM 提供存储,并最大程度地利用网络上的所有可用存储器。

要进一步详细了解存储虚拟化,请查看“什么是云存储?

数据虚拟化

现代企业将多个应用中使用多种文件格式的数据存储在多个位置,包括云、本地硬件和软件系统。 数据虚拟化使任何应用都可以访问所有这些数据 - 无论来源,格式或位置。

数据虚拟化工具在访问数据的应用与存储数据的系统之间创建软件层。 该层可根据需要转换应用的数据请求或查询,并返回可覆盖多个系统的结果。 如果其他类型的集成不可行、不理想或经济上不可承受,数据虚拟化有助于打破数据孤岛。

应用虚拟化

应用虚拟化运行应用软件,不直接安装在用户的操作系统上。 这不同于完整的桌面虚拟化(如上所述),因为只有应用在虚拟环境中运行 - 最终用户设备上的操作系统照常运行。 存在三种类型的应用虚拟化:

  • 本地应用虚拟化:整个应用在终端设备上运行,但在运行时环境中运行,而不是在本机硬件上运行。
  • 应用流:应用位于服务器上,它在需要时将软件的各个小组件发送到最终用户的设备上运行。
  • 基于服务器的应用虚拟化:应用完整地在服务器上运行,仅将用户界面发送到客户端设备。

数据中心虚拟化

数据中心虚拟化将大部分数据中心的硬件抽象为软件,有效地帮助管理员将单个物理数据中心划分为用于不同客户端的多个虚拟数据中心。

每个客户端都可以访问自己的基础架构即服务 (IaaS) ,它们在同一底层物理硬件上运行。 虚拟数据中心为基于云的计算提供了简便的方法,使企业无需购买基础架构硬件即可快速建立完整的数据中心环境。

CPU 虚拟化

CPU(中央处理器)虚拟化是使虚拟机管理器、虚拟机和操作系统成为可能的基本技术。 它能够将单个 CPU 划分为多个虚拟 CPU 以供多个 VM 使用。

首先,CPU 虚拟化完全是软件定义形式,但目前的许多处理器包含扩展指令集,支持 CPU 虚拟化,这有助于提高 VM 的性能。

GPU 虚拟化

GPU(图形处理单元)是一种特殊的多核处理器,可通过接管重负荷图形或数学处理,帮助提高整体计算性能。 GPU 虚拟化使多个 VM 能够使用单个 GPU 的全部或部分处理能力,以便更快地运行视频、人工智能 (AI) 和其他图形或数学密集型应用。

  • 直通式 GPU 使整个 GPU 可用于单个访客操作系统。
  • 共享式 vGPU 将物理 GPU 核心划分为多个虚拟 GPU (vGPU),以供基于服务器的 VM 使用。

Linux 虚拟化

Linux 包含自己的虚拟机管理器,称为基于内核的虚拟机 (KVM),它支持 Intel 和 AMD 的虚拟化处理器扩展,因此您可以在一个 Linux 主机操作系统中创建基于 x86 的 VM。

作为开源操作系统,Linux 高度可定制。 可创建 VM,运行针对特定工作负载定制的 Linux 版本,或运行面向较为敏感的应用的安全强化型版本。

云虚拟化

如上所述,云计算模型依赖于虚拟化。 通过虚拟化服务器、存储器和其他物理数据中心资源,云计算提供商可以为客户提供一系列服务,包括:

  • 基础架构即服务 (IaaS)可根据需求配置的虚拟化服务器、存储器和网络资源。
  • 平台即服务 (PaaS)虚拟化的开发工具、数据库和其他基于云的服务,可用于构建您自己的基于云的应用和解决方案。
  • 软件即服务 (SaaS): 在云中使用的软件应用。 SaaS 是从硬件进行最大程度抽象的基于云的服务。

如果您希望了解有关这些云服务模型的更多信息,请参阅我们的指南:“IaaS vs. PaaS vs. SaaS”。

虚拟化与容器化

服务器虚拟化在硬件中重现整台计算机,然后运行整个操作系统。 操作系统运行一个应用。 这比完全没有虚拟化更有效,但它仍会复制您要运行的每个应用的不必要代码和服务。

容器采用另一种方法。 它们共享底层操作系统内核,仅运行应用及其依赖的内容,如软件库和环境变量。 这使得容器更小,部署更迅速。

要深入了解容器和容器化,请查看“容器:完整指南”和“容器化:完整指南”。

查看博客帖子“容器 vs. VM:有什么区别?”,了解更细致的对比。

在以下视频中,Sai Vennam 细致介绍了容器化的基本概念,并将其与通过 VM 实现的虚拟化进行对比(8:09):

VMware

VMware 创建了虚拟化软件。 VMware 一开始仅提供服务器虚拟化 - 其 ESX(现在为 ESXi)虚拟机管理器是最早取得成功的商用虚拟化产品之一。 目前,VMware 还为网络、存储和桌面虚拟化提供解决方案。

要深入了解涉及 VMware 的所有内容,请参阅“VMware:完整指南”。

安全

虚拟化提供了一些安全优势。 例如,受恶意软件感染的 VM 可回滚到未受感染和稳定状态的时间点(称为快照);还可以更轻松地删除和重建 VM。 您无法总是能够让非虚拟化的操作系统免受病毒感染,因为恶意软件通常深度集成到操作系统的核心组件中,靠系统回滚解决不了问题。

虚拟化还带来一些安全挑战。 如果攻击者攻破了虚拟机管理器,那么他们可能拥有所有 VM 和访客操作系统。 因为虚拟机管理器还允许各 VM 相互通信而不会触及物理网络,因此很难看到它们之间的流量,于是也很难检测到可疑活动。

主机操作系统上的类型 2 虚拟机管理器也易受主机操作系统攻击的影响。

市场中提供了一系列虚拟化安全产品,可以扫描和修补 VM 以杀除恶意软件,加密整个 VM 虚拟盘,以及控制和审计 VM 访问。

虚拟化和 IBM

IBM Cloud 为基于云的虚拟化解决方案提供完整补充,涵盖公有云服务以及私有云和混合云服务。 您可以使用它来创建和运行虚拟基础架构,还可以通过 IBM Cloud for VMware Solutions,利用各种服务,包括基于云的 AI 以及 VMware 工作负载迁移等。

立即注册 IBM Cloud 帐户