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