Citrix Xen产品堆栈
Xen hypervisor
Xen hypervisor是XenServer的核心,它运行在最低特权层,它位于操作系统下方,直接与硬件打交道,因此算是硬件抽象层,它负责为运行在物理主机上的各个虚拟机调度CPU和内存分区,hypervisor不仅抽象了虚拟机硬件,还控制着虚拟机的执行,因为虚拟机之间要共享相同的处理环境。
在hypervisor上面运行一个或多个客户机操作系统,在安装时就创建了第一个客户机VM,也就是著名的Dom0,这个VM有特权管理访问hypervisor,并且可以直接访问物理硬件,它的主要作用是保护hypervisor的管理接口。
最近的变化大大地改进了Xen hypervisor,包括本地运行半虚拟化Windows Server 2008作为一个XenServer客户机的能力,正如本章前面所提到的,Hyper-V和XenServer的架构类似,微软和Citrix之间的合作让一个开启Xen的Linux客户机运行在Hyper-V上成为可能,需要用到本地Xen hypercall访问虚拟功能,微软提供的软件组件调用hypercall适配器将XenServer hypercall转换成Hyper-V hypercall,因此Linux客户机可以运行在全内核半虚拟化支持下,在Citrix Essentials的Hyper-V版本中支持XenMotion,可以在XenServer和Hyper-V之间实现实时迁移。
Citrix XenServer v5.5使用的是Xen 3.3内核,它为Xen Hypervisor带来了许多增强:
? Hypervisor中的电源管理(P&C状态);
? 硬件辅助分页增强:2MB页面支持,具有更好的TLB局域性;
? CPUID功能级:允许跨不同CPU类型的系统安全域迁移;
? PVSCSI驱动,直接访问半虚拟化客户机;
? 完整的x86实址方式仿真英特尔VT上的HVM客户机:支持更多的传统客户机操作系统。
当Citrix发布下一个XenServer版本时,希望采用新的3.4版Xen内核。
正如前面提到的,更多增强已经在Xen内核的未来版本中存在的。
在计划的Xen 4.0内核中包括以下特性:
? RDMA实时迁移支持;
? Linux 2.6.30或更高版本的Dom0内核;
? Marvell 6480硬盘Dom0支持;
? 为PV客户机穿透USB控制器/设备;
? 故障容错 – Remus和Kemari项目;
? DomUs级的监控,限制和网络通信控制;
? 国际化/Unicode支持;
? 象真实交换机那样配置虚拟桥(如控制VLAN,端口状态);
? 每NIC接口VLAN标记;
? 虚拟以太网交换机;
? 通过UEFI(pUEFI)和虚拟UEFI支持物理Xen启动/安装;
? 限制VM的I/O;
? 动态内存管理;
? PCI CGA穿透;
? 完整的AMD IOMMU支持;
? 在线调整DomU磁盘的大小;
? 交叉编译Xen和模块化构建。