Xen体系架构
Xen hypervisor体系架构
Xen 的 VMM ( Xen Hypervisor ) 位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域 Domain)之间的相互隔离。Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为Domain0,而其余的域则称为Domain U。
因此Xen就包含了三个部分:
Xen Hypervisor:直接运行于硬件之上是Xen客户操作系统与硬件资源之间的访问接口。通过将客户操作系统与硬件进行分类,Xen管理系统可以允许客户操作系统安全,独立的运行在相同硬件环境之上。
Domain 0:运行在Xen管理程序之上,具有直接访问硬件和管理其他客户操作系统的特权的客户操作系统。
DomainU:运行在Xen管理程序之上的普通客户操作系统或业务操作系统,不能直接访问硬件资源(如:内存,硬盘等),但可以独立并行的存在多个。
XenServer体系架构
XenServer 是 Citrix 推出的完整服务器虚拟化平台。XenServer 软件包中包含创建和管理在 Xen(具有近乎本机性能的开源半虚拟化虚拟机管理程序)上运行的 x86 计算机部署的所需的所有功能。XenServer 的工作方式是从物理机中提取元素(例如硬盘驱动器、资源和端口),然后将其分配给物理机上运行的虚拟机。
XenServer 包含:
Xen 虚拟机管理程序:此虚拟机管理程序是软件的基础抽象层。此虚拟机管理程序负责底层任务,
例如 CPU 调度,并且负责常驻 VM 的内存隔离。此虚拟机管理程序从 VM 的硬件提取。此虚拟机管
理程序无法识别网络连接、外部存储设备、视频等。Linux Foundation Xen Project 社区将 Xen 虚
拟机管理程序作为免费软件进行开发和维护,根据 GNU 通用公共许可证进行许可。最新的XenServer 6.5使用 Xen 虚拟机管理程序 v4.4.1
控制域:也称作“Domain0”或“dom0”,控制域是一个安全的特权 Linux VM(基于 CentOS
v5.10 发行版),运行 XenServer 管理 toolstack。除了提供 XenServer 管理功能之外,控制域还
运行驱动程序堆栈,提供对物理设备的用户创建虚拟机 (VM) 访问。Domain 0是在XenServer 6.2以前的版本是一个32位的Linux操作系统定制版本,在最新的XenServer6.5中,Domain 0升级成了64位的Linux操作系统版本。以前32位的Domain 0由于其内存有限(最大只支持4GB内存空间),导致对VM的处理和对内部缓存的控制处理上存在瓶颈,而升级到64位之后就不会存在这样的问题了。
管理 toolstack:也称作 xapi,该软件 toolstack 可以控制 VM 生命周期操作、主机和 VM 网络连
接、VM 存储、用户身份验证,并允许管理 XenServer 资源池。xapi 提供公开记录的 XenAPI 管理接口,以供管理 VM 和资源池的所有工具使用。
VM 虚拟机,用于将受欢迎操作系统安装为 VM。也就是Xen当中的Domain U。
在今天,我们的XenServer已经开源了,那么对于他的定位的是什么?在服务器虚拟化域,XenServer已经远远的落后于Vmware和Hyper-v了,其市场份额也下降得很快。根据XenServer.Org社区及Citrix的定义:
· XenServer继续根植于服务器虚拟化领域,为人们提供开源、廉价、性能稳定的服务器虚拟化产品;
· 承载Citrix公司重量级产品XenApp及XenDesktop的主要底层托管hypervisor平台,紧密集成一些关键特性和最佳实践;
· 为Citrix公司的应用交付产品NetScaler SDX提供底层的hypervisor平台;
· 为云计算平台CloudStack、OpenStack和SoftLayer’s CloudLayer提供底层hypervisor平台。
Xen与XenServer的区别:
图中标明得很清楚了,我用绿色框起来的部分就是Xen,用红色框起来的部分就是XenServer。
因此他们的区别我们可以使用一个很形象的比喻:Xen就好比是汽车的发动机,而XenServer就是在Xen这台发动机的基础之上,给它安装上别的汽车零件,组装成一台可以在路上跑的汽车。