開源虛擬化ProxmoxVE和XenServer的分析比較

基于近期調(diào)研使用Proxmox VE的經(jīng)驗以及之前使用XenServer的經(jīng)驗,在本文中,我將討論Proxmox VE和XenServer并將這兩個最受歡迎的開源虛擬機管理程序進行分析比較,此分析比較側(cè)重于虛擬機資源分配上的虛擬機管理程序優(yōu)勢,支持的虛擬化方法,服務(wù)器體系結(jié)構(gòu),虛擬機數(shù)量,主機和客戶機的操作系統(tǒng)兼容性以及管理功能。這兩款開源的虛擬機管理程序因提供了近似VMware產(chǎn)品的企業(yè)級用戶操作體驗而在全世界范圍內(nèi)廣受歡迎。基于開源的虛擬機管理程序的推進使用改變了企業(yè)管理者管理其計算資源的方式,降低了IT運營成本,提高了性能和靈活性。雖然國內(nèi)也具有ZStack等許多優(yōu)秀的開源產(chǎn)品可供使用且用戶體驗并不低于上述兩款產(chǎn)品,但就企業(yè)級功能開放度而言,目前還無法與之相比較,因此不計入本文的比較范圍。

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、大方ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大方網(wǎng)站制作公司

虛擬機管理程序是虛擬化技術(shù)采用和投資的主要載體和核心。目前市面上的開源虛擬化內(nèi)核廣泛,如Xen、KVM、LXC、Docker等。這些虛擬化內(nèi)核均依托于的單個服務(wù)器硬件及系統(tǒng)而存在,在大規(guī)模運行的情況下,需要虛擬機管理程序?qū)ζ溥M行管理、編排和硬件集群資源池化等操作。因此,管理程序的容量、兼容性、用戶體驗及性能等對于解決運營者在運用虛擬化技術(shù)的管理挑戰(zhàn)中至關(guān)重要。在這方面,開源的管理程序OpenStack一直做得很不友好,因此,專門針對這些痛點研發(fā)的開源虛擬化管理程序大受歡迎;另外,盡管虛擬化技術(shù)的增長帶來了顯著的價格下降,但通過使用開源虛擬化管理程序可以進一步降低IT投資和運營成本。因此,大浪淘沙過后,簡單實用、貼近用戶Proxmox VE和XenServer成為最受歡迎的開源虛擬化管理程序。

l?Proxmox VE(英語:Proxmox Virtual Environment,通常簡稱為Proxmox)是一種基于開源的虛擬化解決方案,它在一個軟件包中提供計算、網(wǎng)絡(luò)和存儲三大功能。Proxmox VE是一個既可以運行虛擬機也可以運行容器的虛擬化平臺。Proxmox VE基于Debian Linux開發(fā),并且完全開源。出于靈活性的考慮,Proxmox VE同時支持兩種虛擬化技術(shù):KVM虛擬機和LXC容器。

l?XenServer是基于開源Xen項目發(fā)展起來的開源虛擬化平臺,后被Citrix公司收購,改名為XenServer,并在持續(xù)一段時間商業(yè)化后轉(zhuǎn)而繼續(xù)開源。XenServer主要基于Xen開源虛擬化內(nèi)核構(gòu)建虛擬化管理堆棧,經(jīng)過和Citrix產(chǎn)品搭售及AWS云計算產(chǎn)品基于Xen的背書,廣泛應(yīng)用于各大企業(yè)生產(chǎn)環(huán)境。

從今天成熟穩(wěn)定的開源虛擬化管理程序來看,擁有悠久歷史、版本迭代穩(wěn)定、歷經(jīng)各種生產(chǎn)環(huán)境實踐的開源虛擬化管理產(chǎn)品也就上述兩款是最為出眾。而這兩款產(chǎn)品也從各個角度均表明在許多方面具有很高的相似性,因此分析比較能夠客觀的提供更加細(xì)致的比較分析,保證在節(jié)約成本及基于虛擬化技術(shù)實施行業(yè)解決方案等的運作上,采用者能夠匹配到最佳的虛擬化管理程序,并基于自身的考慮因素如虛擬化要求、組織規(guī)模、人員技能和計算工作負(fù)載等實施最優(yōu)的解決方案。

從虛擬化技術(shù)的分類情況全虛擬化、半虛擬化、操作系統(tǒng)虛擬化和硬件輔助虛擬化等類別看,Proxmox VE和XenServer各自支持的虛擬化方法有所區(qū)別,具體來說:Proxmox VE支持完全虛擬化、硬件輔助虛擬化(基于KVM)和操作系統(tǒng)虛擬化,但XenServer支持完全虛擬化、半虛擬化和硬件輔助虛擬化,如下表1所示。

表1:虛擬化管理程序與虛擬化方法

開源虛擬化ProxmoxVE和XenServer的分析比較

對于XenServer的情況,雖然硬件虛擬化虛擬機在運行硬件輔助虛擬化時需要基于Intel的VT-x或AMD-V的x86 CPU,但半虛擬化不需要處理器虛擬化的功能支持,而是修改客戶操作系統(tǒng)內(nèi)核,這一點Proxmox VE(KVM)的實現(xiàn)有所區(qū)別。與XenServer不同,Proxmox VE支持操作系統(tǒng)級虛擬化,這對于1型虛擬化管理程序并不常見?,F(xiàn)今市面上的大多數(shù)基于類型1的虛擬化管理程序支持半虛擬化和硬件輔助虛擬化,而完全虛擬化由于在運行期間涉及二進制翻譯,因此完全虛擬化的性能并不理想,主要是因為二進制轉(zhuǎn)換非常耗時,并且可能導(dǎo)致極高的性能開銷?,F(xiàn)今的主要解決方案是采用替代的高速緩存來改進二進制翻譯,以提升二進制翻譯的速度,但這可能會增加更多的內(nèi)存使用成本。半虛擬化克服了完全虛擬化的性能問題,在x86架構(gòu)上的半虛擬化可以提供主機80%到97%的性能。這是因為在半虛擬化技術(shù)實現(xiàn)機制下,操作系統(tǒng)能夠識別虛擬化管理程序發(fā)送的超級調(diào)用命令。因此,XenServer支持半虛擬化的好處是,基于Linux版本的操作系統(tǒng)運行于XenServer能夠得到很大的運行性能,但是由于半虛擬化需要修改操作系統(tǒng)內(nèi)核,因此半虛擬化的方法不支持微軟的Windows操作系統(tǒng)。

很欣慰的是Proxmox VE和XenServer均支持基于硬件輔助虛擬化方法,通過硬件輔助虛擬化方法,Proxmox VE和XenServer均能夠提供適宜的運行性能。硬件輔助虛擬化能夠?qū)④浖崿F(xiàn)的虛擬化部分卸載到硬件上通過硬件設(shè)計的電路來執(zhí)行,執(zhí)行效率遠(yuǎn)遠(yuǎn)高于基于CPU處理器/內(nèi)存虛擬化組合的計算能力。最典型的例子是AWS的Nitro,在 Nitro 系統(tǒng)架構(gòu)中,網(wǎng)絡(luò)、存儲、安全管理及監(jiān)控都從傳統(tǒng)虛擬機中解耦,被遷移到專屬硬件中。這些功能都將模塊化、微服務(wù)化,使其能夠快速遷移并且隨時能夠根據(jù)新的需求而演進。Nitro 系統(tǒng)使用的是定制的 ASIC,將以前軟件實現(xiàn)的虛擬化方法通過專屬定制的ASIC硬件來執(zhí)行,這種架構(gòu)的好處,是我們可以將所有服務(wù)器資源都分配給客戶的虛擬機或容器,各大IO模塊的享有和硬件一樣的高速運行速度。

隨著開源硬件OCP及天蝎項目等的運作和進展,我認(rèn)為類似Proxmox VE和XenServer等虛擬化管理程序也能夠?qū)崿F(xiàn)標(biāo)準(zhǔn)化解耦網(wǎng)絡(luò)、存儲、安全管理及監(jiān)控等的到專屬模塊化硬件的時候。但這不是我們今天的重點,開源的虛擬化管理程序在今天普遍硬件的架構(gòu)下,滿足實用與好用的原則,就是現(xiàn)代基于虛擬化驅(qū)動的IT解決方案最有價值的方案。

虛擬化技術(shù)最主要的虛擬主體就是我們的硬件CPU、內(nèi)存和IO。

首先,從支持的CPU架構(gòu)上看,Proxmox VE和XenServer均只支持x86_64的CPU,不支持Power等架構(gòu)的CPU。雖然從虛擬化內(nèi)核Xen和KVM的角度,Xen以及KVM等均適配了Power等架構(gòu)的CPU,甚至國產(chǎn)龍芯等MIPS架構(gòu)的CPU,龍芯中科等均做了適配,但是這兩款虛擬化管理程序并為花費心思對其進行集成和適配。

表2顯示了虛擬化管理程序和CPU體系結(jié)構(gòu)之間的對應(yīng)關(guān)系摘要。

表2:虛擬化管理程序與CPU架構(gòu)

開源虛擬化ProxmoxVE和XenServer的分析比較

其次,在支持的客戶機操作系統(tǒng)上,通過閱讀官方提供的兼容性列表,我們可以發(fā)現(xiàn)Proxmox VE和XenServer針對客戶機操作的兼容性差異在于Unix系統(tǒng)的兼容性上。具體如下:

表3:虛擬化管理程序與客戶機操作系統(tǒng)

開源虛擬化ProxmoxVE和XenServer的分析比較

在這方面,Proxmox VE是唯一基于開源的1型虛擬機管理程序,可與所有客戶操作系統(tǒng)高效協(xié)作。與Proxmox VE不同,XenServer不支持FreeBSD,NetBSD或任何其他BSD變體作為客戶操作系統(tǒng),但是用戶可以嘗試將其安裝為HVM來賓,自行安裝FreeBSD等操作系統(tǒng)的,但由于I / O是模擬實現(xiàn)的,因此其性能與其他半虛擬客戶機不匹配。FreeBSD等BSD系統(tǒng)有一個專門為其而生的虛擬化管理程序bhyve,有興趣可去了解,目前正在尋求對X86-64架構(gòu)的其他操作系統(tǒng)的兼容性支持。

在支持的虛擬機數(shù)量上,由于每個版本的參數(shù)性能均不同,因此采用兩個管理程序的較新版本進行比較,如Proxmox VE 5.x和XenServer 7.x。虛擬機管理程序支持的虛擬機數(shù)量是評估其處理能力及內(nèi)存特性對資源分配和服務(wù)器整合能力的重要指標(biāo)。下表4總結(jié)了Proxmox VE和XenServer虛擬機管理程序支持的虛擬機數(shù)量。

表4:VM數(shù)量,CPU和RAM特性

開源虛擬化ProxmoxVE和XenServer的分析比較

在XenServer 7中的最大客戶機數(shù)量為500,但對于基于Linux的客戶機,此數(shù)量可以增長到650,但是這種測試的數(shù)量可以通過可接受的性能基線值而發(fā)生變化,比如配置更低的虛擬機可以運行更多的數(shù)量。Proxmox VE也具有類似的負(fù)載動態(tài)性。在虛擬機的vCPU支持上,XenServer支持每個虛擬機最多添加32個vCPU,對于VCPU之間的資源均衡,XenServer使用公平共享平衡算法,以確保虛擬機之間分配CPU資源相應(yīng)地在物理CPU資源上平衡負(fù)載運行。此外,XenServer還可以將物理處理器動態(tài)分配給任何特定的虛擬機,動態(tài)分配允許虛擬機在可用時有效地利用可用的CPU資源。XenServer的一個好處是它能夠在同一資源池中使用不同類型的CPU,即支持異構(gòu)資源池。通常,XenServer分別使用針對Intel和AMD的FlexMigration和Extended Migration技術(shù)來運行異構(gòu)環(huán)境。對于Proxmox VE來說,每個虛擬機可支持的vCPU數(shù)為160。并可為單個客戶虛擬機分配最大192GB的內(nèi)存空間。兩者均支持動態(tài)內(nèi)存控制及CPU、內(nèi)存、網(wǎng)絡(luò)及硬盤的熱插拔。

在網(wǎng)絡(luò)功能上,對于虛擬網(wǎng)絡(luò)接口卡(NIC),XenServer可以為每個虛擬機分配的最大NIC數(shù)為7,但是,存在基于來賓操作系統(tǒng)的變化,有些操作系統(tǒng)支持給更多的虛擬網(wǎng)卡。并且在XenServer物理主機中,支持的最大物理網(wǎng)卡數(shù)為16。對于Proxmox VE,由于其基于Debian系統(tǒng)構(gòu)建,因此支持的網(wǎng)卡數(shù)量遠(yuǎn)遠(yuǎn)超出這個限制。Proxmox VE和XenServer均使用Linux Braidge和Open vSwitch在VM之間提供公平的網(wǎng)絡(luò)I / O資源并進行QoS控制。在網(wǎng)絡(luò)功能上,XenServer要比Proxmox V的網(wǎng)絡(luò)功能強大一點,但是強大的部分均基于商業(yè)版本,從開源版本的功能比較上,兩款產(chǎn)品的網(wǎng)絡(luò)管理功能均一致。在Proxmox VE中,每個節(jié)點最多可支持4,094個網(wǎng)橋,其通用命名格式為vmbrX,其中X表示0到4,094之間的整數(shù)。Proxmox VE的優(yōu)勢之一是允許節(jié)點間實時遷移的條件少于XenServer。

對于虛擬磁盤I / O的情況,XenServer可以分配給VM的最大虛擬磁盤驅(qū)動器數(shù)量為16,但這可能會因客戶操作系統(tǒng)的類型而異。在VM之間拆分的磁盤I / O資源是使用基于所定義的設(shè)置優(yōu)先級的公平共享方法完成的。XenServer使用存儲管理器,它是對基于文件和塊的存儲類型的內(nèi)置支持。對于Proxmox VE,支持的存儲包括滿足本地存儲的目錄、用于本地或共享iSCSI目標(biāo)的邏輯卷管理(LVM)、用于(OmniOS,F(xiàn)reeNAS,Ubuntu等)的網(wǎng)絡(luò)文件系統(tǒng)(NFS)、Gluster文件系統(tǒng)( GlusterFS)和Ceph。 出于備份目的,Proxmox使用FreeNAS。雖然NFS共享是最常用于VM備份方案,但也可以使用本地和Ceph FS進行完整備份。

最后,從管理功能上比較兩個管理程序。虛擬機管理程序中的管理功能對于輕松創(chuàng)建和管理虛擬機非常重要。 一些管理功能包括資產(chǎn)管理、配置快照、高可用性、實時遷移、維護模式、性能指標(biāo)、存儲遷移、虛擬機克隆、VM遷移,容量規(guī)劃/管理、虛擬防火墻、虛擬機備份/恢復(fù)、精簡配置、存儲多路徑、性能報告、自動發(fā)現(xiàn)、故障轉(zhuǎn)移和多個主機資源池等。下表5顯示了Proxmox VE和XenServer虛擬機監(jiān)控程序支持的不同管理功能。

?

表5:虛擬化管理程序的管理功能

?

開源虛擬化ProxmoxVE和XenServer的分析比較

從上面的表5可以看出,兩個管理程序都提供了類似的管理功能,這意味著兩個管理程序之間沒有顯著差異。但是,這些功能如何工作并產(chǎn)生預(yù)期結(jié)果存在重大差異。例如, XenServer和Proxmox VE都支持圖形用戶界面(GUI)和命令行界面(CLI)管理。但是XenServer是基于CS架構(gòu)的GUI客戶端,通過安裝在Windows環(huán)境下的GUI客戶端,并通過使用256位SSL(AES)加密來保護和XenServer主機之間的所有通信。而Proxmox VE使用基于HTML5的Web GUI客戶端來實現(xiàn)Proxmox VE的圖形接口操作訪問。兩者都具有專有的CLI管理命令工具。另外一個管理功能比較有所區(qū)別的是虛擬機的克隆。XenServer和Proxmox VE都支持完整克隆和連接克隆。區(qū)別在于兩者的存儲文件格式類型不一,所支持的虛擬機的克隆能力有所異同。此外,在存儲空間的利用上,XenServer通過支持在本地磁盤上對現(xiàn)有虛擬機進行精簡置備,格式為EXT3和NFS存儲庫,Proxmox VE由于利用KVM內(nèi)核,因此和支持的格式有關(guān)。對于虛擬防火墻,兩個虛擬機管理程序都具有管理功能,均通過內(nèi)部包過濾和監(jiān)控功能來增強安全性。從安全角度來看,XenServer由一個控制域(Dom0)組成,它是一個安全的特權(quán)虛擬機,運行XAPI(管理工具堆棧),可用于控制網(wǎng)絡(luò)、存儲、身份驗證和計算資源管理中的虛擬機生命周期操作。Proxmox VE使用基于角色的用戶和權(quán)限管理來監(jiān)控虛擬機和容器、存儲池和主機節(jié)點。此外,Proxmox VE使用Linux PAM或LDAP應(yīng)用用戶身份驗證。這兩個虛擬機管理程序還提供實時遷移、高可用性(HA)、虛擬機快照和性能報告。這些均是企業(yè)在運行過程中能夠?qū)I(yè)務(wù)運行產(chǎn)生重大幫助的優(yōu)秀功能。

另外從虛擬機的導(dǎo)入導(dǎo)出和遷移上,XenServer比Proxmox VE做得要好?;旧?,XenServer支持在同構(gòu)和異構(gòu)環(huán)境中導(dǎo)入和導(dǎo)出虛擬機,并支持行業(yè)標(biāo)準(zhǔn)的開放虛擬化格式(OVF),因此它可以接受從其他虛擬機管理程序創(chuàng)建的所有虛擬機,包括VMware和Hyper-V等專有虛擬機管理程序。這主要是使用XenServer Conversion Manager實現(xiàn)的。Proxmox VE未開發(fā)專門的GUI導(dǎo)入導(dǎo)出工具,但是支持qcow2、raw和vmdk格式的虛擬機,其導(dǎo)入導(dǎo)出功能需通過CLI工具實現(xiàn)。

?qcow2支持的存儲是NFS和目錄、Raw格式支持LVM,RBD,iSCSI和目錄。 vmdk支持NFS和目錄。由于高I / O開銷和低處理速度,qcow2格式不適用于數(shù)據(jù)密集型虛擬機,如數(shù)據(jù)庫服務(wù)器。但是,當(dāng)存在預(yù)算限制和有限的存儲空間時,qcow2文件很有用。此映像類型支持KVM實時快照以保留VM狀態(tài)。原始映像類型可確保性能,因為VM具有直接傳遞訪問權(quán)限,因此速度更快。原始文件格式只能提供固定大小或密集配置的VM映像,因此它是所有Proxmox VM的首選文件格式??梢栽赑roxmox中添加的虛擬驅(qū)動器是IDE(3),SATA(5),VirtIO(15),SCSI(13)。原始磁盤映像文件始終是預(yù)分配的,因此存在超出總可用存儲空間的過度配置風(fēng)險。此映像類型的另一大優(yōu)勢是它支持KVM實時快照。關(guān)于vmdk圖像格式,Proxmox使用它只是為了便于VM遷移到其他虛擬機管理程序。 vmdk文件格式的存在允許Proxmox文件在異構(gòu)管理程序環(huán)境中游動。

Proxmox VE和XenServer在許多方面類似,但主要區(qū)別在于XenServer不支持Linux容器(操作系統(tǒng)虛擬化),而Proxmox VE支持。與XenServer相比,此功能可提升Proxmox VE的強度。雖然Proxmox VE使用獨特的虛擬化API,并利用KVM完全虛擬化和基于LXC容器的操作系統(tǒng)虛擬化,但是其運行和管理歷經(jīng)生產(chǎn)環(huán)境實踐,不使用Libvirt接口也可以很好運行。Proxmox VE和XenServer都是流行的虛擬機管理程序,均需要高水平的操作系統(tǒng)及虛擬化技能才能在整個虛擬機生命周期內(nèi)進行安全管理。根據(jù)采用組織的規(guī)模和要求,如何在虛擬機之間分配和共享資源是虛擬化管理程序的主要作用。因此,對于旨在以最高性能降低成本削減虛擬化解決方案的組織,Proxmox VE和XenServer是虛擬化服務(wù)器基礎(chǔ)架構(gòu)的最有價值和可行解決方案。

?

名稱欄目:開源虛擬化ProxmoxVE和XenServer的分析比較
瀏覽路徑:http://muchs.cn/article26/iehpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站策劃做網(wǎng)站、自適應(yīng)網(wǎng)站搜索引擎優(yōu)化、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)