KVM 介绍

发布时间: 更新时间: 总字数:564 阅读时间:2m 作者: 分享 复制网址

KVM(Kernel-based Virtual Machine,内核虚拟机) 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件是一个开源的系统虚拟化模块。KVM 是基于 Linux 内核实现的,自 Linux 2.6.20 开始集成在 Linux 的各个主要发行版本中。OpenStackKVM 支持得也最好。

发展史

  • 2006 年有 Qumranet 公司发布,同年 10 月正式纳入 Linux Kernel
  • 2008 年 9 月 QumranetRedhat 收购
  • 2010 年 11 月 Redhat 6.0 的改造版本中,KVM 替代原来的 Xen

组成

kvm architecture

  • KVM内核空间模块叫 kvm.ko,作为一个 Hypervisor,只用于管理虚拟 CPU内存。对应的设备文件:/dev/kvm
  • QEMU(quick emulator) 运行在用户空间,是一个纯软件的虚拟机实现(在没有 KVM模块 的情况下可以独立运行,但性能比较低),包括CPU虚拟化内存虚拟化以及I/O设备虚拟化(存储和网络)
    • QEMU系统模拟器,包括提供 Guest OS 虚拟化平台,提供整个系统的仿真(PCI host controller, disk, network, video hardware, USB controller等)。
  • 每个虚拟机都是 Linux 的一个常规进程,由 Linux 调度程序进行调度

架构

从上到下一般包括如下部分:

kvm libvirt arch
  • 云资源管理:如 OpenStack
  • 主机管理工具:libvirt,可以管理的 Hypervisor 包括:KVM、Xen、VirtualBox。libvirt 有 3 部分组成:
    • API 库
    • virsh:KVM 命令行工具,实现虚拟机的创建、删除等管理操作
    • libvirtd:服务程序,接收和处理 API 请求
  • 虚拟化仿真:QEMU
  • 硬件资源访问管理:KVM

参考

  1. https://vmsplice.net/~stefan/qemu-kvm-architecture-2015.pdf
  2. Linux NUMA 介绍
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数