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