什么是虚拟化

什么是虚拟化?

什么是虚拟化

虚拟化长期以来一直是一项基础 IT 技术,使企业能够在一台物理机器上运行多个独立的系统。

虚拟化是一种允许从单个物理机创建多个虚拟环境的技术。这些虚拟环境基本上是以前与硬件绑定的功能的逻辑(虚拟)表示,可以表示物理桌面、网络、服务器、存储等。这允许用户在单个硬件系统上运行多个、单独和隔离的环境。

虚拟化可以更有效地利用物理机器的资源,从而确保企业的硬件投资获得更好的回报。这就是为什么它已成为企业 IT 架构的行业标准。此外,它在支持云计算服务方面发挥着关键作用,帮助企业有效管理 IT 基础设施。

虚拟机管理程序和虚拟机

什么是虚拟机管理程序?

为了创建虚拟环境,正如我们上面提到的,需要专用软件将硬件功能抽象到虚拟层。该软件称为虚拟机管理程序。它位于物理硬件和虚拟机(VM)之间,管理主机的资源(CPU、内存、存储、网络)并将其分配给多个虚拟环境。

虚拟机管理程序确保每个虚拟机独立、安全地运行,防止一台虚拟机干扰另一台虚拟机,同时有效地共享底层物理资源。基本上,您可以将其视为仅具有启用虚拟化这一特定功能的操作系统。

虚拟机管理程序主要有两种类型:

  • 类型 1(裸机虚拟机管理程序):直接在物理硬件上运行,无需主机操作系统(OS)。由于没有中间操作系统层,它们提供了更好的性能和安全性。示例包括 VMware vSphere、Microsoft Hyper-V、Proxmox VE、Nutanix AHV、XCP-ng,以及企业 Linux 环境中广泛使用的开源 KVM 虚拟机管理程序。
  • 类型 2(托管虚拟机管理程序) :作为软件应用程序在主机操作系统之上运行。虽然更容易设置和管理,但由于额外的操作系统层,它们的性能稍低。示例包括 VMware Workstation、Oracle VirtualBox、适用于 macOS 的 Parallels Desktop、Linux 系统中未启用 KVM 加速时运行的 QEMU 等。

什么是虚拟机?

我们之前提到过虚拟环境;在虚拟化语境中,这些环境最常见的术语是虚拟机 Virtual Machine 。 VM 是对完整物理计算机系统的基于软件的模拟。每个虚拟机都运行自己的操作系统和应用程序,与同一主机上的其他虚拟机完全隔离。对于在其中运行的软件来说,虚拟机的外观和行为与专用物理机完全相同,尽管它通过虚拟机管理程序与其他虚拟机共享硬件资源。

虚拟化如何工作?

虚拟化的工作原理是使用虚拟机管理程序抽象物理硬件资源并创建隔离的虚拟环境。以下是该过程的逐步说明:

1. 虚拟机管理程序安装

虚拟机管理程序可以直接安装在物理硬件上(类型 1),也可以作为在现有操作系统上运行的软件(类型 2)安装。一旦安装完成,它就会控制系统的硬件资源。

2. 虚拟机创建

管理程序通过将部分物理资源分配给每个 VM 来创建虚拟机。在创建 VM 时,管理员定义关键参数,例如 RAM 容量(如从 32GB 中分配 4GB)、CPU 核心数(如从 8 核中分配 2 核)、存储空间(如 100GB 磁盘)以及网络连接要求。

3. 操作系统安装

每个虚拟机都安装自己的完整操作系统,该操作系统可以与主机系统不同。例如,您可以在 Linux 主机上运行 Windows 虚拟机,或在同一物理服务器上运行多个不同的 Linux 发行版。

4. 资源管理和隔离

当应用程序在虚拟机内运行时,虚拟机管理程序充当中介:

  • 确保每个虚拟机只能访问其分配的资源;
  • 将虚拟机请求转换为实际的硬件操作;
  • 在虚拟机之间保持严格隔离,并确保安全稳定;
  • 在支持的情况下,根据需求动态管理资源分配。

虚拟化的类型

虚拟化有许多不同类型,它们都有各自的优点和用途。以下是一些最常见的虚拟化类型:

  • 服务器虚拟化:用户可以将物理服务器划分为更小的虚拟服务器,以最大化服务器资源。这确保用户不必对服务器资源的复杂细节进行微观管理,同时提高资源共享、利用率和可扩展性。每个虚拟服务器都运行自己独特的操作系统和应用程序,独立于物理机上的其他虚拟服务器。
  • 网络虚拟化:将可用带宽分割成独立的通道,每个通道可以实时分配给特定的服务器或设备。通过允许多个网络存在于同一物理网络上,有助于降低网络复杂性并提高速度、安全性和灵活性。
  • 存储虚拟化:将多个网络存储资源汇集在一起,并呈现为由中央控制台管理的单个存储设备。存储虚拟化有助于提高数据存储的效率和速度,通常用于存储区域网络(SAN)。
  • 应用程序虚拟化:将应用程序层与硬件和操作系统分离,使应用程序不再依赖物理机的操作系统。这样,用户可以在 Linux 上运行 Windows 应用程序,反之亦然,而无需两台计算机。
  • 桌面虚拟化:管理员可以在托管、集中或远程服务器上部署模拟桌面环境,使用户能在任何工作站或设备上访问自己的桌面。此外,管理员可以轻松地在所有虚拟桌面上执行更新、安全检查和批量配置。
  • 数据虚拟化:现代企业将数据存储在多个位置,因此需要确保应用程序可以访问所有数据,无论位置、格式或来源如何。数据虚拟化从不同来源汇集数据,在一个地方统一呈现,为用户提供单点数据访问。

虚拟化的好处

到 2026 年,虚拟化仍然至关重要;随着组织依靠虚拟化来简化基础设施并控制成本,其作用只会越来越大。主要优势包括更好的资源利用率、简化的管理、减少停机时间以及显著的成本节省。

高效的资源利用

在没有虚拟化的情况下,每个应用服务器都需要自己的专用物理 CPU,IT 人员必须为每个应用购买和配置单独的服务器。由于物理服务器往往利用不足,这种方式资源效率不高。通过虚拟化,现在可以在单台物理服务器上运行多个应用------每个应用运行在自己的 VM 上------从而高效利用物理计算机的资源与容量。这还能降低新硬件采购成本、释放数据中心空间并节省电力。

管理更轻松

通过用虚拟机取代物理桌面,IT 管理员可以轻松管理和使用以软件定义的策略,创建自动化 IT 服务管理工作流程也更为顺畅。虚拟化消除了手动配置和设置物理计算机或服务器的耗时且易出错的过程。

最短的停机时间

虚拟化通过多种机制显著减少停机时间。当物理服务器上发生操作系统或应用崩溃时,整个系统都会离线,直到问题解决。通过虚拟化,管理员可以:

  • 在集群内运行虚拟机以实现高可用性。集群由两台或多台具有共享资源的物理服务器组成,当运行虚拟机的服务器故障时,虚拟机可故障转移到另一台活动服务器;
  • 将正在运行的虚拟机从一台物理主机迁移到另一台物理主机而不中断(实时迁移)。当物理服务器需要维护或虚拟机管理程序需要更新时,可实现零停机;
  • 创建快照以便在出现问题时快速回滚。快照是虚拟机完整状态的时间点捕获,包括操作系统、应用程序、设置和数据。可将其视为视频游戏中的「存档点」------需要时可随时回到那一刻。

成本效益

虚拟化可在多个领域带来显著成本节省。例如硬件整合:多个虚拟机运行在一台物理服务器上,而不是为每个工作负载配备专用硬件(通常可实现 10:1 或更高的整合比)。物理服务器减少后,电力与冷却的能耗也会下降。相应地,更少的物理组件意味着更少的维护、更换和支持工作。

云计算

云计算通过互联网以按需、按使用付费的方式提供共享计算资源(服务器、存储、数据库、网络、软件)。企业无需购买和维护物理数据中心,即可根据需要从云提供商处获取可扩展的计算资源。

虚拟化是实现云计算的基础技术。云提供商使用虚拟化在物理服务器上创建多个虚拟机,在众多客户之间高效共享硬件资源,并为不同用户提供隔离、安全的环境。如果没有虚拟化,云提供商就无法经济地共享基础设施,也无法提供定义云计算的灵活性与可扩展性。

容器化

容器化是虚拟化的另一种形式,它以不同于传统虚拟机管理程序和虚拟机的方式打包应用程序。虚拟机运行完整的操作系统,而容器共享主机操作系统内核,同时隔离应用运行环境。

容器不是虚拟化整台机器,而是将应用程序及其依赖项(库、配置文件、运行时)封装成轻量、可移植的包。多个容器共享同一操作系统内核,因此比虚拟机更具资源效率。

发展趋势

虚拟化一直帮助企业用同一套硬件做更多事情,它仍然允许多个系统和应用程序在一台物理机上运行,现在还支持云平台、边缘部署以及虚拟机与容器并存的环境,使 IT 基础设施更加灵活、更易于管理且更具成本效益。

未来几年,虚拟化将变得更加智能、更加通用。我们将看到能够预测问题并自动调整工作负载的自修复、AI 原生虚拟化堆栈。GPU、NPU 和 FPGA 等专用硬件将得到更广泛的虚拟化,帮助企业高效运行人工智能和高性能工作负载。开源虚拟机管理程序预计将获得更大发展,为组织提供更灵活、更具成本效益的选择。与此同时,轻量级虚拟机管理程序将在边缘更加普遍,以支持物联网、5G 和实时应用。安全性也将更加贴近硬件,零信任原则直接内置于虚拟化层,从设计上使环境更加安全。

相关推荐
Shadow(⊙o⊙)8 小时前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
IT大白鼠8 小时前
2019年Cloudflare全球宕机事件技术分析:正则表达式回溯失控与互联网基础设施脆弱性研究
运维·正则表达式·去中心化
funnycoffee1238 小时前
华为S5736交换机3层ECMP负载方式
linux·服务器·数据库
SparkleN.8 小时前
/tmp/cargo/env:No such file or directory
运维·服务器
rockmelodies9 小时前
CentOS Stream 源码编译安装 Nginx 1.31.0(静态依赖版)
运维·chrome·nginx
2401_853087889 小时前
打破文档孤岛:将知识库深度融入DevOps流水线
运维·人工智能·devops
叶半欲缺9 小时前
Linux初始化数据盘
java·linux·服务器
用户2367829801689 小时前
Linux zip 与 unzip 命令详解:压缩算法原理与实战技巧
linux
皆圥忈9 小时前
Linux 进程从入门到实战(二)
linux