KVM虚拟化详解

目录

  1. KVM虚拟化架构

1.1主流虚拟化架构

1.2 KVM虚拟化架构

2 CPU虚拟化

2.1 pCPU与vCPU

2.2 虚拟化类型对比

2.3 KVM CPU虚拟化

3 内存虚拟化

3.1 EPT与VPID

3.2 透明大页THB

3.3 内存超分Over-commit

4 IO设备虚拟化

4.1 IO设备虚拟化概述

4.2 设备模拟与virtio驱动

4.3 设备直通与设备共享

4.4 其他IO设备特性

服务器虚拟化是云计算最核心的技术,而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起,KVM作为内核的一个模块 集成到Linux主要发行版本中。从技术架构(代码量、功能特性、调度管理、性能等)、社区活跃度,以及应用广泛度来看,KVM显现出明显优势,已逐渐替换另一开源虚拟化技术Xen。在公有云领域,2017年之后AWS、阿里云、华为云等厂商都逐渐从Xen转向KVM,而Google、腾讯云、百度云等也使用KVM。在私有云领域,目前VMware ESXi是领导者,微软Hyper-V不少应用,随着公有云厂商不断推进专有云/私有云方案,未来KVM应用也会逐渐增加。KVM目前已支持x86、PowerPC、S/390、ARM等平台。本文参考《KVM实战:原理、进阶与性能调优》等材料,简要梳理总结KVM在x86平台的关键技术原理。