OpenStack 每個新版本都能實(shí)現(xiàn)一些需求和解決一些問題。其中被企業(yè)用戶問的最多的一個問題是:同一個 OpenStack 集群能同時支持多種虛擬化技術(shù)么(Mutil-Hypervisor)?
答案當(dāng)然是 Yes!在說明如何配置 Mutil-Hypervisor 前,我們需要了解什么是 Mutil-Hypervisor。
Mutil-Hypervirsor 簡介
對很多用戶來說,僅采用一種虛擬化技術(shù)難以滿足他們的需求,所以用戶可能會同時采用其它虛擬化技術(shù)。比如:1.用戶不想被某個虛擬化廠商綁定限 制;2. 某些虛擬化產(chǎn)品要求高額的 License,無疑加重了用戶的財政開銷;3.單個虛擬化產(chǎn)品的功能不滿足用戶所有的需求。隨著虛擬化技術(shù)越來越成熟,Mutil- Hypervisor 的需求場景變得越來越常見,但是往 OpenStack 集群增添其它虛擬化技術(shù)前,需要慎重全面的考慮它帶來的困難及更為復(fù)雜的架構(gòu)。
Openstack 設(shè)計之初,重點(diǎn)支持的是 Qemu-Kvm 虛擬化平臺。但是大量的企業(yè)已經(jīng)采用了其它的虛擬化平臺,比如:Xen,ESXI 等。并且企業(yè)不愿意去更改已有的 IT 架構(gòu)設(shè)施,因此 OpenStack 需要支持 Mutil-Hypervirsor。
OpenStack 支持哪些虛擬化平臺
OpenStack nova-compute 支持多種虛擬化平臺,如下所示:
KVM-Qemu – Kernel-based Virtual Machine. The virtual disk formats that it supports is inherited from QEMU since it uses a modified QEMU program to launch the virtual machine. The supported formats include raw images, the qcow2, and VMware formats.
LXC– Linux Containers (through libvirt), use to run Linux-based virtual machines.
QEMU– Quick EMUlator, generally only use for development purposes.
UML– User Mode Linux, generally only use for development purposes.
VMware vSphere 4.1 update 1 and newer, runs VMware-based Linux and Windows images through a connection with a vCenter server or directly with an ESXi host.
Xen– XenServer, Xen Cloud Platform (XCP), used to run Linux or Windows virtual machines. You must install the nova-compute service in a para-virtualized VM.
Hyper-V – Server virtualization with Microsoft’s Hyper-V, use to run Windows, Linux, and FreeBSD virtual machines. Runs nova-compute natively on the Windows virtualization platform.
Ironic– Not a Hypervisor in the traditional sense, this driver provisions physical hardware through pluggable sub-drivers (for example, PXE for image deployment, and IPMI for power management).
Docker- use to manage container.
關(guān)于更多 Hypervisor 詳情,請參見 http://wiki.openstack.org/HypervisorSupportMatrix
OpenStack 配置 Mutil-Hypervisor
我們以 VMware ESXI Hypervisor 為例,闡述如何配置 OpenStack 使之在采用 KVM Hypervisor 的場景下再支持 VMware ESXI Hypervisor。在配置 Mutil-Hypervisor 環(huán)境前,我們假定您已經(jīng)部署了一套采用 KVM 的 OpenStack 集群(Havana及以后版本) 和 一套管理任意數(shù)量 ESXI 主機(jī)的 Vcenter 5.5 集群。OpenStack 支持 VMware vSphere 系列產(chǎn)品,并且能夠使用它的一些高級功能,比如:vMotion, 高可用,動態(tài)資源調(diào)度。下為 Mutil-Hypervisor 的架構(gòu)圖:
從上圖可知:VMware vCentor 并不能被直接添加到 openstack 集群中,我們需要新增一個 compute-node 節(jié)點(diǎn),通過 compute-node 節(jié)點(diǎn)管理 vCentor 節(jié)點(diǎn)。一個 nova-compute 只能管理一個 vCentor 集群,我們可以往單個 vCentor 添加任意數(shù)量的 ESXI host,如果你想管理兩個不同的 vCentor 集群,你需要兩個 nova-compute 節(jié)點(diǎn),分別管理對于的 vCentor 集群。
注:
和像 KVM 等這些基于 Linux 內(nèi)核的 Hypervisors 不同,vSphere 集成到 OpenStack 時需要一個 vCenter Server 管理 ESXI host,其管理的虛擬機(jī)運(yùn)行在 ESXI host 上,而非 nova-compute 節(jié)點(diǎn)上。
雖然 OpenStack 集群可以支持多種虛擬化平臺,但是每一個 nova-compute 節(jié)點(diǎn)之能夠支持一種虛擬化平臺,因此 Mutil-Hypervirsor 需要多個 nova-compute 節(jié)點(diǎn)。
前提和局限
DRS(Dynamic Resource scheduler ): 開啟 DRS 功能,支持虛擬機(jī)自動調(diào)度。
Shared storage: vCentor 集群必須支持共享存儲
Clusters and data stores: vCenter 下虛擬機(jī)的存儲必須由 vCenter 管理的集群提供。
Networking: VMware 支持通過 nova-network 或者 neutron 管理 vCenterr 下的虛擬機(jī)網(wǎng)絡(luò)。
Security groups. 若采用 nova-network,security groups 的特別將丟失;采用 neutron,可以保留該特性。
VNC. KVM 默認(rèn) 5900 – 6000 端口用于虛擬機(jī) vnc。ESX 則采用 5900-6105 端口。
SSH Keys: vCenter 不支持 SSH keys 注入虛擬機(jī)。
配置 Openstack Mutil-Hypervisor
1.計算節(jié)點(diǎn)(novavmware1)安裝 nova-compute
“apt-get install nova-compute nova-compute-vmware python-suds”
2.配置計算節(jié)點(diǎn)novavmware nova.conf文件
wsdl_location=file:///vmware-sdk/SDK/vsphere-ws/wsdl/vim25/vimService.wsdl #(optional)
3.完成 nova.conf 里 vnc、AMQP 等配置項(xiàng)
4.計算節(jié)點(diǎn)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 環(huán)境配件完畢,試試在 ESX node 創(chuàng)建第一個虛擬機(jī)~