Xen(第50天)

 Xen

Xen属于type-I虚拟化类别,Xen hypervisor直接运行于硬件平台上,运行于Xen hypervisor之上的操作系统都属于guest . 但是Xen仅仅虚拟化了CPU和内存,IO设备并没有虚拟化,Xen hypervisor上第一个guest有管理其他guest的权限和操作接口,第一个guest的内核管理硬件上的IO设备,支持网络设备和块设备,对于这些IO设备的访问支持半虚拟化,设备被抽象成net-frond,net-backend, block-frond, block-backend,其中前端存在于各guest中。

第二个,第三个等等的guest需要使用CPU和内存时向Xen hypervsior申请,需要使用IO设备时向第一个guest申请,该guest必须借助于qemu模拟出IO设备

第一个guest被称为Domain0(Privilleged Domain ),其他的成为DomainU(Unprivilleged Domain) ,有各自的ID。

Dom0提供管理其他DomU的工具栈,用于实现对虚拟机进行添加,启动,快照,停止,删除等操作。

DomU属于非特权域,支持PV(半虚拟化),HVM(硬件辅助虚拟化)和PV on HVM 3种虚拟技术。


Xen的PV技术:不依赖于CPU的hvm特性,但是要求GuestOS的内核做出修改以知晓自己运行于PV环境,运行于DomU中的OS有linux(2.6.24+),NetBSD,FreeBSD, OpenSolaris


Xen的HVM技术,依赖于Intel VT或AMD-V,还要依赖于Qemu来模拟IO设备,运行于DomU中的OS有,几乎所有支持此X86平台的操作系统


PV on HVM:CPU为HVM模式运行,IO设备为PV模式运行,运行于DomU的OS有,只要OS能驱动PV接口类型的IO设备,net-front, block-front


Xen的工具栈:

xm/xend:在Xen Hypervisor的Dom0中要启动xend服务

xm:是命令行工具,有诸多子命令,比如creat, destroy,stop,pause

xl:基于libxenlight提供的轻量级的命令行工具栈

xe/xapi:提供了对xen管理的api,因此用于cloud环境:比如Xen Server, XCP



统一化管理工具:virsh/libvirt


XenStore:为各Domain提供的共享信息存储空间,有着层级结构的名称空间,位于Dom0


Xen的使用:

RHEL5.7之前默认的虚拟化技术为xen,但是该版本的内核为2.6.18,不支持xen,所以必须打补丁到内核中使之支持xen。

RHEL 6 之后仅支持KVM,支持运行在DomU中,不支持运行在Dom0中。


可以使用xen4centos或者xen make easy软件包安装使用xen


xl 命令的使用:含有多个子命令, xl --help

xen虚拟机状态:r(运行),b(阻塞),p(暂停),s(停止),c(崩溃),d(dying,正在关闭的过程中)






评论

此博客中的热门博文

OAuth 2教程

网格策略

apt-get详细使用