1、KVM架构
1. KVM简介
KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术。
在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式)。
2. KVM与QEMU
KVM仅仅是 Linux 内核的一个模块。管理和创建完整的 KVM 虚拟机,需要更多的辅助工具。
在 Linux 系统中,可以使用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装 KVM软件包,系统会在启动时自动加载模块。加载了模块后,才能进一步通过其它工具创建虚拟机。
但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块进行操作,因而必须有一个用户空间的工具。关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU。
QEMU 是一个强大的虚拟化软件,它可以虚拟不同的CPU构架。比如说在x86的CPU上虚拟一个Power的CPU,并利用它编译出可运行在Power上的程序。KVM 使用了 QEMU 的基于x86的部分,并稍加改造,形成可控制KVM内核模块的用户空间工具QEMU-KVM。所以Linux发行版中分为kernel部分的KVM内核模块和QEMU-KVM工具。这就是 KVM 和 QEMU 的关系。
3. KVM虚拟机管理工具
虽然QEMU-KV