KVM介绍
kvm包含一个为处理器提供底层虚拟化、可加载的核心模块kvm.ko(kvm-intel.ko或kvm-amd.ko),使用QEMU(QEMU-KVM)作为虚拟机上层控制工具。
KVM架构
KVM就是内核的一个模块,用户空间通过QEMU模拟硬件提供给虚拟机使用,一台虚拟机就是一个普通的linux进程。
QEMU
QEMU是一个开源项目,实际就是一台硬件模拟器,可以模拟许多硬件,各种架构的CPU、网卡、显卡、声卡、等,还可以存储还原虚拟机的运行状态。还内建了DHCP、DNS、SMB、TFTP服务器。
QEMU就是一个纯软件模拟,可以在所支持的平台模拟支持的设备。
Libvirt
Libvirt是一套开源的虚拟化的管理工具,主要由三部分组成:
一套API的lib库
Libvirt服务
命令行工具virsh
Libvirt设计的目标就是通过相同的方式管理不同的虚拟化引擎,如KVM、Xen、HyperV、VMware ESX等。
Libvirt可以实现对虚拟机的管理。如虚拟机的创建、启动、关闭、暂停、恢复、迁移、销毁,以及虚拟机网卡、硬盘、cpu、内存等多种设备的热添加。
Libvirt还支持远程的宿主机管理。
Libvirt将虚拟机的管理分为以下两个方面:
存储池资源管理
支持本地文件系统目录、裸设备、lvm、nfs、iscsi等方式。在虚拟机磁盘格式上支qcow2、vmdk、raw等格式。
网络资源管理
支持linux桥、VLAN、多网卡绑定管理,新版本还支持Open vSwitch。
Libvirt还支持nat和路由方式的网络,Libvirt可以通过防火墙让虚拟机通过宿主机建立网络通道,和外部网络进行通信。
KVM的优势
开源、免费
性能好
技术支持成熟
总结
虚拟化技术的优势和特征:
成本低
快速部署、高可用和在线迁移
硬件级别标准化
资源调配管理快速方便