(資料來源:http://wiki.centos.org/zh-tw/HowTos/...ization/OpenVZ)
OpenVZ 是採用修改過的 Linux 內核在操作系統層進行虛擬化的技術,它讓一台實體伺服器能夠執行多個被隔離、名為容器、虛擬私人伺服器(VPS)或虛擬環境(VE)的實例。現時「容器」是最流行的名稱。容器有時會被比擬為 chroot
或 jail
類的環境,但容器其實在隔離、安全性、功能、及資源管理方面都更優勝。
OpenVZ 包括一個特製的 Linux 內核(由 OpenVZ 計劃提供)及一些用戶級的工具。OpenVZ 的可㩦性非常高,它並不依賴 CPU 內的 VT 支援,因此它可供 x86、x86-64、IA-64、PowerPC 及 SPARC 等中央處理器家族所應用。
操作系統層的虛擬化與 VMware Server、Parallels Workstation、VirtualBox, QEMU、KVM、及 Xen 等以機器/硬件進行虛擬化的產品有頗大分別,這就是在 OpenVZ 下你只能在 Linux 上將 Linux 虛擬化。
OpenVZ 修改 Linux 內核將進階的容器化功能加入其中,藉此容許隔離了的進程組別在一個 init
的旗下執行,附帶的還有二十多個控制容器資源應用方法的動態資源管理參數。OpenVZ 計劃維護著三個穩定的內核分支:
此外還有數個不穩定的分支本於較新版的 Linux 內核,它們也許會漸漸達至穩定的狀態。
官方連結
由於它較為輕省,相比起機器/硬件級虛擬化,操作系統級虛擬化提供了不少優點:
OpenVZ 能夠取得較優越的效率(與原生效率接近至很難量度)、擴展性及密度是由於只有單一個 Linux 內核在實體主機上執行,至於每個容器只佔用當中的進程/服務所需的資源,而不必耗用整個操作系統的額外資源。一個基本的容器在主機上也許會是 8 至 14 個額外的進程。只要配合適切的資源管理設定,OpenVZ 亦能處理更進階的程式,例如擁有數百個進程/執行緒的巨型 Java 應用程式。
OpenVZ 的另一個優點就是它提供了廣泛的動態資源管理參數,包括記憶體使用量、進程的數目、處理器使用量、磁碟空間使用量等等……它們全都可以在容器運行時被修改。OpenVZ 在容器內亦支援容器的磁碟配額,及(選擇性地)支援用戶和群組的磁碟配額。
OpenVZ 提供數項進階的功能,包括「檢查點」及將容器由一台主機「遷移」到另一台。遷移共有兩種方式:
OpenVZ 的遷移功能「並不」須要一個共用的儲存方案,而是利用 rsync
將容器的目錄整全地由一台實體主機複製到另一台。
何時不要用操作系統級虛擬化
雖然在很多應用案例下你都可以考慮使用操作系統級虛擬化,在某些情形下操作系統級虛擬化並不合適,而機器/硬件級虛擬化會是較好的選擇:
SWsoft(現稱為 Parallels)在 2001 年針對 Linux 發行了一個名叫 Virtuozzo 的產品。他們的現有產品名叫 Parallels Virtuozzo Containers。微軟 Windows 版的 Virtuozzo 在 2005 年被發行。同樣在 2005 年,SWsoft 成立了 OpenVZ 計劃,以 GPL 2 授權方式公開 Virtuozzo 背底後的技術。
縱 使操作系統級虛擬化在媒體裡所穫的關注不及某些新興的機器/硬件級虛擬化產品般多,自 2001 年(Virtuozzo)及 2005 年(OpenVZ)的發行,它們在環球數萬台伺服器上已證明了自已效率高、穩定、安全及耐用。時至今日,Linux 的操作系統級虛擬化(包括了 Linux-VServer)可算是歷史最悠久和最廣泛部署的 Linux 虛擬化平台。
Images 0 | ||
---|---|---|
No images to display in the gallery. |