虛擬化產(chǎn)品OpenVZ
有很多適合Linux的虛擬化產(chǎn)品,我使用過它們中的一些,最符合我需要的一種產(chǎn)品是OpenVZ。OpenVZ使用了一種叫做“process containers”的虛擬化形式。OpenVZ既不是硬件仿真器也不是虛擬機(jī),它是操作系統(tǒng)級別的虛擬化,提供了一種方法:把程序(運(yùn)行程序或系統(tǒng)服務(wù))分類聚在一起以創(chuàng)建虛擬環(huán)境(VE)或虛擬專用服務(wù)器(vps)。在本文中我們將詳細(xì)介紹這款虛擬化產(chǎn)品OpenVZ。
什么是OpenVZ?
OpenVZ主要由三部分組成:內(nèi)核、一套工具程序及操作系統(tǒng)模板。
內(nèi)核——OpenVZ為紅帽Linux企業(yè)版本系統(tǒng)(RHEL,CentOS等)、Fedora Core 5和SUSE 10提供預(yù)構(gòu)建內(nèi)核套件。OpenVZ也被整合在最近發(fā)布的Mandriva Corporate Server里,并且通過Gentoo Portage系統(tǒng)在Gentoo也能用。對于那些喜歡對源碼進(jìn)行編輯的人,源編碼在src.rpm格式下是可用的,同樣也可以為主線Linux內(nèi)核源碼打補(bǔ)丁和配置。OpenVZ內(nèi)核提供的主要新功能是程序ID虛擬化(PID)和更廣泛的資源管理。
工具程序——OpenVZ提供幾種工具程序以創(chuàng)建、監(jiān)控和管理虛擬專有服務(wù)器、軟件包管理和操作系統(tǒng)模板管理,并提供系統(tǒng)快照和熱遷移。vzctl用于創(chuàng)建、配置、修改、開啟和關(guān)閉vps。軟件包管理工具包括vzrpm和vzyum。操作系統(tǒng)模板工具包括vzpkgadd和vzpkgcache。vzmigrate提供系統(tǒng)快照及熱遷移的功能。
模板——為了使vps創(chuàng)建更容易,OpenVZ包括模板包,里面是用于定義一個(gè)Linux發(fā)行版的元數(shù)據(jù)的集合。OpenVZ也提供預(yù)創(chuàng)建發(fā)行版模板。這有什么不同呢?模板包方法允許下載一個(gè)已發(fā)行Linux版本的所有軟件包,而不是一個(gè)big .tar.gz或vps的預(yù)創(chuàng)建模板。
只要你下載或安裝了一個(gè)內(nèi)核和一些附加的軟件包,建立一個(gè)OpenVZ系統(tǒng)既快速又容易。創(chuàng)建一個(gè)操作系統(tǒng)模板或下載一個(gè)預(yù)創(chuàng)建操作系統(tǒng)模板需要比較多的時(shí)間和帶寬,不過一旦你設(shè)置了模板指令,創(chuàng)建運(yùn)行在任何支持的Linux版本上的vps非??焖俸腿菀住?chuàng)建一臺vps和啟動它只要不到兩分鐘的時(shí)間。
process container方法
可擴(kuò)展性——當(dāng)與硬件仿真(VMware和Parallels)或準(zhǔn)虛擬化(Xen和用戶模式的Linux)方法相比,process container類型更輕量級和更有效率。一臺虛擬專有服務(wù)器僅僅只占用你想要運(yùn)行的程序和服務(wù)所需要的資源,既不需要一個(gè)獨(dú)立的內(nèi)核也不需要一整個(gè)操作系統(tǒng)所必須的基礎(chǔ)要素。
所以,OpenVZ提供原生性能、動態(tài)資源分配,并具備高擴(kuò)展性。擴(kuò)展性怎么樣呢?OpenVZ開發(fā)者作過一些基準(zhǔn)測試,宣布在一個(gè)RAM為768MB的單核奔騰4處理器上可以運(yùn)行高達(dá)120臺的vps,在RAM為2GB的單核奔騰4處理器上可以運(yùn)行高達(dá)320臺的vps。
使用其他虛擬化方法,擴(kuò)展性的主要障礙是RAM,因?yàn)槊颗_虛擬機(jī)需要與一臺典型的獨(dú)立物理機(jī)相同數(shù)量的RAM。由于一臺OpenVZ vps只是一套程序,一臺vps只消耗運(yùn)行這些程序所需要的CPU和RAM資源。例如,一臺基礎(chǔ)的vps(運(yùn)行Apache Web服務(wù)器、sshd、sendmail和syslogd)大約只有15個(gè)程序。
功能——盡管OpenVZ非常輕便,但功能卻沒減少。一臺vps是一臺獨(dú)立的機(jī)器,有自己的管理員(根用戶)、用戶(系統(tǒng)和用戶帳戶)、用戶磁盤配額、服務(wù)及軟件。OpenVZ有一個(gè)廣泛的資源管理系統(tǒng),主機(jī)系統(tǒng)管理員能在每臺vps基礎(chǔ)上配置及動態(tài)分配資源。OpenVZ也提供諸如系統(tǒng)快照和熱遷移(把vps從一臺物理主機(jī)遷移到另一臺)這樣先進(jìn)的功能。熱遷移執(zhí)行不需要共享存儲、維護(hù)網(wǎng)絡(luò)連接,并且在不易察覺的幾秒鐘之內(nèi)完成。
什么時(shí)候使用OpenVZ?
OpenVZ適用于許多地方,包括服務(wù)器整合、托管、開發(fā)與測試、安全及教育。如果你有很多Linux服務(wù)器沒被充分利用,OpenVZ可以用來把它們整合成少數(shù)(或可能一臺)物理機(jī)。托管公司鐘愛vps,因?yàn)樗麄兡馨岩慌_機(jī)器分配給許多用戶。為了額外的安全性,許多系統(tǒng)管理員特別關(guān)注安裝服務(wù)器應(yīng)用到chrooted環(huán)境,不過對于服務(wù)器應(yīng)用分離來說,vps是比較好的解決方案。
什么時(shí)候不使用OpenVZ?
如果你需要在一臺獨(dú)立的機(jī)器上運(yùn)行多個(gè)或不同的操作系統(tǒng)或內(nèi)核,硬件仿真或準(zhǔn)虛擬化符合需求,因?yàn)镺penVZ是一個(gè)獨(dú)立的操作系統(tǒng)(Linux),只有一個(gè)內(nèi)核。OpenVZ完全以命令行為導(dǎo)向,目前不包括任何基于GUI的應(yīng)用??赡芤膊贿m合于那些害怕shell提示符的人。
以上就是虛擬化產(chǎn)品OpenVZ的簡單介紹,具體的使用還要在實(shí)際應(yīng)用中多多練習(xí)。
【編輯推薦】