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頁面存檔備份,存於網際網路檔案館

外部連結