介绍
简要介绍
KVM实际是Linux内核提供的
KVM包含一个内核模块kvm.ko用来实现核心虚拟化功能,以及一个和处理器强相关的模块如kvm-amd.ko。KVM本身不实现任何模拟,仅仅是暴露了一个/dev/kvm接口,这个接口可被宿主机用来主要负责vCPU的创建,虚拟内存的地址空间分配,vCPU寄存器的读写以及vCPU的运行。有了KVM以后,Guest OS的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。
KVM实现了CPU和内存的虚拟化,但KVM并不能模拟其他设备,还必须有个运行在用户空间的工具才行。KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,
在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl调用/dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但KVM不能虚拟其他硬件设备,因此QEMU还有模拟IO设备(磁盘、网卡、显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化。
建议的版本
软件 |
建议版本 |
---|---|
QEMU(CentOS) |
qemu-2.12.0及以上版本 |
libvirt(CentOS) |
libvirt-4.5.0及以上版本 |
QEMU(openEuler 20.03 LTS SP1) |
qemu-4.1.0及以上版本 |
libvirt(openEuler 20.03 LTS SP1) |
libvirt-6.2.0及以上版本 |
父主题: KVM虚拟机 安装指南