虚拟化基础理论

关于Xen

  • Xen
    • XenServer(开源,但是有Citrix的商业支持)
    • XCP(Xen Cloud Platform,开源版本,等同于XenServer)
    • XenApI(管理XenServer和XCP的API程序)
    • XAPI(XenServer和XCP的主守护进程,与XenAPI直接通信)
    • libvirt-based Xen(Libvirt驱动的Xen虚拟化技术)

Xen属于类型一的虚拟化技术,并存在特殊域domain0,其他域成为DomainU(Unprivileged Domain)。
Xen的Domain0是一个特殊的虚拟机,并要求一个支持Xen虚拟化管理程序的内核。半虚拟化的虚拟机(DomainU)要求一个支持半虚拟化的内核。

关于QEMU

QEMU即是虚拟化技术,也表示它本身是一个虚拟化软件,可虚拟处硬件。
QEMU单独运行时,可同时模拟CPU和硬件,性能极差。
在KVM架构中,KVM管理CPU和内存的访问调用,QEMU作为虚拟软件用来仿真硬件资源(如硬盘,网卡,声卡)。

关于 Libvirt

Libvirt是一个函数库。主要包括

  • Libvirt API实现Linux虚拟化功能
  • Libvirtd进程
  • Virsh工具集

虚拟化技术

  • 虚拟化技术
    • 全虚拟化FV(需要硬件辅助HVM,因需仿真硬件,性能有损耗)
    • 半虚拟化PV(因无需仿真硬件,性能比FV好)

在某些情况下,可以使用半虚拟化驱动加速全虚拟化虚拟机的IO性能。

  • 虚拟化类型(虚拟化管理程序VMM与硬件的位置划分)
    • 类型一 裸金属虚拟化(Baremetal Hypervisor)
      • Oracle VM Server for SPARC
      • Oracle VM Server for x86
      • Citrix XenServer
      • Microsoft Hyper-V
      • VMware ESX/ESXi
      • 特殊的类型一虚拟化技术(该种虚拟化技术能将操作系统转化成类型一的虚拟化管理程序)
        • KVM(Linux Kernel-Based Virtual Machine)基于x86硬件虚拟化扩展(Intel VT/AMD-V)的全虚拟化
          • kvm.ko
          • kvm-intel.ko、kvm-amd.ko
        • BHyVe(FreeBSD)
    • 类型二 可托管的虚拟化(Hosted Hypervisor)
      • VMware Workstation
      • VMware Player
      • Virtualbox
      • QEMU