Xen
Xen是開放原始碼虛擬機器監視器,由XenProject開發,能夠在單個電腦執行多達128個有完全功能的作業系統。
原作者 | 凱伊爾·弗拉瑟 史蒂芬·漢特 伊安·普拉特 劍橋大學電腦實驗室 |
---|---|
開發者 | Xen Project |
首次釋出 | 2003年 |
目前版本 | 4.16[1](2021年12月2日 ) |
原始碼庫 | |
作業系統 | Linux、BSD、OpenSolaris |
類型 | Hypervisor |
授權條款 | GNU GPL v2 |
網站 | www |
在舊(無虛擬硬體)的處理器上執行Xen,作業系統必須進行顯式地修改(「移植」)以在Xen上執行(但是提供對使用者應用的相容性)。這使得Xen無需特殊硬體支援,就能達到高效能的虛擬化。
使用
IBM經常在其主機和伺服器上使用虛擬機器來儘可能發揮其效能,並類似chroot監禁那樣將程式置於隔離的虛擬OS中以增強安全性。除此之外,它還能使不同和不相容的OS執行在同一台電腦上。Xen支援在執行時進行遷移,保證正常執行並且避免宕機。
Xen的半虛擬化
Xen通過一種叫做半虛擬化的技術獲得高效能的表現(較少的效能損失,典型的情況下大約損失2%,在最糟的情況下會有8%的效能耗損;與其它使用完全的虛擬化卻造成最高到20%損耗的其他解決方案形成一個明顯的對比),甚至在某些與傳統虛擬技術不友好的架構上(如x86),Xen也有極佳的表現。但是這要求虛擬機器使用經過修改的客戶端作業系統。與那些傳統透過軟體類比實現硬體的虛擬機器不同,在3.0版本及在Intel VT-X支援前的Xen需要讓客戶端作業系統(guest operating systems)與Xen API進行連接。到目前為止,這樣連結已經可以運用在NetBSD、GNU/Linux、FreeBSD和貝爾實驗室的Plan 9系統上。在Brainshare 2005 (頁面存檔備份,存於網際網路檔案館)會議上,Novell展示了NetWare與Xen的連通。與Windows XP連通的技術曾在Xen開發初期進行,但微軟的協定未能允許它釋出。昇陽電腦公司也正積極研究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毫秒的非常短暫的暫停以執行最終的同步化,給人無縫遷移的感覺。類似的技術被用來暫停一台正在執行的虛擬機器到磁碟,並切換到另外一台,第一台虛擬機器在以後可以恢復。
系統平台支援
類Unix系統的Xen
參見
參照
- ^ RELEASE-4.16.0. Ian Jackson. Dec 2, 2021 [Dec 3, 2021]. (原始內容存檔於2021-12-03).
- ^ (英文)Xen to Become Linux Foundation Collaborative Project (頁面存檔備份,存於網際網路檔案館)