天天看點

Proxmox VE與常見的虛拟化平台比較

1. Proxmox VE的簡要介紹

根據Proxmox VE的官網介紹,Proxmox Virtual Environment(簡稱Prxomox VE或PVE)由位于奧地利維也納的Proxmox Server Solutions公司開發和維護。Proxmox VE軟體和社群支援都是免費的,企業使用者則可以通過訂閱制來獲得付費商業支援。

根據Proxmox VE的官網介紹,Proxmox VE是一個集計算、網絡及存儲于一體的解決方案,這就是我們通常所說的超融合解決方案。Proxmox VE的官網如下圖所示。

Proxmox VE與常見的虛拟化平台比較

Proxmox VE是一個企業級虛拟化平台,該平台內建了基于核心的虛拟機管理程式(KVM)和基于Linux容器(LXC)這兩種虛拟化技術,同時還內建了軟體定義存儲和虛拟網絡功能。借助Web的管理界面工具,可以輕松地管理和配置虛拟機、容器、高可用性叢集、軟體定義存儲、虛拟網絡以及備份等。

Proxmox VE最大的優勢在于安裝使用的友善以及Web管理界面的豐富,還可以相對比較簡單的實作企業虛拟化和企業私有雲。

從Proxmox VE 5.x 版本開始,官方整合了分布式檔案系統Ceph,并對其進行了改進。這樣的話,Proxmox VE就和OpenStack一樣,存儲方面內建了分布式存儲,實作了計算、網絡、存儲一體化解決方案,即所謂的超融合。

Proxmox VE的主要特性,去中心化、超融合、高可用、開源低成本、易于實施管理。

2. Proxmox VE與ZStack、VMware、OpenStack比較

Proxmox VE是一個集計算、網絡及存儲于一體的解決方案,它主要的特性與ZStack、VMware以及OpenStack相比,既有相似性也有差異性,如下表所示。

Proxmox VE與常見的虛拟化平台比較

開放程度

Proxmox VE是商業公司Proxmox Server Solutions的開源産品,Proxmox VE軟體和社群支援都是免費的,企業使用者則可以通過訂閱制獲得付費商業支援。Proxmox VE的主要劣勢,是這個開源産品隻有Proxmox Server Solutions一家在維護,生态方面不如OpenStack。

ZStack是上海雲軸資訊科技有限公司的商用産品,該公司同時釋出ZStack開源産品,商用版本與開源版本的主要差別在于,開源版本不支援高可用。ZStack開源産品和ZStack社群由上海雲軸資訊科技有限公司在維護,生态方面不如OpenStack。

VMware是威睿資訊技術(中國)有限公司的商用産品,VMware隻有商用産品,沒有開源産品,在國内産品定價高,功能按子產品收費,産品線繁雜。産品維保費用高,原廠服務價格貴同時服務支援響應慢。

OpenStack是一個開源雲計算項目,這個全球性項目由Rackspace和NASA共同創辦,采用了Apache2.0許可證,可任意使用。經過多年的發展,OpenStack現已發展成為一個廣泛使用的業内領先的開源項目,提供部署私有雲及公有雲的操作平台和工具集。

安裝部署

Proxmox VE最大的優勢在于安裝使用的友善以及web管理界面的豐富,Proxmox VE社群提供iso鏡像,可以刻錄到CD光牒或者優盤,整個安裝過程在10分鐘之内安裝完畢。除此之外,Proxmox VE是去中心化架構的,無論是單節點還是叢集,都隻需要安裝一個Proxmox VE套件。

ZStack的ZStack Cloud也提供iso安裝方式,但是ZStack的一些産品套件如多管理節點高可用套件是需要單獨安裝的。總體來說,ZStack安裝還算容易,但是需要分産品安裝,需要安裝多個産品套件。

VMware的vSphere的兩個核心元件是ESXi虛拟化平台和vCenter管理平台,ESXi也提供iso安裝方式,但是管理平台vCenter卻是與ESXi是分離的,需要單獨安裝。VMware的安裝總體來說跟ZStack差不多,安裝容易,但是需要分産品安裝。

OpenStack的架構複雜,元件衆多,配置煩瑣,整體安裝非常複雜,對于剛剛接觸到OpenStack的初學者而言,安裝一個OpenStack雲平台更是難上加難。沒有一支專家隊伍幫助實施,很難駕馭好OpenStack。

虛拟計算

Proxmox VE目前僅支援KVM這一種虛拟化技術,無法實作異構虛拟化統一管理,在VMware虛拟化市場占有率居高不下的情況下,無法納管VMware,無法保護企業既有的VMware投資。

VMware是一個商用閉源産品,在虛拟化技術方面,僅支援自有虛拟化技術ESXi。vSphere産品套件的核心産品是ESXi虛拟機管理程式,作為一個虛拟化層次,它是整個VMware産品線中的其他産品所依賴的基礎。

ZStack主要支援KVM、ESXi這兩種虛拟化技術,企業可以在部署時選擇KVM虛拟化技術來部署ZStack Cloud,在需要納管第三方VMware虛拟化平台時,可選擇ESXi虛拟化技術,來滿足ZStack納管VMware的需求場景。

OpenStack支援KVM、Xen、Hyper-V、ESXi等多種虛拟化技術,在OpenStack環境中,計算服務通過API伺服器來控制虛拟機管理程式,企業可以在部署時選擇一種虛拟化技術來建立虛拟機,向使用者提供雲伺服器。

虛拟存儲

Proxmox VE支援多種存儲技術,虛拟機鏡像既可以儲存在伺服器本地存儲,也可以儲存在基于NFS或SAN的共享儲存設備上。在本地存儲方面,支援LVM、ZFS。在共享存儲方面,支援NFS、SAN、CIFS。在分布式存儲方面,支援Ceph、GlusterFS。

ZStack也支援多種存儲技術,根據官網的《PD2002 ZStack V3.10.0 技術白皮書》介紹,ZStack支援DAS/NAS/SAN/DFS等存儲類型,支援本地存儲、NFS存儲、SAN存儲、分布式塊存儲。其中分布式塊存儲支援Ceph。

VMware也支援多種存儲技術,在本地存儲方面,支援LVM、VMFS和NFS。在共享存儲方面,支援NAS和SAN。在分布式存儲方面,支援vSAN。

OpenStack目前提供持久性存儲服務的項目有3個,分别是代号為Cinder的塊存儲(Block Storage)、代号為Swift的對象存儲(Object Storage)和代号為Manila的共享檔案系統(Shared File Systems)。支援多種背景儲存設備,包括LVM、NFS、SAN、Ceph、Sheepdog,以及EMC、IBM等商用存儲系統。

虛拟網絡

虛拟計算和虛拟存儲都有相對成熟的解決方案,在虛拟計算方面有KVM可以實作,在虛拟存儲方面有典型的Ceph分布式存儲可以實作。而虛拟網絡的實作,目前沒有統一的标準,而且不同業務的需求不同,也會導緻虛拟網絡在架構方面有所不同。

Proxmox VE在虛拟網絡方面,支援VLAN、VXLAN虛拟網絡,包括基于Linux虛拟網絡的VLAN網絡、基于開放虛拟交換機(Open vSwitch)的VLAN和VXLAN。如需要支援虛拟路由器、虛拟防火牆、虛拟負載均衡等,則需要做定制化開發或者使用原生虛拟機去實作。根據《Proxmox VE 6.2手冊》中文版手冊介紹,SDN目前是Proxmox VE中的一個實驗性功能,相關的文檔也在開發中,是以暫不讨論Proxmox VE的軟體定義網絡。可以說,Proxmox VE的網絡虛拟化功能比較弱,無法實作私有雲内大規模網絡虛拟化的需求,無法定制虛拟VXLAN和虛拟路由器,不過在私有雲規模不大的情況下,這倒不是大問題。

ZStack也支援VLAN、VXLAN虛拟網絡,根據官網的《PD2002 ZStack V3.10.0 技術白皮書》介紹,ZStack支援支援VLAN、VXLAN等網絡模型,可通過雲平台接管硬體交換機的SDN網絡,進而實作VLAN、VXLAN等網絡模型,進而實作虛拟路由器、NAT、DHCP、IPSEC隧道,實作VPC,進而具備了公有雲特性。

VMware自有的虛拟網絡套件NSX,支援多種的、豐富的虛拟網絡服務,包括虛拟交換機、虛拟路由器、負載均衡、防火牆等一系列虛拟網絡套件服務。

OpenStack網絡服務提供一個API讓使用者在雲中建立和定義網絡連接配接,該網絡服務的項目名稱是Neutron。Neutron提供虛拟網絡基礎架構,包括虛拟二層交換、虛拟三層交換、虛拟子網和虛拟路由器,除此之外,還提供虛拟防火牆(FWaas)、安全組(Security Group)、負載均衡(LBaas)和虛拟專用網(***aas)這樣的進階服務,具備了公有雲特性。

硬體相容性

Proxmox VE在硬體相容方面,僅支援x86_64架構硬體,不支援國産ARM架構硬體,不支援國産信創生态。

ZStack在硬體相容方面,支援任何x86架構硬體,支援國産ARM架構硬體,支援國産信創生态,在,全面支援主流信創晶片、作業系統,同時全面支援中間件、資料庫、應用軟體等廣泛信創生态,打造新基建下的安全、可信的雲環境。

VMware在硬體相容方面,僅支援x86_64架構硬體,不支援國産ARM架構硬體,不支援國産信創生态。

OpenStack在硬體相容方面,支援任何x86架構硬體,支援國産ARM架構硬體,國内廠家基于OpenStack的雲平台産品,基本上支援國産信創生态。

裸金屬

Proxmox VE目前不支援管理沒有虛拟化的裸金屬主機,僅支援管理虛拟化的硬體。Proxmox VE後續版本會不會支援管理裸金屬,目前還不知道,不過根據我個人的看法,Proxmox VE主要面向小型虛拟化場景、小型私有雲場景,後續Proxmox VE版本可能不會支援管理裸金屬。

ZStack提供裸金屬管理服務,可為應用提供專屬的實體伺服器,裸金屬管理服務的基本原理是:部署伺服器提供DHCP服務和FTP服務,訓示多台裸金屬裝置由PXE網卡啟動并配置設定動态IP,裸金屬裝置從部署伺服器中下載下傳相關軟體包,用于裸金屬主機的系統安裝。

VMware在裸金屬管理服務方面,暫不清楚是否支援,網上查不到相關資訊,極有可能是不支援裸金屬管理服務。

OpenStack除了提供虛拟化和虛拟機服務之外,還提供傳統的主機服務——裸金屬。OpenStack可以将裸金屬與其他部署有虛拟化管理程式的節點通過不同的計算池一起管理。OpenStack通過Ironic管理裸金屬,主要通過PXE和IPMI進行控制管理。

GPU

Proxmox VE支援GPU直通模式和GPU虛拟化模式。在GPU直通模式下,可将實體GPU指定給特定的虛拟機,該特定虛拟機獨立享有實體GPU。如要實作GPU虛拟化模式,向不同虛拟機配置設定vGPU,則需要向硬體GPU廠家購買虛拟化許可。

ZStack同樣支援GPU直通模式和GPU虛拟化模式。根據《PD2002 ZStack V3.10.0 技術白皮書》介紹,ZStack以組為機關整體透傳實體GPU裝置上攜帶的全部外接裝置(包括:GPU顯示卡、GPU聲霸卡、其它GPU上的小裝置),有效提高雲主機高性能計算和圖形處理能力。在vGPU方面,同時支援NVIDIA和AMD顯示卡虛拟化切割成vGPU,支援指定規格和指定裝置兩種方式為雲主機加載vGPU。

VMware支援GPU直通模式和GPU虛拟化模式。在GPU虛拟化模式方面,支援vSGA、vGPU、vDGA等三種模式。

OpenStack同樣支援GPU直通模式和GPU虛拟化模式。關于在OpenStack環境下的GPU模式,原理與Proxmox VE、ZStack和VMware的相似,這裡不在贅述。

高可用

Proxmox VE的高可用主要展現在分布式多副本和雲主機高可用兩個方面,Proxmox VE高可用是建立在實體節點叢集之上,依賴分布式存儲Ceph。在實作實體節點叢集的基礎之上,通過分布式Ceph設定資料/虛拟機鏡像的多副本數,預設情況下,使用3副本模式。

ZStack同樣支援分布式Ceph的多副本存儲技術,除此之外,ZStack支援零當機方案Fault Tolerance,FT實作了業務零中斷,實作了CPU狀态全同步、記憶體狀态全同步、網絡狀态全同步、磁盤狀态全同步,目前我對ZStack的FT方案還不是很了解,後續會抽時間研究下ZStack的容錯方案。除了FT方案之外,ZStack支援熱遷移。

VMware同樣支援多副本存儲技術,支援FT方案,支援熱遷移,這裡不再贅述。

OpenStack支援多副本存儲技術,支援OpenStack容錯方案,支援熱遷移。關于OpenStack的高可用性,我目前了解不多,留待後續有時間再研究。

資料庫服務

Proxmox VE在本質上是一個IaaS開源雲計算解決方案,目前幾乎不具備有PaaS層的服務能力,是以不具備有資料庫服務能力。

ZStack不僅具備IaaS層能力,同時還具備有PaaS層的能力,如支援資料庫Oracle、MySQL、ostgres、Mongodb、Influxdb、Cassandra和Redis等資料庫服務。支援Linux Tomcat、JAVA、Apache Web、Jboss、PHP、Node JS、Golang、Python等語言和運作環境。

VMware在本質上也是一個IaaS開源雲計算解決方案,幾乎不具備有PaaS層的服務能力,是以不具備有資料庫服務能力。

OpenStack不僅具備IaaS層能力,同時還具備有PaaS層的能力。基于OpenStack的雲産品廠家,大部分都進行PaaS開發,進而具備PaaS的服務能力,典型的如華為雲。

容器

Proxmox VE目前僅支援Linux容器(LXC),從Proxmox VE 4.0開始, Proxmox VE舍棄了OpenVZ 容器并轉向了LXC 容器技術。Proxmox VE基于LXC,提供輕量級Linux應用程式方案。

ZStack支援容器Docker和k8s,根據ZStack的官網介紹,ZStack Zaku容器雲平台是一款基于Kubernetes建構的企業級PaaS(平台即服務)軟體,最大化屏蔽原生複雜概念,依據傳統使用者使用習慣進行極簡化。提供多租戶、多叢集、資源配額管理、CI/CD等功能,幫助企業快速進入雲原生時代。

VMware同樣也支援容器Docker和k8s,使用者可直接在VMware vSphere上安裝Kubernetes來運作Docker,并提供容器服務。

OpenStack同樣也支援容器Docker和k8s,關于OpenStack與k8s的關系,網上有很多,但是因為本人目前對OpenStack還不是很熟悉,這裡就先不展開。

災備

Proxmox VE 内嵌了虛拟機備份工具(vzdump),可以線上建立KVM 虛拟機和LXC 容器的快照備份。建立的備份不僅包括虛拟機和容器的完整鏡像資料,同時包含了相應的配置檔案資訊。支援冷熱遷移。

ZStack具備較強的災備服務能力,包括:災備功能介紹、災備環境部署、以及本地災備、異地災備、公有雲災備場景實踐。支援冷熱遷移。

VMware提供了基于vSphere虛拟化平台的VMware Site Recovery Manager (簡稱SRM),在使用者可接受的成本下,提供了基于x86伺服器平台的災備方案,讓使用者跨站點(site) 備份虛機資料,并在主站點失效時,自動切換到備份站點繼續應用運作。

OpenStack的災備方案,目前了解不深,這裡不贅述,後續有機會另外撰文探讨。

多雲管理

Proxmox VE基于Web界面進行去中心化管理,登入任何一個節點,就可以管理整個叢集的節點,但是Proxmox VE目前隻能實作單一叢集管理,無法實作多叢集管理,無法實作多雲管理。

ZStack支援多雲管理,ZStack的ZStack CMP多雲管理平台深度對接ZStack Cloud,ZStack Mini,統一納管阿裡雲,華為雲,天翼雲,VMware等多種主流公有雲、私有雲環境。

VMware的管理平台vCenter,通過中心架構管理方式,實作對實體節點進行管理,也就是說隻能通過vCenter去管理實體節點或叢集,目前暫不了解vCenter是否支援同時管理多個叢集。

OpenStack支援多雲管理。基于OpenStack的雲産品廠家,大部分都進行了多雲管理平台(CMP)開發,實作對主流公有雲、私有雲的納管。

面向場景

Proxmox VE主要面向中小型虛拟化場景、私有雲場景。根據《Proxmox VE6.2手冊》介紹,“我們使用Corosync Cluster Engine來確定叢集通信的穩定可靠,目前一個叢集最多可擁有32個實體節點。”官網文檔還介紹,Proxmox VE支援1000個虛拟機沒有問題。換句話說,Proxmox VE最多能管理32台實體節點,大概在1000個虛拟機左右的量。

ZStack主要面向虛拟化場景、私有雲場景、公有雲場景以及混合雲場景,叢集最多管理實體節點數不詳。

VMware主要面向大中小型虛拟化場景、私有雲場景,vCenter基礎版最多可以管理1000台ESXi實體節點,vCenter進階版最多可以管理3000台ESXi實體節點。(網上查的資料,不一定準确)

OpenStack主要面向大型和超大型的私有雲場景、公有雲場景,理論上可以管理無限台實體節點。

繼續閱讀