2019-02-17 KVM概述

1. KVM是什么

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

2. KVM的历史

  • 以色列的创业公司Qumrane创建了KVM
    早期的主要开发者Avi Kivity
    2006年10月,在完成基本功能、动态迁移、主要的性能优化后,正式宣布了KVM的诞生
    2007年2月发布的内核2.6.20中,开始正式包括了KVM
  • 2008年9月,Redhat 1.7亿美金收购
    RHEL 5.4,在集成Xen的基础上,又将KVM添加进来
    2011年11月,RHEL6使用KVM彻底替换了Xen
  • QEMU
    QEMU是一个通用的开源的硬件模拟器,可以模拟多种硬件
    QEMU-KVM从分支到主干合并,QEMU成立KVM在用户空间的管理工具

3. KVM体系结构

  • KVM
    初始化CPU硬件,打开虚拟化模式,以支持虚拟机的运行
    负责CPU、内存、中断控制器、时钟
  • QEMU
    模拟网卡、显卡、存储控制器和硬盘
  • libvirt
    它提供统一API、守护进程libvirtd和一个默认命令行管理工具virsh
image.png

Qemu与KVM

Qemu通过ioctl调用/dev/kvm接口,将有关CPU指令的部分交由KVM来做
Qemu还是模拟网卡、显卡、存储控制器和硬盘等,会影响这些设备的性能
通过pass throuth半虚拟化设备virtio_blk,virtio_net,提高设备性能

image.png

libvirt与KVM

image.png

KVM集中管理与控制

http://www.linux-kvm.org/page/Management_Tools
示例:

  • Ovirt
    功能强大,是Redhat虚拟化管理平台RHEV的开源版本
    http://www.ovirt.org/
  • WebVirtMgr
    https://www.webvirtmgr.net
    virt-manager的Web模式的替代品
  • ConVirt
    http://www.convirture.com/
    分开源版本和商业版本
image.png

Hypervisor与VMM的选择

  • 电信/IPS公共云
    单一hypervisor
    KVM
  • 互联网公司
    单一hypervisor
    KVM
  • Web托管和SAS细分市场
    单一或多个hypervisor
    容器(LXC,Parallels,Docker)
    KVM
  • 企业
    多种Hypervisor
    KVM和vCenter/ESXi

国产虚拟化解决方案概述

  • Stop Trying to Reinvent the Wheel,不要重复造轮子
  • 国产虚拟化解决方案重点在虚拟化的管理桌面协议
  • Hypervisor/VMM选择:
    H3:KVM
    红山:Xen
    华为:Xen→KVM→Xen
    浪潮:Xen
    普华:KVM
    锐捷:KVM
    深信服:KVM
    ...其他KVM居多

你可能感兴趣的:(2019-02-17 KVM概述)