OpenStack is more than 4 years old, and each new version can meet some requirements and solve some problems. One of the biggest questions asked by enterprise users is: Can the same OpenStack cluster support multiple virtualization technologies at the same time (mutil-hypervisor)? the answer is, of course, yes!. Before we explain how to configure mutil-hypervisor, we need to understand what mutil-hypervisor is.
Mutil-hypervirsor Introduction
for many users, the use of only one virtualization technology is difficult to meet their needs, so users may also adopt other virtualization technology. For example: 1. Users do not want to be bound by a virtualization vendor; 2. Some virtualization products require high License, which undoubtedly increases the user's financial cost; 3. The functionality of a single virtualized product does not meet the needs of all users. As virtualization becomes more and more sophisticated, mutil-hypervisor demand scenarios are becoming more common, but before adding other virtualization technologies to the OpenStack cluster, it is necessary to consider carefully and comprehensively the difficulties and more complex architectures that it presents. at the beginning of Openstack design, the QEMU-KVM virtualization platform was the focus of support. However, a large number of enterprises have adopted other virtualization platforms, such as: Xen,esxi. And companies are reluctant to change existing IT infrastructure facilities, so OpenStack needs to support Mutil-hypervirsor.
What virtualization platforms are supported by OpenStack
OpenStack Nova-compute supports a variety of virtualization platforms, as follows:
- kvm-qemu–kernel-based Virtual Machine. The virtual disk formats that it supports are inherited from QEMU since it uses a modified QEMU program to launch the Virtu Al 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 serv Er 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-image deployment, and IPMI for power management).
- Docker-use to manage container.
For more hypervisor details, see Http://wiki.openstack.org/HypervisorSupportMatrix
OpenStack Configuration Mutil-hypervisor
We use VMware ESXi hypervisor as an example to illustrate how to configure OpenStack to support VMware ESXi hypervisor in a scenario with KVM hypervisor. Before configuring the Mutil-hypervisor environment, we assume that you have deployed an OpenStack cluster with KVM (Havana and later) and a set of Vcenter 5.5 clusters that manage any number of ESXI hosts. OpenStack supports the VMware VSphere family of products and is able to use some of its advanced features, such as: vMotion, high availability, dynamic resource scheduling. Below is the architecture diagram for Mutil-hypervisor:
since VMware Vcentor cannot be added directly to the OpenStack cluster, we need to add a new Compute-node node to manage the Vcentor node through the Compute-node node. a nova-compute can only manage one vcentor cluster,we can add any number of ESXI hosts to a single vcentor, and if you want to manage two different vcentor clusters, you need two nova-compute nodes, respectively, to manage the Vcentor cluster for each one.
Note:1. Unlike these Linux kernel-based hypervisors like KVM, VSphere integration into OpenStack requires a vCenter Server management ESXi Host, which manages virtual machines running on ESXi host , not on the Nova-compute node.
2. Although OpenStack clusters can support multiple virtualized platforms, each Nova-compute node can support a virtualized platform, so mutil-hypervirsor requires multiple nova-compute nodes.
Prerequisites and Limitations
- DRS (Dynamic Resource Scheduler): Enables the DRS feature to support automatic VM scheduling.
- gkfx Storage: Vcentor cluster must support shared storage
- Clusters and data stores: The storage of virtual machines under vcenter must be provided by a cluster managed by vcenter.
- Networking: VMware supports nova-network or neutron management of virtual machine networks under Vcenterr. Take Nova-network as an example:
-
The nova-network service with The Flatmanager or Flatdhcpmanager : Create a port group with the same name as the Flat_network_bridge value in the N ova.conf file. The default value is br100. If you specify another value, the new value must is a valid Linux bridge identifier that adheres to Linux bridge naming co Nventions. All VMs NICs is attached to the this port group. Ensure the flat interface of the node that runs the Nova-network service have a path to this network. When configuring the port is binding for the port group in VCenter, specify ephemeral for the port binding type. For more information, see choosing a port binding type in Esx/esxi in the VMware knowledge Base. |
- Security groups. If the use of nova-network,security groups is particularly lost, the neutron can be used to preserve this feature.
- VNC. The KVM default 5900–6000 port is used for virtual machine VNC. ESX uses 5900-6105 ports.
- ssh keys: vCenter does not support SSH keys to inject virtual machines.
Configure OpenStack Mutil-hypervisor
- Compute node (novavmware1) Installation Nova-compute
"Apt-get Install Nova-compute nova-compute-vmware python-suds"
- Configuring COMPUTE nodes Novavmware nova.conf file
[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)
- Complete configuration items such as VNC, AMQP, etc. in nova.conf
- COMPUTE Node Novavmware1 installation nova-network
"Apt-get install nova-network nova-api-metadata"
- Make a vmdk image and upload it to 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
at this point, OpenStack mutil-hypervisor environment accessories are complete,Try theESX node creates the first virtual machine ~
Original: Deploying OpenStack with Multi-hypervisor environmentdeploying OpenStack with multi-hypervisor enviroment
OpenStack Mutil-hypervisor