OpenStack 4 歲多啦,每個新版本都能實現一些需求和解決一些問題。其中被企業用戶問的最多的一個問題是:同一個 OpenStack 集群能同時支持多種虛擬化技術麼(Mutil-Hypervisor)?
答案當然是 Yes!在說明如何配置 Mutil-Hypervisor 前,我們需要了解什麼是 Mutil-Hypervisor。
Mutil-Hypervirsor 簡介
對很多用戶來說,僅采用一種虛擬化技術難以滿足他們的需求,所以用戶可能會同時采用其它虛擬化技術。比如:1.用戶不想被某個虛擬化廠商綁定限 制;2. 某些虛擬化產品要求高額的 License,無疑加重了用戶的財政開銷;3.單個虛擬化產品的功能不滿足用戶所有的需求。隨著虛擬化技術越來越成熟,Mutil- Hypervisor 的需求場景變得越來越常見,但是往 OpenStack 集群增添其它虛擬化技術前,需要慎重全面的考慮它帶來的困難及更為復雜的架構。
Openstack 設計之初,重點支持的是 Qemu-Kvm 虛擬化平台。但是大量的企業已經采用了其它的虛擬化平台,比如:Xen,ESXI 等。並且企業不願意去更改已有的 IT 架構設施,因此 OpenStack 需要支持 Mutil-Hypervirsor。
OpenStack 支持哪些虛擬化平台
OpenStack nova-compute 支持多種虛擬化平台,如下所示:
關於更多 Hypervisor 詳情,請參見 http://wiki.openstack.org/HypervisorSupportMatrix
OpenStack 配置 Mutil-Hypervisor
我們以 VMware ESXI Hypervisor 為例,闡述如何配置 OpenStack 使之在采用 KVM Hypervisor 的場景下再支持 VMware ESXI Hypervisor。在配置 Mutil-Hypervisor 環境前,我們假定您已經部署了一套采用 KVM 的 OpenStack 集群(Havana及以後版本) 和 一套管理任意數量 ESXI 主機的 Vcenter 5.5 集群。OpenStack 支持 VMware vSphere 系列產品,並且能夠使用它的一些高級功能,比如:vMotion, 高可用,動態資源調度。下為 Mutil-Hypervisor 的架構圖:
從上圖可知:VMware vCentor 並不能被直接添加到 openstack 集群中,我們需要新增一個 compute-node 節點,通過 compute-node 節點管理 vCentor 節點。一個 nova-compute 只能管理一個 vCentor 集群,我們可以往單個 vCentor 添加任意數量的 ESXI host,如果你想管理兩個不同的 vCentor 集群,你需要兩個 nova-compute 節點,分別管理對於的 vCentor 集群。
注:
前提和局限
配置 Openstack Mutil-Hypervisor
1.計算節點(novavmware1)安裝 nova-compute
apt-get install nova-compute nova-compute-vmware python-suds
2.配置計算節點novavmware nova.conf文件
[DEFAULT] compute_driver=vmwareapi.VMwareVCDriver [libvirt] libvirt_type=vmwareapi [vmware] host_ip= host_username= host_password= cluster_name= datastore_regex= wsdl_location=file:///vmware-sdk/SDK/vsphere-ws/wsdl/vim25/vimService.wsdl #(optional)
3.完成 nova.conf 裡 vnc、AMQP 等配置項
4.計算節點novavmware1安裝 nova-network
apt-get install nova-network nova-api-metadata
5.制作 vmdk 鏡像,並上傳至 glance
$ qemu-img convert -f qcow2 /Downloads/ubuntu.img -O vmdk ubuntu.vmdk $ glance image-create –name ubuntu –is-public=True –container-format=bare –disk-format=vmdk –property vmware-disktype=”sparse” –property vmware-adaptertype=”lsiLogic” –property Hypervisor_type=”vmware” < ubuntu.vmdk至此,Openstack Mutil-Hypervisor 環境配件完畢,試試在 ESX node 創建第一個虛擬機