KVM的功能架构有哪些?

2024年6月16日21:04:31KVM的功能架构有哪些?已关闭评论

KVM 的整体架构如图 Q30-1所示,主要包括 QEMU(Quick Emulator,虚拟操作系统模拟器)和KVM两个组件。

QEMU 是一个通用的开源机器模拟器和虚拟器,每个 Qemu-kvm 进程代表一个虚拟机,针对每个 vCPU 创建一个线程。Qemu-kvm 主要完成虚拟机初始环境准备,模拟虚拟机的用户空间组件,提供I/O设备模拟、访问外设的途径。

KVM的功能架构有哪些?

图Q30-1 KVM的整体架构

KVM 内核模块是嵌入在 Linux 操作系统标准内核中的一个虚拟化模块,分为两个部分,Kvm.ko 和 Kvm-intel.ko(或 Kvm-amd.ko)。KVM 为公用框架部分,Kvm-intel 为体系结构相关部分。KVM 提供/dev/kvm 接口,供用户态的QEMU 访问,实现虚拟机创建、vCPU 管理等接口。KVM 内核模块主要完成CPU root和Non-root运行模式的切换、内存映射管理、关键指令模拟等操作。

Virtio 提供了通用的虚拟化接口,相对于完全模拟硬件,Virtio 的接口更加简单,因此性能相对通用硬件来说也好一些。Virtio 提供了 Virtio_net、Virtio_blk,实现网卡和磁盘的模拟。

KVM 所支持的功能包括:

(1)支持CPU和Memory超分(Overcommit);

(2)支持半虚拟化I/O(Virtio);

(3)支持热插拔(CPU、块设备、网络设备等);

(4)支持对称多处理(Symmetric Multi-Processing,SMP);

(5)支持实时迁移(Live Migration);

(6)支持PCI设备直接分配和单根I/O 虚拟化(Single Root I/O Virtualization,SR-IOV);

(7)支持内核同页合并(Kernel Samepage Merging,KSM);

(8)支持非一致存储访问结构(Non-Uniform Memory Access,NUMA)。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。