(1)虚拟化的概念

  所谓虚拟化就是在物理设备上同时运行多台虚拟机,这些虚拟机共享物理设备的CPU,内存和网络,但是这些虚拟机之间是相互隔离的。

 物理机被称为host(宿主机),虚拟机被称为guest。

(2)虚拟化分类

  虚拟机的调度管理依赖于hypervisor软件,根据hypervisor所处的位置,可以分为2大类:

 1、直接在硬件上安装hypervisor,该软件通常是一个订制化的linux系统。比较常用的有Xen,VmWare iSxxx。

 2、在常规操作系统上安装hypervisor软件,再在其上创建虚拟机,比较常用的有KVM,VirtualBox,VmWare workstation。

(3)KVM

 KVM全程为Kernel-Based Virtual Machine ,也就是KVM是基于linux内核实现的,

 (4)libvirt

 谈到KVM,不得不提及libvirt,它是KVM的管理工具。libvirt不仅能够管理KVM,还能够管理Xen,VirtualBox。openstack底层也是使用libvirt。它包含3个东西:

  第一部分就是daemon程序libvirtd,用来出来hypervisor发来的请求。

 第二部分就是api库,开发人员可以基于libvirt开发高级工具,例如,例如图形化界面virt-manager。

 第三部是virsh 就是KVM的命令行工具。