Jump to section

如何理解虚拟化?

复制 URL

虚拟化是一种技术,可以利用以往局限于硬件的资源来创建有用的 IT 服务。它让您能够将物理计算机的工作能力分配给多个用户或环境,从而充分利用计算机的所有能力。

举一个实际例子,假设您有 3 台物理服务器,分别用于不同的特定用途。 其中一台是邮件服务器,一台是 Web 服务器,最后一台则用于运行企业内部的传统应用。  每台服务器只使用了大约 30% 的计算容量,这仅是运行潜能的一小部分。但是,由于传统应用对内部运营非常重要,您必须将其连同所运行的第三台服务器予以保留,对吗?

服务器使用情况

过去确实如此。相对简单和可靠的做法是在单独的服务器上运行单独的任务:1 台服务器, 1 个运行操作系统,1 个处理任务。我们很难让 1 台服务器有多个大脑。但是,借助虚拟化技术,您可以将邮件服务器分为 2 个能够处理独立任务的特殊服务器,从而实现传统应用的迁移。您仍然使用相同的硬件,但可以更加高效地利用这些资源。

服务器使用:虚拟化

考虑到安全问题,您可以再次划分第一台服务器,从而可以处理另一项任务,将其使用率从 30% 提高到 60%,甚至提高到 90%。这样,现在空闲的服务器可以用于其他任务或 停用,以降低散热和维护成本。

虽然虚拟化技术可以追溯到上世纪 60 年代,但它直到 21 世纪初才得以广泛应用。实现虚拟化的技术,例如 Hypervisor(虚拟机监控程序),是在几十年前开发的,它让多个用户能够同时访问执行批处理的计算机。批处理是在一种在商业领域很流行的计算处理方式,能够非常快速地运行数千次的例行任务(例如工资单计算)。

但是,在接下来的几十年内,解决多用户/单计算机问题的其他解决方案变得日益盛行,而虚拟化却裹足不前。其中一种解决方案是分时(time-sharing),在操作系统内部让各个用户按时间分段使用资源 — 这在无意中催生了 UNIX 等其他操作系统,最终让位于 Linux®。与此同时,虚拟化始终没有得到广泛采用,只是一种小众技术。

我们将时间快进至上世纪 90 年代。大多数企业都使用物理服务器和单家供应商的 IT 堆栈,不支持在不同供应商的硬件上运行旧有应用。随着公司更新各自的 IT 环境,开始使用由多家供应商提供的价格相对低廉的商用服务器、操作系统和应用程序,他们必然面临着物理硬件利用率不足的问题 — 每台服务器只能运行 1 个供应商特定的任务。

在这个方面,虚拟化正好可以大展身手。它非常顺畅地解决了 2 个重要问题:公司可对服务器进行分区, 在多种类型和版本的操作系统上运行传统应用。自此,服务器开始得到更高效利用,从而降低与采购、设置、散热和维护相关的成本。

虚拟化的广泛适用性有助于减少对单家供应商的依赖,并为云计算的发展奠定了基础。现在它在很多企业得到了广泛使用,通常需要专业的 虚拟化管理软件进行跟踪。

一款名为 Hypervisor (虚拟机监控程序)的软件可有效分隔物理资源,并将这些资源分配给不同虚拟环境(也就是需要这些资源的任务)使用。虚拟机监控程序可能位于操作系统的顶层(例如在便携式计算机上),或者直接安装在硬件上(例如服务器),这是大多数企业使用虚拟化的方式。虚拟机监控程序接管物理资源,并对它们进行划分,以便虚拟环境能够对其进行使用。

虚拟化工作原理

来自物理环境的资源根据需要进行分区后,会分配给很多虚拟环境使用。用户在虚拟环境(通常称为虚拟客户机或虚拟机)内部,能够与计算任务交互,并运行计算。虚拟机作为单个数据文件运行。就像任何数字文件,虚拟机可以从一台计算机迁移至另一台,可以在不同的计算机上打开,而且功能不受影响。

当虚拟环境正在运行时,如果用户或程序发出一条指令,请求来自物理环境的更多资源, 虚拟机监控程序就会将请求传递到物理系统并缓存更改,所有这些步骤都接近本机速度(特别是如果该请求来自基于 KVM,即基于内核的虚拟机的开源虚拟机监控程序)。

数据虚拟化

数据虚拟化

分散在各处的数据可以整合为单个来源。实现数据虚拟化后,企业可将数据视为一个动态供应源,进而获得相应的处理能力,可以汇总多个来源的数据、轻松容纳新的数据源,并按用户所需转换数据。数据虚拟化工具处于多个数据源的前端,可将多个数据源视为单一来源,从而在正确的时间按照所需格式向应用或用户提供所需数据。

桌面虚拟化

桌面虚拟化

人们常把桌面虚拟化与操作系统虚拟化混淆,实际上,后者允许您在单台机器上部署多个操作系统,而桌面虚拟化则允许中央管理员(或自动化管理工具)一次向数百台物理机部署模拟桌面环境。不同于需要在每台机器上进行物理安装、配置和更新的传统桌面环境,桌面虚拟化可让管理员在所有虚拟桌面上执行大规模的配置、更新和安全检查。

服务器虚拟化

服务器虚拟化

服务器是用于处理大量特定任务的计算机,这样可让其他计算机(例如便携式计算机和台式机)能够执行其他各种任务。对服务器虚拟化,可以让它们执行更多特定功能,并且需要进行分区,以便使用各个组件来运行多种功能。

操作系统虚拟化

操作系统虚拟化

操作系统虚拟化在内核中进行,内核则是操作系统的中央任务管理器。这是并行运行 Linux 和 Windows 环境的实用方式。此外,企业还可将虚拟操作系统应用于多台计算机,以实现以下功能:

  • 降低批量硬件成本,因为计算机不需要具备很强的开箱即用能力。
  • 提高安全性,因为所有虚拟实例都被监控和隔离。
  • 节省花费在 IT 服务(例如软件更新)上的时间。

网络功能虚拟化

网络功能虚拟化

网络功能虚拟化(NFV)可以隔离网络的关键功能(例如目录服务、文件共享和 IP 配置),并将它们分到各个不同的环境中。一旦软件功能从原先赖以存在的物理计算机上独立出来,特定功能便可以组合成为新的网络,并分配给环境。虚拟化网络可以减少物理组件的数量(例如交换机、路由器、服务器、线缆和集线器),而这些往往是创建多个独立网络所必需的资源,所以这种虚拟化方式在电信行业中使用尤其广泛。

因为这种决定不仅仅与基础架构有关。它还涉及到您的基础架构能否支持部署在上面的技术。费用日益高涨的供应商合约会限制您对云、容器和自动化系统等现代技术的投资。

但是,我们的开源虚拟化技术并不会将您捆绑到逐年涨价的企业许可协议上,每个人都能完全访问相同的源代码,享受获得 90% 以上《财富》500 强公司信赖的出色功能。*从而让您可以安心提升敏捷性、部署混合云或尝试自动化技术。

*摘自 2018 年 6 月红帽客户数据和《财富》500 强名录

继续阅读

文章

容器与虚拟机

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

文章

什么是虚拟机(VM)?

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

文章

什么是 KVM?

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