水乳交融:商業(yè)虛擬化軟件與OpenStack的整合
本文討論商業(yè)虛擬化軟件與開源軟件OpenStack的整合,是一篇純粹的技術(shù)討論文章。
在企業(yè)虛擬化領(lǐng)域,商業(yè)虛擬化軟件是事實上的先行者,長期以來,處于擁有絕對優(yōu)勢的***地位。
當OpenStack這位具有強勁實力的后來者出現(xiàn)以后,商業(yè)虛擬化軟件產(chǎn)商最初是采取敵對的競爭態(tài)度,然而,隨著OpenStack的迅猛發(fā)展,整合 — 成為其毫無懸念的最終選擇。
在收購以網(wǎng)絡虛擬化為核心業(yè)務的公司后,開始逐步向OpenStack社區(qū)提供各類插件(PlugIn),籍于此,在OpenStack環(huán)境中,可以集成商業(yè)虛擬化軟件。此后,在插件技術(shù)發(fā)展了幾年之后,VIO 1.0的發(fā)布又使得這兩類技術(shù)的整合達到了一個***的程度。
文章將對商業(yè)虛擬化軟件的計算驅(qū)動、鏡像驅(qū)動、塊存儲驅(qū)動和網(wǎng)絡驅(qū)動的實現(xiàn)原理逐一進行簡要討論,以此,對商業(yè)虛擬化軟件與OpenStack的整合原理作一個概貌性的展開分析。
整合歷程
以下,簡要回顧兩者融合的大體歷程:
2012年7月,商業(yè)虛擬化軟件產(chǎn)商將Quantum項目演化為OpenStack的網(wǎng)絡組件項目Neutron
2012年8月,商業(yè)虛擬化軟件產(chǎn)商宣布已經(jīng)正式提交加入OpenStack社區(qū)的申請
2012年9月,OpenStack的Folsom版本發(fā)布,Neutron項目啟動,商業(yè)虛擬化軟件產(chǎn)商發(fā)布了***個用于融合的OpenStack插件:Neutron NSX Driver
2013年4月,OpenStack的Grizzly版本發(fā)布,含有的插件為:(1) Neutron NSX Driver;(2) Nova vCenter Driver(新發(fā)布)
2013年10月,OpenStack的Havana版本發(fā)布,含有:(1) NeutronNSX Driver;(2) Nova vCenter Driver;(3) Cinder VMDK Driver(新發(fā)布)
2014年4月,OpenStack的Icehouse版本發(fā)布,含有:(1) Neutron NSX Driver;(2) Nova vCenter Driver;(3) Cinder VMDK Driver;(4) Glance VMDK Driver(新發(fā)布)
2015年3月,發(fā)布VIO v1.0
2015年8月,發(fā)布VIO v2.0
2016年6月,發(fā)布VIO v2.5
2017年2月,發(fā)布VIO v3.1
計算驅(qū)動
一、技術(shù)實現(xiàn)原理
所提供的計算驅(qū)動名為:Nova vCenter Driver,其技術(shù)實現(xiàn)原理如下圖所示:
以下,對技術(shù)實現(xiàn)原理圖進行簡要說明:
(1)Nova-Compute中含有 vCenter Driver,可以與管理著ESXi Cluster的vCenter Server通訊,以此管理ESXi Cluster中的計算資源。
(2)在OpenStack的Grizzly版本中,一個Driver只支持單個ESXi Cluster。從Havana版本開始,一個Driver能夠支持管理多個ESXi Cluster。
注:Nova-Compute服務的實例可以在多個獨立虛擬機上運行,也可以作為同一虛擬機上的不同進程去運行。
(3)對由vCenter Server管理的一個個ESXi Cluster,vCenter Driver會將之向Nova-Scheduler呈現(xiàn)為一個個單獨的“主機”實體 (即:Nova-Scheduler會將一個ESXi Cluster看作是一個OpenStack的Compute Node),“主機”實體的資源由ESXi Cluster之內(nèi)的ESXi物理主機節(jié)點共同組成。
(4)Nova-Scheduler會首先選擇一個最為合適的ESXi Cluster ,然后,vCenter Driver與vCenter Server APIs進行交互,接著,由vCenter的DRS(Distributed Resource Scheduling)在這個ESXi Cluster中選擇合適的ESXi物理主機, 并在其上創(chuàng)建和終止虛擬機實例。
(5) 每個ESXi cluster都需要有一個datastore來進行配置和使用。
二、具體實施和配置方法
通過對Compute Node的Nova配置文件nova.conf進行配置,啟用Nova vCenter Driver,將OpenStack Compute Node與vCenter相連,并且指向特定的ESXi cluster,具體的配置方法如下:
對上圖中的相關(guān)配置段解釋如下:
① 指定使用的VCDriver
② 指定vCenter server的IP地址、連接用戶名和相應的口令。
③ vCenter driver可以支持多個ESXi cluster,只需要在nova.conf文件中增加多個cluster_name設置行,并配之以恰當?shù)腅SXi cluster名稱。在此處,需要特別指出的是:在被vCenter driver使用的ESXi cluster和datastore中,除了用vCenter driver自身建立的虛擬機以外,不應含有有其他類型的虛擬機(比如,用vCenter建立的虛擬機)。
按照以上所述的實施和配置方法,在OpenStack將虛擬機部署到ESXi Cluster后,虛擬機在vCenter中是可見的,可以使用vSphere的高級特性(如:vMotion實施遷移、高可用性和DRS),于此同時,這些虛擬機在OpenStack的Dashboard也是可見的,對其進行管控時的操作體驗,與執(zhí)行對其他OpenStack虛擬機時是一樣的。
(未完待續(xù))