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,正在关闭的过程中)
评论
发表评论