Xen

電腦虛擬機器軟體

Xen开放源代码虚拟机监视器,由XenProject开发,能够在单个计算机运行多达128个有完全功能的操作系统

Xen
正运行NetBSD与三个Linux套件的Xen
原作者凯伊尔·弗拉瑟
史蒂芬·汉特
伊安·普拉特英语Ian Pratt (computer scientist)
剑桥大学电脑实验室英语University of Cambridge Computer Laboratory
开发者Xen Project
首次发布2003年 (2003)
当前版本4.16[1](2021年12月2日,​2年前​(2021-12-02
源代码库 编辑维基数据链接
操作系统LinuxBSDOpenSolaris
类型Hypervisor
许可协议GNU GPL v2
网站www.xenproject.org

在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。

2013年4月,Linux基金会宣布Xen成为Linux基金会合作项目。[2]

使用

IBM经常在其主机和服务器上使用虚拟机来尽可能发挥其性能,并类似chroot监禁那样将程序置于隔离的虚拟OS中以增强安全性。除此之外,它还能使不同和不兼容的OS运行在同一台计算机上。Xen支持在运行时进行迁移,保证正常运行并且避免宕机。

Xen的半虚拟化

Xen通过一种叫做半虚拟化英语Paravirtualization的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失2%,在最糟的情况下会有8%的效能耗损;与其它使用完全的虚拟化却造成最高到20%损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术不友好的架构上(如x86),Xen也有极佳的表现。但是这要求虚拟机使用经过修改的客户端操作系统。与那些传统透过软件模拟实现硬件的虚拟机不同,在3.0版本及在Intel VT-X支援前的Xen需要让客户端操作系统(guest operating systems)与Xen API进行连接。到目前为止,这样连结已经可以运用在NetBSDGNU/LinuxFreeBSD贝尔实验室Plan 9系统上。在Brainshare 2005页面存档备份,存于互联网档案馆)会议上,Novell展示了NetWare与Xen的连通。与Windows XP连通的技术曾在Xen开发初期进行,但微软的协议未能允许它发布。Sun微系统公司也正积极研究Solaris与Xen的连结,使其能在Xen平台上运作。

Xen的完全虚拟化

Intel为Xen贡献了补丁以支持其VT-X架构扩展,而AMD则进行修改以支持其AMD-V架构扩展。如果系统处理器支持虚拟硬件扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将允许未经修改的操作系统运行在Xen虚拟机中。事实上,这意味着性能的提升,用户也可以在不违背任何修改限制协议的情况下对Windows进行虚拟。也就是说,Xen的完全虚拟化模式允许Xen虚拟机运行未经修改的Windows等操作系统。但是在x86平台上,只有支持x86虚拟化的电脑才支持Xen的全虚拟化模式。Xen的完全虚拟化依赖于QEMU

虚拟机的迁移

Xen虚拟机可以在不停止的情况下在多个物理主机之间即时迁移(live migration)。在操作过程中,虚拟机在没有停止工作的情况下内存被反复的复制到目标机器。虚拟机在最终目的地开始执行之前,会有一次60-300毫秒的非常短暂的暂停以执行最终的同步化,给人无缝迁移的感觉。类似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另外一台,第一台虚拟机在以后可以恢复。

系统平台支援

Xen目前可以运行在x86x86-64系统上。

类Unix系统的Xen

参见

引用

  1. ^ RELEASE-4.16.0. Ian Jackson. Dec 2, 2021 [Dec 3, 2021]. (原始内容存档于2021-12-03). 
  2. ^ (英文)Xen to Become Linux Foundation Collaborative Project页面存档备份,存于互联网档案馆

外部链接