目录
1、kvm架构
2、架构解析
3、kvm和qemu的作用
1、kvm架构
2、架构解析
- 从rhel6开始使用,红帽公司直接把KVM的模块做成了内核的一部分。
- xen用在rhel6之前的企业版中默认内核不支持,需要重新安装带xen功能的内核
- KVM 针对运行在x86 硬件上的、驻留在内核中的虚拟化基础结构。KVM 是第一个成为原生 Linux 内核 (2.6.20)的一部分的 hypervisor,它是由 Avi Kivity 开发和维护的,现在归 Red Hat 所有。这个hypervisor 提供 x86 虚拟化,同时拥有到 PowerPC@ 和A64的通道。另外,KM 最近还添加了对对称多处理(SMP)主机(和来宾)的支持,并且支持企业级特性,比如活动迁移(允许来宾操作系统在物理服务器之间迁移)。
- KVM 是作为内核模块实现的,因此 Linux 只要加载该模块就会成为一个hypervisor。KVM为支持 hypervisor 指令的硬件平台提供完整的虚拟化(比如 ntel@ Virtualization Technology [lntel VT] 或AMD Virtualization[AMD-V] 产品)。KVM 还支持准虚拟化来宾操作系统,包括 Linux和 Windows。
- 这种技术由两个组件实现。第一个是可加载的 KVM 模块,当在 Linux 内核安装该模块之后,它就可以管理虚拟化硬件,并通过/proc 文件系统公开其功能。第二个组件用于 PC 平台模拟,它是由修改版 QEMU 提供的。QEMU作为用户空间进程执行,并且在来宾操作系统请求方面与内核协调。
- 当新的操作系统在 KVM 上启动时(通过一个称为 KVM 的实用程序),它就成为宿主操作系统的一个进程,因此就可以像其他进程一样调度它。但与传统的 Linux 进程不一样,来宾操作系统被 hypervisor 标识为处于“来宾”模式(独立于内核和用户模式)。
- 每个来宾操作系统都是通过 /dev/KVM 设备映射的,它们拥有自己的虚拟地址空间,该空间映射到主机内核的物理地址空间。如前所述,KVM 使用底层硬件的虚拟化支持来提供完整的(原生)虚拟化。I/0 请求通过主机内核映射到在主机上 (hypervisor) 执行的 QEMU进程
- KVM 在 Linux 环境中以主机的方式运行,不过只要底层硬件虚拟化支持,它就能够支持大量的来宾操作系统.
3、kvm和qemu的作用
- 在所谓的kvm技术中,应用到的其实有2个东西: qemu+kvm
- kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
- qemu是模拟IO设备(网卡,磁 ,kvm加上qemu之后就能实现真正意义上服务器虚拟化。
- 因为用到了上面两个东西,所以一般都称之为gemu-kvm。
- libvirt则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便.