阮承妹
摘要:采用vSphere私有云建設(shè)OpenStack實(shí)驗(yàn)平臺(tái)的方案中存在虛擬機(jī)嵌套問(wèn)題,針對(duì)該問(wèn)題,本文提出了一種OpenStack各節(jié)點(diǎn)組網(wǎng)方式,在不開(kāi)啟虛擬交換機(jī)的混雜模式下,實(shí)現(xiàn)虛擬機(jī)實(shí)例與外部網(wǎng)絡(luò)的通信。該組網(wǎng)方式,既實(shí)現(xiàn)虛擬機(jī)實(shí)例與OpenStack各節(jié)點(diǎn)的網(wǎng)絡(luò)隔離,又無(wú)需混雜模式下額外的開(kāi)銷。
關(guān)鍵詞:vSphere;OpenStack;嵌套虛擬機(jī);混雜模式;組網(wǎng)
1、背景
高校智慧校園建設(shè)中,逐步拋棄傳統(tǒng)的服務(wù)器管理模式和以PC為主的實(shí)驗(yàn)室建設(shè)方式,采用私有云構(gòu)建服務(wù)器資源池以及云系統(tǒng)的解決方案成為主流。
計(jì)世資訊調(diào)查報(bào)告顯示,在服務(wù)器虛擬化方面,VMware在中國(guó)的市場(chǎng)份額從2016年在2018年仍然達(dá)到40%[1]。在私有云方面,VMware占有率并不高,主要原因是用戶管理需求復(fù)雜,不易于管理。市場(chǎng)需要更為開(kāi)放更具兼容性的產(chǎn)品,如基于KVM的OpenStack云平臺(tái)。2020年賽迪發(fā)布研究報(bào)告顯示,基于開(kāi)源OpenStack平臺(tái)的企業(yè)仍占鰲頭[2]。OpenStack的運(yùn)維人員成為緊急需求。各院校逐漸開(kāi)展云計(jì)算平臺(tái)的相關(guān)教學(xué),而首先要解決的是云計(jì)算實(shí)驗(yàn)室的建設(shè)問(wèn)題。
基于私有云來(lái)構(gòu)建云計(jì)算實(shí)驗(yàn)平臺(tái)成為優(yōu)先考慮的解決方案。本文以本校為例,原有大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)是采用VMware vSphere 6.5來(lái)構(gòu)建私有云實(shí)驗(yàn)平臺(tái)。在大數(shù)據(jù)實(shí)驗(yàn)課程中,服務(wù)器資源利用率大約為30%,假期時(shí)段利用率甚至更低,故考慮到成本資源利用率,在此私有云平臺(tái)上構(gòu)建OpenStack實(shí)驗(yàn)平臺(tái)。
2、OpenStack節(jié)點(diǎn)在vSphere中的規(guī)劃設(shè)計(jì)
vSphere管理平臺(tái)包括ESXi 和vCenter 兩個(gè)主要組件。其中ESXi提供虛擬化服務(wù),虛擬機(jī)和虛擬設(shè)備都運(yùn)行在ESXi上,vCenter提供管理服務(wù)。
用ESXi創(chuàng)建的虛擬機(jī)來(lái)構(gòu)建OpenStack實(shí)驗(yàn)平臺(tái),OpenStack各節(jié)點(diǎn)之間的網(wǎng)絡(luò)連接如果采用OpenStack官網(wǎng)推薦的拓?fù)溥M(jìn)行組網(wǎng),存在以下問(wèn)題:
當(dāng)OpenStack compute節(jié)點(diǎn)上創(chuàng)建的虛擬機(jī)VM實(shí)例與外部網(wǎng)絡(luò)無(wú)法互通。原因在于ESXi創(chuàng)建的虛擬交換機(jī)與物理交換機(jī)的區(qū)別在于不學(xué)習(xí)來(lái)自外部網(wǎng)絡(luò)的過(guò)境交通的MAC地址。虛擬交換機(jī)無(wú)法學(xué)習(xí)VM實(shí)例的MAC地址(不是由ESXi創(chuàng)建的,因此被認(rèn)為是外部非法的),因此虛擬交換機(jī)丟棄VM實(shí)例幀。
[3]文作者提出了通過(guò)開(kāi)啟虛擬交換機(jī)混雜模式的方法來(lái)解決該問(wèn)題。VMware對(duì)混雜模式的定義是混雜模式下的交換機(jī)會(huì)對(duì)所有流量進(jìn)行泛洪,因此VM實(shí)例能夠發(fā)送和接收到數(shù)據(jù)包。但混雜模式是不安全的運(yùn)行模式,它意味著處于混雜模式中的所有網(wǎng)絡(luò)適配器均能接收數(shù)據(jù)包。此外泛洪,需要額外的開(kāi)銷。
本文設(shè)計(jì)了圖3-1所示的組網(wǎng)方式,在不開(kāi)啟虛擬交換機(jī)混雜模式的狀態(tài)下,能夠?qū)崿F(xiàn)VM與外部網(wǎng)絡(luò)的互通。
端口組0-2分別實(shí)現(xiàn)OpenStack內(nèi)部組件通信、租戶網(wǎng)絡(luò)隧道、建立provider網(wǎng)絡(luò),因此都是內(nèi)部網(wǎng)絡(luò),通過(guò)新建的vswitch1來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)連接。vswith1無(wú)需與ESXi物理網(wǎng)卡相連,保證內(nèi)部通信的數(shù)據(jù)僅在ESXi主機(jī)內(nèi)部間傳輸,實(shí)現(xiàn)內(nèi)外隔離。
傳統(tǒng)的組網(wǎng)方式是eth2直連外部網(wǎng)絡(luò),那么eth1網(wǎng)絡(luò)與eth2網(wǎng)絡(luò)通信所創(chuàng)建的qrouter的mac地址不能夠被虛擬交換機(jī)學(xué)習(xí),因此幀被丟棄。本文在controller節(jié)點(diǎn)上開(kāi)啟路由轉(zhuǎn)發(fā)功能,并在eth3上啟用SNAT,所有通過(guò)eth3路由的VM幀被修改成eth3的MAC地址,因此能夠?qū)崿F(xiàn)和外部網(wǎng)絡(luò)進(jìn)行通信。VM和外部網(wǎng)絡(luò)通信數(shù)據(jù)流由3-1中虛線所示。
3、測(cè)試
在vswitch不開(kāi)啟混雜模式下,采用本文所提出的組網(wǎng)方式構(gòu)建OpenStack實(shí)驗(yàn)平臺(tái),完成Linux Bridge + Vxlan實(shí)驗(yàn),部署centos7實(shí)例。在controller節(jié)點(diǎn)上通過(guò)ssh訪問(wèn)該VM實(shí)例進(jìn)行測(cè)試:
圖3-1表明,該組網(wǎng)方式能實(shí)現(xiàn)VM實(shí)例與外部網(wǎng)絡(luò)的通信。同時(shí)測(cè)試VM實(shí)例與OpenStack各節(jié)點(diǎn)之間的網(wǎng)絡(luò)情況,VM實(shí)例與compute不通,實(shí)現(xiàn)了VM實(shí)例與OpenStack節(jié)點(diǎn)(除了網(wǎng)絡(luò)節(jié)點(diǎn))的隔離,提高了安全性。VM實(shí)例與網(wǎng)絡(luò)節(jié)點(diǎn)(網(wǎng)絡(luò)服務(wù)部署在controller上)是互通的,因?yàn)閂M實(shí)例與外部網(wǎng)絡(luò)的通信需要網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。
4、結(jié)論
在vSphere私有云平臺(tái)上,采用本文提出的節(jié)點(diǎn)組網(wǎng)方式構(gòu)建了OpenStack實(shí)驗(yàn)平臺(tái),在不開(kāi)啟混雜模式條件下,能夠?qū)崿F(xiàn)VM實(shí)例與外部網(wǎng)絡(luò)的通信,從而確保OpenStack實(shí)驗(yàn)順利進(jìn)行。該實(shí)驗(yàn)平臺(tái)的構(gòu)建,既能滿足大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)的需求,也滿足了更為復(fù)雜的OpenStack實(shí)驗(yàn)平臺(tái)需求,同時(shí)基于私有云的實(shí)驗(yàn)平臺(tái)建設(shè),滿足智慧校園建設(shè)要求,實(shí)現(xiàn)資源共享,提高基礎(chǔ)設(shè)施利用率,降低運(yùn)維成本。
參考文獻(xiàn)
[1]計(jì)世資訊.2018-2019年中國(guó)服務(wù)器虛擬化市場(chǎng)及技術(shù)發(fā)展趨勢(shì)研究報(bào)告.計(jì)世資訊,2019.6.
[2]賽迪研究院.《2020中國(guó)私有云系統(tǒng)平臺(tái)市場(chǎng)研究》.賽迪研究院,2020.8.20
[3]佚名.vCenter中嵌套OpenStack VM不能ping通外部網(wǎng)絡(luò)問(wèn)題解決的方法,https://www.cnblogs.com/claireyuancy/p/7083361.html,2017.6.27.
(三明學(xué)院信息工程學(xué)院?福建?三明?365004)