虚拟化技术简介
本文介绍虚拟化技术简介。
1. 什么是虚拟化
虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算(CPU+内存)、网络、存储等。[1]
2. 虚拟化的实现方式
虚拟化有基于硬件的实现和软件的实现。
3. Hypervisor
虚拟化管理程序 Hypervisor(VMM),位于虚拟机与底层硬件设备之间的虚拟层,直接运行于硬件设备之上,负责对硬件资源进行抽象,为上层虚拟机提供运行环境所需资源,并使每个虚拟机都能够互不干扰、相互独立地运行于同一个系统中。
虚拟化主要分为几大类:
- 计算虚拟化:针对 CPU 和内存资源虚拟化技术
- 网络虚拟化:针对网络链路资源虚拟化技术
- IO 虚拟化:针对 IO 资源虚拟化技术
- 存储虚拟化:针对磁盘存储资源虚拟化技术
容器(Containerization)也叫,所有的虚拟机使用同一个操作系统内核,省去了客户机操作系统的开销,这其中最有代表性的就是 Docker,每台物理主机可运行上千个 Docker 容器。相比完整的虚拟机大大提高效率。[2]
4. KVM
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 x86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度。虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
深入理解虚拟化,知乎,https://zhuanlan.zhihu.com/p/441287815 ↩︎
Docker、K8s、KVM、Hypervisor 和微服务有什么区别联系吗,知乎,https://www.zhihu.com/question/307537564 ↩︎