Xen

维基百科,自由的百科全书
跳到导航 跳到搜索
Xen
Xen hypervisor logo black.svg
Xen screenshot.png
正運行NetBSD與三個Linux套件的Xen
原作者 凱伊爾·弗拉瑟
史蒂芬·漢特
伊安·普拉特英语Ian Pratt (computer scientist)
劍橋大學電腦實驗室英语University of Cambridge Computer Laboratory
開發者 Xen Project
初始版本 2003年 (2003)
穩定版本
穩定版本
4.10.1[1]
(2018年5月3日,​7個月前​(2018-05-03
操作系统 LinuxBSDOpenSolaris
类型 Hypervisor
许可协议 GNU GPL v2
網站 www.xenproject.org
源代码库 編輯維基數據鏈接

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

在舊(無虛擬硬件)的處理器上執行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系统上,并正在向IA64PPC移植。移植到其他平台从技术上是可行的,未来有可能会实现。

Unix-like系统中的Xen[编辑]

参见[编辑]

引用[编辑]

  1. ^ (英文)Xen Project 4.10.1 Available. Xen.org. 2018-05-03 [2018-05-03]. 
  2. ^ (英文)Xen to Become Linux Foundation Collaborative Project 互联网档案馆存檔,存档日期2013-04-17.

外部链接[编辑]