关于kvm轻度使用的一些总结
-
关于kvm和qemu和virt-tools、libvirt
-
如何安装虚拟机和简单使用
-
trouble-shooting
1. 关于kvm、qemu、virt-tools、libvirt
什么是 KVM ?
kVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。 2006 年 10 月,由以色列的Qumranet 组织开发的一种新的“虚拟机”实现方案。 2007 年 2 月发布的 Linux 2.6.20 内核第一次包含了 KVM 。增加 KVM 到 Linux 内核是 Linux 发展的一个重要里程碑,这也是第一个整合到 Linux 主线内核的虚拟化技术。
KVM 在标准的 Linux 内核中增加了虚拟技术,从而我们可以通过优化的内核来使用虚拟技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。
什么是libvirt?
Libvirt是库,是一种实现 Linux 虚拟化功能的 Linux? API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。
他提供一个命令和一个稳定的层来管理node上的域,甚至乎远程管理。
libvirt提供所有API来做管理,例如提供,创建,修改,监控,控制,迁移,和停止域。
他的构成是这样的:
- a node is a single physical machine
- an hypervisor is a layer of software allowing to virtualize a node in a set of virtual machines with possibly different configurations than the node itself
- a domain is an instance of an operating system (or subsystem in the case of container virtualization) running on a virtualized machine provided by the hypervisor
libvirt把物理机叫节点node,将虚拟客户机比作域domain,还有一个hypervisor的软件负责虚拟化的(负责通讯和处理api请求等)
其实他的架构师这样的:
从另外一个层面来看是这样的
引用参考:
- http://www.ibm.com/developerworks/cn/linux/l-libvirt/
- http://en.wikipedia.org/wiki/Libvirt
- http://libvirt.org/goals.html
什么是qemu
表格一解释了qemu就是面向各种架构的平台仿真器.
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
进一步理解的话,kvm只能虚拟x86平台的虚拟机,而qemu就可以虚拟arm,mips平台的虚拟机,这就是他们最大的区别。
引用参考:
什么是virt-tools
virt-tools是管理libvirt的工具,例如virt-install virsh等工具
引用参考: