作者:禅与计算机程序设计艺术
1.背景介绍
虚拟化(virtualization)是计算机术语,指通过抽象的方式模拟真实世界中的实体,将其分割成多个逻辑资源供用户使用。虚拟化的目标是实现资源共享、并行计算、高可用性等功能,提升资源利用率、节约资源开销、减少管理复杂度。当前,各大云服务商提供基于虚拟化的云服务,包括计算、存储、网络、数据库、安全、大数据分析等多种产品和服务。云计算的一个重要特征就是服务随需而生,客户只需要按需付费即可获得所需的服务。
云计算架构设计的关键要素之一便是解决如何有效地利用资源,让资源在合理配置下最大限度发挥价值。如何保证云计算资源的高度可用、可靠性及弹性是云计算平台架构设计中不可或缺的一环。VMware公司在其博客上撰文指出:“虚拟化已成为云计算的标配组件”,随着虚拟机、容器、存储、网络、计算、安全、网络等各个云服务的不断增长,云环境也面临越来越复杂的架构和运维问题。因此,本文将从云计算的底层虚拟化技术——硬件辅助虚拟化和软件辅助虚拟化角度,进行深入剖析。
2.核心概念与联系
2.1 硬件辅助虚拟化(HAV)
硬件辅助虚拟化技术是指通过扩展物理硬件的功能,在一个物理服务器上创建多个虚拟机,每个虚拟机都运行在一个完全隔离的环境里,且拥有独自的指令集、内存空间、磁盘、网络和其他设备。这就意味着虚拟机能够以宿主机的身份运行应用程序,并且对宿主机的系统资源(如CPU、内存、IO)都有完全的控制权。目前市场上的虚拟化软件都支持硬件辅助虚拟化,如Xen、VMWare ESXi、KVM等。
HAV 的优点如下:
虚拟化环境无需安装任何虚拟机镜像,能快速部署多套相同的应用