计算机虚拟化发展史
计算机虚拟化中的重要概念
计算虚拟化的分类
虚拟化的特点
CPU虚拟化
CPU虚拟化拓展
内存虚拟化
I/O虚拟化
- 模拟(完全虚拟):完全使用软件来模拟真实硬件,模拟通常硬件,例如键盘鼠标,通过焦点捕获,焦点被哪个主机捕获就被哪个主机使用,性能很差。
- 半虚拟化:对硬件驱动由前端(IO frontend)直接转到后端(IO backend)调用,通常仅适用于硬盘和网卡,性能高。
- IO-through:IO透传,直接分配给虚拟机物理设备,例如直接分配一个硬盘或网卡给虚拟机,需要硬件具备IO透传技术,在Xen下由Dom0分配,但是访问使用直接使用,不经过Dom0,需要硬件支持。
云计算和虚拟化
主流计算虚拟化技术
Xen vs KVM
KVM是什么
基于Linux内核
分为Guest,User,Kernel三种空间
KVM体系架构
分为三个模块:管理工具,KVM模块(CPU虚拟化+内存虚拟化),QEMU(做其他I/O设备:网卡,硬盘……的模拟,I/O虚拟化)
核心组件:Linux Kernel(KVM module) + QEMU-KVM
Linux Kernel KVM内核模块,是KVM虚拟机的核心部分。主要功能是初始化虚拟化硬件,打开虚拟化模式,将Guest Machine运行在该模式下,并对虚拟客户机的运行提供一定的支持。
QEMU-KVM:和硬件打交道,模拟I/O的设备
Libvirt
Libvirt:是一个开源的项目,非常强大的管理工具。本身可以对KVM进行管理,并且向上提供各种语言的接口。
KVM I/O 操作流程
默认
Virtio
请求跳过了KVM模块,性能得到显著提高。
FusionCompute架构
FusionCompute的优势
虚拟化和物理资源进行统一管理
快速发放虚拟机(模版)