虚拟化技术的分类:
(1) 模拟:Emulation:
Qemu,PearPC,Bochs
(2) 完全虚拟化:Full Virtualization,Native Virtualization
HVM
VMware Workstation,VirtualBox,VMWare Server,Parallels Desktop,KVM,XEN
(3) 半虚拟化:ParaVirtualization
GuestOS:知晓自己是运行Virtualization
Hypercall
(4) OS级别虚拟化:
将用户控件分割为多个,彼此间互相隔离;
容器级虚拟化
OpenVZ,LXC(LinuX Container),libcontainer,Virtuozzo,Linux V Servers
(5) 库级别虚拟化
WINE
Type-I,Type-II
IaaS:Infrastructure,基础架构服务
PaaS:Platfrom,平台即服务
Xen:
剑桥大学,开源VMM
Xen组成部分:
(1) Xen Hypervisor
分配CPU、Memory、Interrupt
(2) Dom0
特权域,I/O分配
网络设备
net-front(GuestOS),net-backend
块设备
block-front(GuestOS),block-backend
Linux Kernel:
2.6.37:开始支持运行Dom0
3.0:对关键特性进行了优化
提供管理DomU工具栈
用于实现对虚拟机进行添加、启动、快照、停止、删除等操作;
(3) DomU
非特权域,根据其虚拟化方式实现,有多种类型
PV:半虚拟化
HVM:硬件辅助虚拟化
Xen的PV技术:
不依赖于CPU的HVM特性,但要求GuestOS的内核做出修改以知晓自己运行于PV环境;
运行于DomU中的OS:Linux(2.6.24+),NetBSD,FreeBSD,OpenSolaris
Xen的HVM技术:
依赖于Inter VT或AMD AMD-V,还要依赖于Qemu来模拟IO设备;
运行于DomU中的OS:几乎所有支持此X86平台的;
PV on HVM:
CPU为HVM模式运行
IO设备为PV模式运行
运行于DomU中的OS:只要OS能驱动PV接口类型的IO设备;
net-front,blk-front
Xen的工具栈:
xm/xend:在Xen Hypervisor的Dom0中药启动xend服务
xm:命令行管理工具,有诸多子命令;
create,destroy,stop,pause...
xl:基于libxenlight提供的轻量级的命令行工具栈;
xe/xapi:提供了对xen管理的api,因此多用于cloud环境,Xen Server,XCP
virsh/libvirt:
XenStore:
为各Domain提供的共享信息存储空间,有着层级结构的名称空间,位于Dom0
Para Virt
Xen Para-virtualization Architecture
xen工具:
xm vs xl:
libvirtd管理工具:
xen工具栈:
原文地址:http://blog.51cto.com/smoke520/2316108