阮承妹


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