更新时间:2022-05-12 GMT+08:00
分享

介绍

简要介绍

KVM实际是Linux内核提供的虚拟化架构,可将内核直接充当Hypervisor来使用。

KVM包含一个内核模块kvm.ko用来实现核心虚拟化功能,以及一个和处理器强相关的模块如kvm-amd.ko。KVM本身不实现任何模拟,仅仅是暴露了一个/dev/kvm接口,这个接口可被宿主机用来主要负责vCPU的创建,虚拟内存的地址空间分配,vCPU寄存器的读写以及vCPU的运行。有了KVM以后,Guest OS的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。

KVM实现了CPU和内存的虚拟化,但KVM并不能模拟其他设备,还必须有个运行在用户空间的工具才行。KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,QEMU模拟IO设备(网卡,磁盘等),对其进行了修改,最后形成了QEMU-KVM。

在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl调用/dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但KVM不能虚拟其他硬件设备,因此QEMU还有模拟IO设备(磁盘、网卡、显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化。

建议的版本

表1 建议的版本

软件

建议版本

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及以上版本

分享:

    相关文档

    相关产品

close