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日,​8個月前​(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.

外部連結[編輯]