一、KVM虚拟化架构
KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起,KVM作为内核的一个模块集成到Linux主要发行版本中,增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术,KVM目前已支持x86、PowerPC、S/390、ARM等平台。
KVM的三种模式:
- 客户模式(Guest Mode)运行GuestOS,执行Guest非IO操作指令。
- 用户模式(User Mode)运行QEMU,实现IO模拟与管理。
- 内核模式(Kernel Mode)运行KVM内核,实现模式的切换(VM Exit/VM Entry),执行特权与敏感指令。
在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式)。
1、KVM与QEMU
KVM虚拟化有两个核心模块:KVM内核模块和QEMU设备模拟。