1. KVM虚拟机技术原理
kvm全称Kernel-based Virtual Machine,是一个基于Linux环境的开源虚拟化解决方案。与xen、VMware等提供完整解决方案的商业化虚拟产品不同,KVM的思想是在Linux内核的基础上添加虚拟机管理模块,重用Linux内核中已经完善的进程调度、内存管理、IO管理等部分,使之成为支持运行虚拟机的Hypervisor。因此,KVM不是一个完整的模拟器,而只是一个提供 了虚拟化功能的内核插件,具体的模拟器工作是借助QEMU来完成的,KVM的架构如下:
进程 |
OS |
进程 |
OS |
VM |
VM |
||
Linux Kernel(Hypervisor) |
2. 开源KVM管理工具
2.1 背景
本文选取了现阶段使用比较广泛或社区比较活跃的几款开源KVM管理工具进行分析,目的是为了下阶段“虚拟化控制台”产品的研发做准备。该产品主要解决目前cloudstack对于主机侧的管理不够完善的问题,比如,不能对主机进行电源管理、不能方便的查看主机的存储、网络资源、不能动态、直观的查看主机及运行在主机上虚拟机的资源统计数据等。
“虚拟化控制台”产品的定位是对单主机进行管理,暂不考虑多主机的情况。最终以Web UI的方式呈现给用户,需保证界面的易用性和响应的实时性,而且最好达到安装简单和轻负载以保证主机性能。