虚拟化的模型

1 虚拟化介绍_第1张图片

为什么要使用虚拟化?

1)使硬件资源利用率最大化

2)云计算领域


虚拟化分类

1)软件级别,所有硬件通过模拟器模拟出来,如qemu

2)硬件级别,通过VMM(Virtual Machine Monitor,虚拟机监视器)管理和分配硬件资源,操作系统运行在vm上,如xen,vmware,kvm,virtualbox

3)操作系统级别,虚拟机操作系统和宿主机操作系统共享,可以模拟上千台虚拟机,如openvz


半虚拟化(para-virtualization)

    在半虚拟化中,宿主机和客户机都需要更改操作系统内核,客户机知道宿主机的存在,两者协同合作;

    xen支持半虚拟化


全虚拟化(full virtualization)

    全虚拟化为客户机提供了完整的虚拟硬件资源,客户机和宿主机内核不需更改,客户机不知道宿主机的存在

    kvm,vmware



xen和lvm比较

1)xen无论cpu是否支持虚拟化,都可以安装;kvm需要cpu支持虚拟化技术

2)xen支持半虚拟化和全虚拟化,kvm支持半虚拟化

3)xen会替换原有的内核接管系统,较为“流氓”;kvm是linux内核的一个模块,不替代内核

4)xen被Ctrix收购,kvm被redhat收购

5)xen hypervisor相当于VMM,直接运行于硬件之上

1 虚拟化介绍_第2张图片1 虚拟化介绍_第3张图片



KVM:kernel virtual machine是针对包含虚拟化扩展(Intel-VT或AMD-V)的x86硬件上,完全原生的虚拟化解决方案。

KVM是以色列QUmranet开发,基于linux内核,2008年被radhat收购


rhel5/centos5默认支持xen;rhel6/centos6默认支持kvm


KVM架构

1)KVM驱动:linux内核的一个模块,主要负责创建虚拟机,分配虚拟内存,VCPU寄存器的读写

2)Qemu:用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径

3)libvirt,virsh:由于Qemu的效率不高,redhat为KVM开发了辅助工具,如libvirt,libguestfs;libvirt是一种提供多种语言接口的API,支持xen;virsh是一套基于文本的管理命令

4)vir-manager是一套python编写的虚拟机管理图形界面




来自为知笔记(Wiz)