Linux內(nèi)核級虛擬環(huán)境簡介
Linux是一類Unix計算機操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。本文簡要介紹一下Linux內(nèi)核級虛擬環(huán)境。
選用合適的虛擬主機方案,能有效利用各種服務(wù)器的資源,能為節(jié)約開支,簡化硬件環(huán)境的維護帶來便利。同時它也為隔離各服務(wù)模塊提供了有效的解決方法,并能一定程度上增強系統(tǒng)的安全性。
以下介紹三種不同的虛擬方式,隨后詳細介紹在生產(chǎn)環(huán)境比較常見的內(nèi)核級虛擬主機。
Emulation硬件虛擬
為在虛擬出的環(huán)境中運行無修改的操作系統(tǒng)提供了可能。這一類的實現(xiàn)包括了從純虛擬化到允許部分代碼直接在CPU上執(zhí)行以提高性能。此類實現(xiàn)***的弊端是低性能,低密度。常見的桌面虛擬機多屬于此類,如VMwareproducts,QEmu,Bochs和Parallels.
并行虛擬化
可用于在一套管理程序或者虛擬主機控制器內(nèi)運行多個操作系統(tǒng)。此類實現(xiàn)包括Xen和UML。與硬件虛擬化相比,并行虛擬化有較好的性能。
操作系統(tǒng)級虛擬化
這種方式在一個系統(tǒng)內(nèi)核中實現(xiàn)了多個獨立的程序運行環(huán)境,可理解為chroot在更低層次的實現(xiàn)。此種方式的實現(xiàn)有***的性能和密度,并允許資源的動態(tài)管理.這種方式下,多個虛擬主機共用相同的系統(tǒng)內(nèi)核。FreeBSDJail,Linux-VServer,OpenVZ和Virtuozzo屬于此類,在生產(chǎn)環(huán)境中使用的樣例比較常見。
OpenVZ在Redhat系列的主機中比較常見(官方支持此發(fā)行版),Vserver在Debian系列中比較流行(Debian官方支持此實現(xiàn))。OpenVZ采用SWsoft的Virutozzo虛擬化服務(wù)器軟件產(chǎn)品的內(nèi)核,Virutozzo是SWsoft公司提供的商業(yè)虛擬化解決方案,OpenVZ是其開源解決方案。相比Vserver,OpenVZ有更為嚴格的測試,也有更為完善的安全框架模型。Vserver與OpenVZ的管理,維護方式大同小異,大部分命令使用方式類似。在安裝上vserver更為簡潔一些,它不需要借助操作系統(tǒng)模板來簡化安裝。
以下以O(shè)penVZ為例,介紹具體實現(xiàn):
OpenVZ的結(jié)構(gòu)
OpenVZ的安裝參考這里。安裝完成后即可用“vzctlenterVPS-NAME”登錄系統(tǒng)。登錄后看到的將是一個完善的系統(tǒng),它與主系統(tǒng)共享所有硬件資源,包括CPU、內(nèi)存和磁盤空間(可指定大小,并支持quota),并可擁有自己的IP地址。如果需要把主系統(tǒng)中的服務(wù)遷移到VPS中,需要把服務(wù)綁定到指定的IP地址上。如果不綁定,訪問相同端口的服務(wù)(比如SSH)實際會訪問主系統(tǒng)。
OpenVZ主要由三部分組成:內(nèi)核、管理程序及操作系統(tǒng)模板。在安裝之前需要確認使用了內(nèi)核已支持OpenVZ,OpenVZ官方已提供。
工具程序———OpenVZ提供幾種工具程序以創(chuàng)建、監(jiān)控和管理虛擬服務(wù)器、軟件包管理和操作系統(tǒng)模板管理,并提供系統(tǒng)快照和熱遷移。熱遷移執(zhí)行不需要共享存儲,維護網(wǎng)絡(luò)連接,并且在不易察覺的幾秒鐘之內(nèi)完成。vzctl用于創(chuàng)建,配置,修改,啟動和關(guān)閉VPS。
模板———為了使VPS創(chuàng)建更容易,OpenVZ提供了模板包,里面是用于定義常見Linux發(fā)行版的元數(shù)據(jù).只要你下載或安裝了一個內(nèi)核和一些附加的軟件包,建立一個OpenVZ系統(tǒng)既快速又容易。創(chuàng)建一個操作系統(tǒng)模板或下載一個預(yù)創(chuàng)建操作系統(tǒng)模板需要比較多的時間和帶寬,不過一旦你設(shè)置了模板指令,創(chuàng)建運行在任何支持的Linux版本上的VPS非常快速和容易。創(chuàng)建一臺VPS和啟動它只要不到兩分鐘的時間。
OpenVZ的特點
由于一臺OpenVZ虛擬主機只是一套運行在類似chroot環(huán)境中的程序,它僅消耗運行這些程序所需要的CPU和內(nèi)存。一臺運行Web的VPS(如ApacheWeb服務(wù)器SshdSendmail和Syslogd)大約只有10個程序,這為單臺主機提供高密度的虛擬環(huán)境提供了可能。OpenVZ開發(fā)者作過一些測試,在一個RAM為2GB的奔4處理器上可以運行高達320臺的VPS。OpenVZ如此輕便,但功能卻沒減少。OpenVZ有自己的資源管理平臺,系統(tǒng)管理員能為每臺VPS上動態(tài)分配資源。
OpenVZ的優(yōu)勢
OpenVZ適用于許多地方,包括服務(wù)器整合、安全、開發(fā)與測試。如果有多臺服務(wù)器的資源未被充分利用,OpenVZ可以用來把它們整合成少數(shù)物理機。為了提高系統(tǒng)的安全性,系統(tǒng)管理員可把生產(chǎn)環(huán)境運行在VPS中,它對物理主機是透明的,這樣即便失去了VPS的控制權(quán),重做系統(tǒng)和恢復(fù)環(huán)境可在不到3分鐘的時間內(nèi)完成。當(dāng)然,使用VPS后,單臺主機上將會根據(jù)實際出現(xiàn)多個同網(wǎng)段的IP地址,對維護略有影響。
總結(jié):
希望本文介紹的Linux內(nèi)核級虛擬環(huán)境的內(nèi)容能夠?qū)ψx者有所幫助,更多有關(guān)linux系統(tǒng)的知識還有待于讀者去探索和學(xué)習(xí)。
【編輯推薦】