SUSE Linux 10的虛擬化:Xen
SUSE Linux 10經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解SUSE Linux 10了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。大多數(shù)管理員都很熟悉虛擬計(jì)算的概念,或者熟悉使用軟件在一臺(tái)計(jì)算機(jī)中創(chuàng)建多臺(tái)計(jì)算機(jī)。每臺(tái)子機(jī)都可以裝載各自的操作系統(tǒng)和應(yīng)用程序。
多數(shù)常見(jiàn)的虛擬計(jì)算工具是通過(guò)商業(yè)應(yīng)用軟件實(shí)現(xiàn)的,如VMware和Microsoft Virtual Server。但是對(duì)開源愛(ài)好者來(lái)說(shuō),一個(gè)叫做Xen的GNU GPL變體比這些商業(yè)軟件產(chǎn)品使用了更好的整合虛擬化技術(shù)。
Xen的基本想法和商業(yè)產(chǎn)品一樣,就是讓你在同一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)或多個(gè)操作系統(tǒng)的大量實(shí)例。不同的是,Xen的實(shí)施需要管理員做的更多,不過(guò)效果明顯要好一點(diǎn)。
Virtual Server和VMware可以本地運(yùn)行多個(gè)操作系統(tǒng),但是這樣做會(huì)讓它們的性能降低20%。即使是現(xiàn)代處理器的速度,在同時(shí)運(yùn)行多個(gè)操作系統(tǒng)時(shí)性能也是一個(gè)很大的問(wèn)題。
在Xen下,操作系統(tǒng)(OS)必須做一些調(diào)整。OS必須要調(diào)整或稍微改動(dòng)一下才能使用Xen API(應(yīng)用程序接口)。不過(guò)性能損失很小,大約在2%到8%之間。Xen和VMware的運(yùn)行基準(zhǔn)顯示,Xen性能在某些方面幾乎要高一個(gè)級(jí)別。
改動(dòng)操作系統(tǒng)的技術(shù)叫做準(zhǔn)虛擬化(paravirtualization)。過(guò)去,類似的技術(shù)也在其它地方使用過(guò)。IBM的VM操作系統(tǒng)在大型機(jī)繼承領(lǐng)域也完成過(guò)許多同樣的工作,正如現(xiàn)在Xen的使用一樣。VMware和其它虛擬機(jī)系統(tǒng)并不使用準(zhǔn)虛擬化技術(shù)——至少現(xiàn)在還沒(méi)使用。相反,它們選擇犧牲一點(diǎn)性能,僅僅盡可能地模擬仿真機(jī)的行為,從而允許guest OS不經(jīng)改動(dòng)就能運(yùn)行。
Xen最大的資本之一在于它從準(zhǔn)虛擬化技術(shù)獲得的性能。另外,Xen是免費(fèi)的、開源的解決方案。VMware和Microsoft Virtual Server有免費(fèi)的工具,其中前者是以Virtual machine player的形式,后者是以完整的免費(fèi)版的形式。但是它們保留了產(chǎn)品所有權(quán)而且不開源,這就意味著用戶不可以對(duì)它們進(jìn)行修改從而適用于特定的需求。另一方面,使用Xen有一個(gè)最大的缺點(diǎn),就是需要大量謹(jǐn)慎的設(shè)置,而且對(duì)每一個(gè)有問(wèn)題的操作系統(tǒng)都要求有專家級(jí)的理解。它不是一個(gè)真正的即插即用的解決方案。
相比之下,VMware和其它這樣的軟件對(duì)非技術(shù)終端用戶來(lái)說(shuō),通常要更友好、好用一點(diǎn),因?yàn)樗鼈冎恍枰獙?duì)guest OS做很小的改動(dòng)。在這樣的系統(tǒng)下運(yùn)行的guest OS通常需要一個(gè)擴(kuò)展包(add-up pack)才能充分利用虛擬環(huán)境。這些擴(kuò)展包并不是至關(guān)重要的,沒(méi)有它們系統(tǒng)也通??梢哉_\(yùn)行,但是擴(kuò)展包可以改善用戶與虛擬機(jī)之間的交互等。例如,微軟為Microsoft Virtual Server下的Linux提供了一組附件,可以改善鼠標(biāo)和視頻支持,調(diào)整停機(jī)和主機(jī)時(shí)間同步。
用戶最容易掌握的Xen擴(kuò)展是一個(gè)叫做VMC的第三方管理控制臺(tái)(現(xiàn)在的是預(yù)測(cè)試版,不過(guò)即將開源)。VMC和Microsoft Virtual Server的管理控制臺(tái)一樣,運(yùn)行于Web瀏覽器,而且包含像虛擬機(jī)應(yīng)用庫(kù)(application repositories)和包管理(package management)這樣的功能等。不過(guò),這個(gè)支持似乎僅限于Linux/Unix子機(jī)。微軟子機(jī)需要依賴于現(xiàn)有的技術(shù),如GPO(組策略),才能實(shí)現(xiàn)軟件管理。但是,它和Virtual Server下運(yùn)行的Windows沒(méi)什么差別。
Xen對(duì)作為guest OS運(yùn)行的Windows有一些小小的限制,而且Xen還不能作為主機(jī)運(yùn)行Windows。在Xen 3.0之前的版本中,作為子機(jī)運(yùn)行Windows是可以的,只需要修改一下Windows。但是,由于微軟的許可限制,這些修改不能散布。Xen 3.0版做了略微的改動(dòng),以使用Intel的VT-X Vanderpool處理器指令系統(tǒng)。這使得Windows不需任何改動(dòng)即可運(yùn)行。(AMD一個(gè)類似的擴(kuò)展集即將推出,叫做Pacifica。Xen也計(jì)劃支持Pacifica)
Microsoft Virtual Server新增了對(duì)即將發(fā)布的Virtual Server中的硬件輔助模擬的支持,因此在未來(lái)的幾年里我們有可能會(huì)把半虛擬化機(jī)模擬(paravirtualized machine emulation)作為標(biāo)準(zhǔn),而不再是例外。到那時(shí),Xen和商業(yè)虛擬化系統(tǒng)的主要區(qū)別將是許可證和源代碼可用性的差異了。
為Xen裝配OS最好的方法是從零開始建立一個(gè)OS,Xen自己的維基百科有為L(zhǎng)inux正確地安裝OS的說(shuō)明。也有為NetBSD安裝OS的類似說(shuō)明。有些即開即用的OS還包含對(duì)Xen內(nèi)核的支持:與Red Hat的Fedora Core 5和Debian Linux一樣,Novell SUSE Linux 10也包含Xen 3。你可以試試Xen的live ISO CD(運(yùn)行Dbian),并至少嘗試一種Linux,如Xenophilia,本地使用Xen。
SUSE Linux 10的發(fā)展越來(lái)越普及,希望本文對(duì)你學(xué)習(xí)SUSE Linux 10有幫助。
【編輯推薦】