OpenStack集群支持多虚拟化技术的实现方法

简介:

OpenStack 每个新版本都能实现一些需求和解决一些问题。其中被企业用户问的最多的一个问题是:同一个 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 支持多种虚拟化平台,如下所示:

  • 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.

关于更多 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 集群。

注:

  1. 和像 KVM 等这些基于 Linux 内核的 Hypervisors 不同,vSphere 集成到 OpenStack 时需要一个 vCenter Server 管理 ESXI host,其管理的虚拟机运行在 ESXI host 上,而非 nova-compute 节点上。
  2. 虽然 OpenStack 集群可以支持多种虚拟化平台,但是每一个 nova-compute 节点之能够支持一种虚拟化平台,因此 Mutil-Hypervirsor 需要多个 nova-compute 节点。

前提和局限

  • DRS(Dynamic Resource scheduler ): 开启 DRS 功能,支持虚拟机自动调度。
  • Shared storage: vCentor 集群必须支持共享存储
  • Clusters and data stores: vCenter 下虚拟机的存储必须由 vCenter 管理的集群提供。
  • Networking: VMware 支持通过 nova-network 或者 neutron 管理 vCenterr 下的虚拟机网络。
  • Security groups. 若采用 nova-network,security groups 的特别将丢失;采用 neutron,可以保留该特性。
  • VNC. KVM 默认 5900 – 6000 端口用于虚拟机 vnc。ESX 则采用 5900-6105 端口。
  • SSH Keys: vCenter 不支持 SSH keys 注入虚拟机。

配置 Openstack Mutil-Hypervisor

1.计算节点(novavmware1)安装 nova-compute

 
  1. “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

 
  1. “apt-get install nova-network nova-api-metadata” 

5.制作 vmdk 镜像,并上传至 glance

 
  1. $ qemu-img convert -f qcow2 /Downloads/ubuntu.img -O vmdk ubuntu.vmdk 
  2.  
  3. $ 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 创建第一个虚拟机~


本文作者:佚名

来源:51CTO

相关文章
|
安全 IDE KVM
[ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)
KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序) 因为这也不是我的本职工作,只是这次恰巧碰到了,帮着解决了以下,我就没深究原理了,问我原理可能我也不知道,只是这个操作步骤吧,亲测有效。
510 0
[ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)
|
2月前
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
|
2月前
|
存储 API 数据库
云计算-虚拟化-OpenStack
在上一篇《云计算-共享&服务》介绍过:云计算的本质是一种IT资源通过虚拟化进行的共享,是一种更高维度的服务。本文介绍:云计算和虚拟化有哪些区别,以及基于OpenStack的云计算。
|
10月前
|
负载均衡 安全 虚拟化
另一种虚拟化平台-NSX DC如何实现Openstack网络与安全
最近这两个月,工作强度陡然提升。前不久为了归纳和总结NSX DC分别与HOST-VM容器和裸金属容器的最佳实践和“特殊部署”,已经起早贪黑了两个多礼拜。因此,公众号的更新频率有所下降。好在功夫不负有心人,届时我也会推出专门的篇幅来介绍云原生场景的技术实现。 在今天的分享中,我将继续上一篇的内容,向大家展示管理员通过Openstack Horizon或者命令行执行配置的时候,NSX DC后端究竟发生了什么变化。
另一种虚拟化平台-NSX DC如何实现Openstack网络与安全
|
10月前
|
存储 安全 SDN
另一种虚拟化平台:Openstack与NSX DC的结合
经过之前的两篇连载(一步步实现SDDC、变形金刚外传),我向各位演示了NSX DC两大产品(NSX-V、NSX-T)如何实现数据中心的网络与安全设施的。
另一种虚拟化平台:Openstack与NSX DC的结合
|
Kubernetes API Docker
如何用Ansible部署Kubernetes集群到OpenStack
最近的Austin OpenStack峰会上,参会者中对容器感兴趣的人数之多,让我印象深刻。几乎所有跟容器相关的会议现在都意识到了它的优点。通过将应用程序容器化,就能够将主机操作系统虚拟化。这也就意味着,你可以在主机操作系统中为每个容器创建隔离环境,比如文件系统,网络堆栈和进程空间,令容器之间互相可见。
2890 0
|
消息中间件 Kafka Apache
OpenStack 上搭建 Kafka 集群
Kafka 最近在 OpenStack 环境下需要部署消息队列集群,包括 RabbitMQ 和 Kafka,这篇记述一下 Kafka 集群的部署过程。
2537 0
|
消息中间件 监控 负载均衡
|
关系型数据库 MySQL 开发工具