OpenStack集群支持多虛擬化技術(shù)的實現(xiàn)方法
OpenStack 每個新版本都能實現(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è)計之初,重點支持的是 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é)點,通過 compute-node 節(jié)點管理 vCentor 節(jié)點。一個 nova-compute 只能管理一個 vCentor 集群,我們可以往單個 vCentor 添加任意數(shù)量的 ESXI host,如果你想管理兩個不同的 vCentor 集群,你需要兩個 nova-compute 節(jié)點,分別管理對于的 vCentor 集群。
注:
- 和像 KVM 等這些基于 Linux 內(nèi)核的 Hypervisors 不同,vSphere 集成到 OpenStack 時需要一個 vCenter Server 管理 ESXI host,其管理的虛擬機(jī)運行在 ESXI host 上,而非 nova-compute 節(jié)點上。
- 雖然 OpenStack 集群可以支持多種虛擬化平臺,但是每一個 nova-compute 節(jié)點之能夠支持一種虛擬化平臺,因此 Mutil-Hypervirsor 需要多個 nova-compute 節(jié)點。
#p#
前提和局限
- 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é)點(novavmware1)安裝 nova-compute
- “apt-get install nova-compute nova-compute-vmware python-suds”
2.配置計算節(jié)點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.計算節(jié)點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ī)~
原文鏈接:http://blog.csdn.net/wsfdl/article/details/42840709