创立于 2008 年 · 数字版 · 2026年6月15日

SMB IT Journal

面向小型企业的信息技术资源

中文
架构

作为标准模式的虚拟化

作为一种企业级概念,虚拟化几乎与商业计算本身一样古老。将计算从裸硬件中抽象出来的价值很早就被认识到了,几乎在计算机一具备管理抽象过程的能力时,人们就开始着手实现与我们今天所熟知的虚拟化大体相同的技术。

普遍公认的最早的虚拟化工作始于 1964 年,由面向 IBM System/360 大型机的 IBM CP-40 操作系统的开发者们开创。这是真正涉足商业虚拟化的首次尝试,而这一早期虚拟化平台的代码与设计,如今已传承为 IBM VM 平台——数十年来,该平台自 1972 年起便作为 IBM 大型机家族的虚拟化层被持续使用。自 IBM 首次引入虚拟化以来,我们看到企业系统几乎普遍地采纳了这种硬件抽象模式。许多大规模计算系统、小型机和大型机在 20 世纪 70 年代转向了虚拟化,而其余绝大多数企业系统也在 20 世纪 80 年代和 90 年代,随着相应的能力与技术对它们成为可能,纷纷做出了这一转变。

在企业计算领域,对虚拟化唯一值得一提的“抵抗者”是 Intel IA32(亦即 x86)平台,它缺乏实现有效虚拟化所必需的高级硬件资源,直到扩展的 AMD64 64 位平台问世,而且即便如此也只有借助特定的新技术才能实现。一旦这一技术被引入,同样高性能、高安全性的虚拟化便在所有主流的商业计算平台上全面可用了。

由于低成本的 x86 平台在 21 世纪头十年中期之前一直缺乏有意义的虚拟化(除了通常性能低下的软件虚拟化和小众的高性能半虚拟化平台之外),这使得虚拟化对绝大多数中小企业而言几乎完全无从谈起。这导致许多专注于 SMB 领域的人没有意识到,虚拟化是一套确立已久、成熟的技术体系,它早已确立了自己作为商业服务器计算事实标准模式的地位。硬件抽象的使用在企业计算中几乎无处不在,许多规模最大、最稳定的平台都没有“裸机”运行系统的选项,至少没有官方支持的选项。

确实存在一些特定的小众领域,不建议通过虚拟化来进行硬件抽象,但这些情况极为罕见,在 SMB 市场尤其如此。通常需要不进行虚拟化的系统包括对延迟敏感的系统(例如低延迟交易平台),以及多服务器联合工作负载(例如 HPC 计算集群,其首要目标是性能高于稳定性和实用性)。这两者在 SMB 中都不常见。

虚拟化带来诸多优势。在虚拟化不那么被预期的 SMB 领域,人们往往认为虚拟化的目标是整合(由此可实现大规模的成本节约),或者是提供实现高可用性的新途径。这两者都是很好的选择,能够对特定的组织和情形有所帮助,但二者都不是虚拟化背后的根本理由。如有必要,我们可以通过其他方式实现整合和高可用。虚拟化只是在这些特定领域为我们提供了大量的选择。

虚拟化的许多用途都是其生态系统的衍生产物,例如可能降低许可成本。这类优势并非虚拟化的内在优势,但它们确实存在,在现实世界的评估中不容忽视。并非所有的好处都适用于所有的虚拟机监控程序(hypervisor)或虚拟化平台,但几乎所有好处都普遍适用。硬件抽象是一种概念,而非一种实现,因此如何加以利用会有所不同。从概念上讲,无论是在存储层、计算层还是其他层面抽象掉硬件,都非常重要,因为它能简化管理、提升可靠性并加快开发。

以下是虚拟化带来的一些好处。需要特别指出的是,除了整合与高可用等特定方面之外,几乎所有这些好处不仅适用于在单个硬件节点上进行虚拟化,也适用于该节点上的单个工作负载。

  1. 减少了与硬件更换、故障、修改、扩展等相关的人力投入和影响
  2. 存储封装,简化了备份/恢复流程,即便面对异构的硬件目标也是如此
  3. 对整个系统进行快照,以实现变更管理保护
  4. 在退役或停用时便于归档
  5. 更强的监控能力,即便在原生不提供带外管理的硬件平台上也能添加该功能
  6. 硬件无关性消除了厂商锁定,因为操作系统会认为虚拟机监控程序就是硬件,而非真正的硬件本身
  7. 轻松实现工作负载分隔
  8. 在保持工作负载分隔的同时轻松实现整合
  9. 大幅提升资源利用率
  10. 硬件抽象创造了一个切实可行的契机,可在提升系统性能和稳定性的同时,降低对客户机操作系统及其驱动程序编写者的要求
  11. 简化了新的、多样化工作负载的部署
  12. 从单一平台到多平台托管环境的平滑过渡,进而允许增加诸如云部署或高可用平台系统之类的选项
  13. 对工作负载进行重新部署,以便轻松实现物理层面的扩展

在当今的计算环境中,基于上述原因,服务器端工作负载应当普遍实现虚拟化。虚拟化的好处极为显著,而其弊端则寥寥无几且微不足道。仍然需要避免虚拟化的两种常见情形是:一是存在必须在服务器上直接使用的专用硬件(如今这种情况已非常罕见,但仍会不时出现);二是亚毫秒级延迟至关重要的极低延迟系统。后者仅在极为小众的商业场景中常见,例如低延迟投资交易系统。具有这类需求的系统,往往还会有惊人的网络和地理位置要求,例如低延迟的 Infiniband,以及到交易大厅光纤距离不足五英里的要求。

有些人会指出,高性能计算集群并不使用虚拟化,但这是一个灰色地带,因为任何形式的集群实际上都是虚拟化的一种形式。只不过这是一种“超级系统”层面的虚拟化,而非严格意义上的系统层面虚拟化。

可以稳妥地假定:在任何你可能遇到的、不应使用虚拟化的情形中,你都会毫无疑问地清楚知道这一点,并且能够凭经验证明为何虚拟化在物理上或实践上是不可能的。对于所有其他情况,请进行虚拟化。哪怕你只有一台物理服务器、一个物理工作负载和仅仅一个用户,也请进行虚拟化。哪怕你是拥有最严苛工作负载的财富 100 强企业,也请进行虚拟化。介于两者之间的任何人,也请进行虚拟化。规模并非虚拟化的决定因素;我们进行虚拟化,是出于对一个无论是现在还是未来都更高效、更稳定的计算环境的渴望。

 

标签abstraction interfaces pattern virtualization

广告

SMB IT Journal — the IT resource for small business