虚拟机使用虚拟化技术在物理机器上创建虚拟硬件,即计算机的虚拟版本。运行虚拟机的物理机器称为主机,在主机上运行的虚拟机称为客机。
每个客机虚拟机都在主机上的隔离分区上运行,与其他客机完全隔离。您可以在单个宿主机(通常是服务器)上托管多个虚拟机,并在称为 Hypervisor 的软件层上运行。
Hypervisor 将宿主机的物理资源(如 CPU、GPU、TPU、内存、存储或网络)抽象化为资源池,并按需进行预配与动态分配,旨在提供更高灵活性的同时,提升整体资源利用率。
通常而言,虚拟机分为两大类:进程虚拟机与系统虚拟机。
进程虚拟机(亦称为应用虚拟机或托管式运行时环境 [MRE])会在应用或单个进程运行期间创建虚拟的操作系统环境,并在进程退出后立即将其销毁。进程虚拟机支持构建独立于平台的运行环境,旨在确保应用或进程在各类平台上均能保持一致的运行表现。一个典型的实例是 App Engine 上的 Node.js 运行时:它支持 Node.js 程序在 Google Cloud 的托管式环境中运行,从而实现与底层操作系统的解耦。
系统虚拟机(有时称为硬件虚拟机)可模拟完整的操作系统,从而支持多个操作系统环境在同一物理机上并行运行。通常而言,这就是广义上的“虚拟机”。系统虚拟机可运行独立的操作系统与应用,并由 Hypervisor 负责监控宿主机的物理资源并在各虚拟机之间进行动态分配。
以 Google 为代表的部分云服务商还提供进阶功能,支持用户针对每个实例精确自定义虚拟处理器与内存的配额。这有助于针对各类工作负载实现更精准的“规模优化”,旨在避免资源闲置并降低相关的软件许可成本。例如,某些工作负载可能需要极高的核存比,而另一些场景的需求则可能完全相反。通过虚拟机的定制化能力,您可以在满足特定场景需求的同时,有效规避过度预配及资源浪费带来的额外支出。
虽然虚拟机与容器均用于实现应用隔离,但其底层实现机制存在本质区别。虚拟机可对包括操作系统在内的整个物理硬件堆栈进行虚拟化。这赋予了每个虚拟机独立完备的隔离环境,但也意味着其镜像体积通常较大,且资源开销更高。
相比之下,容器更显轻量,因为其仅针对操作系统层进行虚拟化。容器无需为每个应用捆绑完整的操作系统,而是通过共享主机的操作系统内核来运行。这有助于容器在保持隔离性的同时,以更低的资源消耗实现更快速的启动。这一优势使容器成为现代应用开发的理想架构选择。鉴于过去十年间的大量应用均针对容器构建,包括电子商务、后台办公及 AI 在内的诸多工作负载已实现“容器原生化”。
虚拟机是虚拟化计算资源的基础组成要素,在构建任何应用、工具或环境(无论是在云端还是本地)时均发挥着关键作用。
以下是企业利用虚拟机的一些典型应用场景:
将多台物理机重新配置为虚拟机,并使其与其他虚拟机在主机上并行运行,可协助组织有效遏制资源扩张。历经长期实践验证,虚拟机已被证明具备承载极高负载及性能敏感型应用的能力。
中央 IT 部门可以为各业务部门与职能领域统一预配并管理虚拟机,在加速资源交付的同时,提升企业的治理透明度。
虚拟机可以用作测试和开发的孤立环境,包含完整的功能,但不会影响周围的基础架构。
虚拟机支持便捷的启停、迁移与适配,旨在为开发和部署环境赋予高度的灵活性。
虚拟机提供的灵活性和可移植性是提高迁移计划速度的关键。
使用虚拟机在云环境中复制系统可提供额外的安全性和确定性。此外,您还可以持续更新这些云环境。
虚拟机为创建与本地环境并行的云环境奠定了基础,提供了出色的灵活性,而且不需要放弃旧版系统。
虚拟机可提供诸项优势(尤其在选择云端虚拟机时),具体包括:
可伸缩性
基于云的虚拟机可简化应用扩缩流程,旨在提升可用性并优化性能。您可以根据需求灵活扩展容量,而无需承担自建物理服务器的资本支出。
可移植性
虚拟机是一种集硬件资源、操作系统及其所有应用于一体的软件程序包。您可以便捷地在服务器之间迁移虚拟机,甚至能将其从本地硬件环境迁移至云端。
减少占用空间和费用
借助虚拟机,您可以在一台机器上运行多个虚拟环境,从而减少物理基础设施占用空间、电费以及维护和管理费用。
更快速的资源预配
虚拟机支持便捷复制,可协助企业无需从零开始配置,即可快速部署完全一致的新环境。
可靠性
虚拟机及其组件以虚拟方式存在,并与其他客机虚拟机保持隔离状态。如果虚拟机崩溃,其他客机虚拟机将保持运行状态,物理宿主机不会受到影响。
更好的安全性
借助虚拟机,您可以在运行多个操作系统的同时,确保主机操作系统不受干扰。借助虚拟机,您可以创建安全的虚拟环境来测试应用,甚至研究安全漏洞,而且不会给宿主机带来高风险。
然而,在运行虚拟机时,仍需考虑以下关键因素。虚拟机的最大潜在挑战之一是,如果宿主机不够可靠,运行多个操作系统和 Hypervisor 层可能会导致性能下降。此外,虚拟硬件的效能表现可能在某些场景下不及物理机的硬件。最后,大多数云服务提供商提供的虚拟机 CPU 和内存配置往往是固定的,这可能导致资源利用率欠佳。
然而,通过选择合适的云服务商提供的虚拟机,可以在很大程度上缓解或解决这些疑虑。相较于传统虚拟机,云虚拟机展现出显著优势,其能够协助组织获取整个数据中心级别的算力支持,而非受限于单台物理机器。此外,Google Compute Engine 还提供自定义机器类型,赋予您更灵活的规格选择权。借助自定义配置,您可以针对特定工作负载精准调整 CPU 与内存比例,无需再受限于可能存在冗余容量的预定义机器类型,从而实现“按实际使用资源付费”的成本优化。这一精准策略不仅能最大限度地减少资源浪费,还能显著降低云端成本,对于从本地或其他云服务提供商迁移至 Google Cloud 的场景尤为适用。Compute Engine 还提供针对特定需求优化的虚拟机类型,旨在赋能企业级工作负载、高内存配置,以及机器学习或高性能计算等高要求业务场景。
Google Cloud 还提供安全强化型虚拟机,旨在增强虚拟机实例的安全性并协助验证其完整性。Google Cloud 安全强化型虚拟机利用先进的平台安全功能和控制措施,保护企业工作负载免受远程攻击、权限提升和恶意内部人员等威胁的侵扰。
解决方案
解决方案