openstack對接VMware淺析


前言

本文是對openstack對接vmware的淺析,所以本文重點是以下兩點:

  • 先了解它的整體架構,搞清楚為什么要用這樣的架構;
  • 然后再了解架構中的各個組件,組件提供的主要功能與各個組件之間的交互

整體架構

先上圖,了解下openstack結合VMware的整體架構。

07af519c-4d8e-4fcf-bbdb-7cecf2b556ac

工作原理和流程:

 

虛機如何啟動?

       前端BC-OP或者Horizon發送http請求給Rest api,Nova api 通過RPC Call(Rabbitmq)請求scheduler選擇合適的nova-compute,到此為止,與Openstack正常的流程都是一樣的,對於kvm來說,直接在compute node起虛機就可以了,因為本文重點是VMware所以流程就寫的比較簡單,對於對接了VMware那就要繼續往下看。

       nova-scheduler可調度的nova-compute可能有多個,每個compute對應的是vcenter上的一個集群(Cluster)。

nova-compute需在配置文件中指定的底層driver是VMware diriver,通過Vmware driver與管理ESX主機集群的Vcenter Apis交互,然后Vcenter會選擇集群中合適的ESX主機,在內部使用vcenter DRS來起虛機。

       通過Openstack啟動虛機,虛機在Vcenter上會呈現出來,並且可以支持VMware的高級功能,另外,在horizon或者OP頁面也會呈現,能夠像其他openstack的虛擬機一樣管理,但是可能會受到部分VMware的限制(如ssh keys等)。

鏡像如何獲取?

和libvirt driver一樣,VMware driver也會去和glance 交互,如圖虛線從后端復制vmdk鏡像到啟動虛機的datastore中去,同時會緩存下來。

雲硬盤cinder如何管理?

與起虛機原理一樣,cinder后端指定為VMware,使用VMware的dirver去創建卷,cinder volume這個其實就是封裝了一層, 最終都是調用vcenter的存儲管理的功能。

總結:

1.對於終端用戶OP或者Horizon其實完全感知不到kvm虛機和VMware虛機有和不同的,因為都是通過Openstack去管理底層的虛擬機,而前端都是去調用Openstack的Api。

2.Openstack作為管理平台,只能管理到nova-compute一層,即知道在哪一個cluster,對於ESX層面以下,Openstack是管理不到的,都交給了Vcenter去管理。換個角度想,虛擬機在集群內的變動,對於openstack的管理是完全不會有影響的。

名詞解釋

Vcenter

統一管理數據中心的所有主機(ESX)和虛擬機等資源。

ESXI(ESX)主機

和KVM主機類似,使用虛擬化軟件ESX或ESXI運行虛擬機的計算機,為虛機提供cpu和內存資源,同時為虛擬機

提供訪問存儲資源和網絡連接的能力,ESX是收費的。

vSphere

VMware vSphere 是VMware 的一個虛擬化產品,是整體解決方案。

Datastore

共享數據存儲,用於保存虛擬機文件和鏡像文件等文件,掛載給所有的ESX主機使用。

其他組件

其他的都是openstack的組件不是本文重點就不再贅述。

參考自Openstack官方文檔:

http://docs.openstack.org/kilo/config-reference/content/vmware.html

遇到的VMware相關的問題:

1.在測試過程中,glance 上傳鏡像慢並且超時。

原因:是Vcenter版本5.1版本太低導致,升級Vcenter版本問題解決。

2.創建的flavor CPU數量如果不是2的次方,虛機內核啟動不正常。

原因:VMware的虛機默認是開啟numa架構(CPU訪問各自的存儲器),所以對虛擬cpu格式有限制。

可以ESC進入虛擬機,關閉啟用numa。

3.虛擬機通過VCenter遷移后,Openstack無法管理虛擬機

原因:正如上面架構,Openstack管理到nova-compute,至於Vcenter下面的操作感知不到,理論上是不會受影響的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM