openstack mutil-hypervisor

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 支持多种虚拟化平台,如下所示:

  • 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 节点。

Prerequisites and limitations

  1. DRS(Dynamic Resource scheduler ): 开启 DRS 功能,支持虚拟机自动调度。
  2. Shared storage: vCentor 集群必须支持共享存储
  3. Clusters and data stores: vCenter 下虚拟机的存储必须由 vCenter 管理的集群提供。
  4. Networking:  VMware 支持通过 nova-network 或者 neutron 管理 vCenterr 下的虚拟机网络。以 nova-network 为例:
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 nova.conf file. The default value is br100. If you
specify another value, the new value must be a valid linux bridge identifier that adheres to linux bridge naming conventions. All VM NICs are attached to this port group. Ensure that the flat interface of the node that runs the nova-network service has a path
to this network. When configuring the port binding for this 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.
  1. Security groups. 若采用 nova-network,security groups 的特别将丢失;采用 neutron,可以保留该特性。
  2. VNC. KVM 默认 5900 – 6000 端口用于虚拟机 vnc。ESX 则采用 5900-6105 端口。
  3. SSH Keys: vCenter 不支持 SSH keys 注入虚拟机。

配置 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 创建第一个虚拟机~

原文:Deploying Openstack with Multi-Hypervisor
EnvironmentDeploying Openstack with Multi-Hypervisor Enviroment

时间: 01-18

openstack mutil-hypervisor的相关文章

【N版】openstack——走进云计算(一)

[N版]openstack--走进云计算 一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互. 1.1云计算的特点和优势 1)云计算是一种使用模式 2)云计算必须通过网络访问 3)弹性计算,按需付费 1.2在云计算之前的模式或技术 1)IDC托管 2)IDC租用 3)虚拟主机(卖空间的) 4)VPS:虚拟专用

【转】《从入门到精通云服务器》第六讲—OpenStack基础

前五期的<从入门到精通云服务器>受到了广泛好评,收到留言,有很多读者对云计算相关的技术非常感兴趣.应观众要求,我们这期要安利一条纯技术内容.准备好瓜子.花生,随小编一起进入OpenStack 基础知识大讲堂吧. 了解OpenStack OpenStack 是最火的开源软件之一,活跃度呈指数级别上升:它是一组开源项目,诞生之初是由两个项目组成,目前十几个项目:它是一个云操作系统,OpenStack is a cloud operating system that … OpenStack 管理的资

OPENSTACK学习笔记(1)

从CloudMan那里学的,自己做的笔记,就成为自己的了. 呵呵! 虚拟化基础知识 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest). 那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?这个主要是通过一个叫做 Hypervisor 的程序实现的. 根据 Hypervisor

虚拟机在 OpenStack 里没有共享存储条件下的在线迁移[转]

原文链接:http://www.ibm.com/developerworks/cn/cloud/library/1508_wangyx_openstacklivemigrate/ 迁移(Migration)就是把一个虚拟机从一台物理主机搬到另一台物理主机,动态(Live)就是在迁移过程中虚拟机正常工作不影响用户的使用.对系统管理员来说,动态迁移是个非常有用的工具,当计划对一个物理主机进行更新或者升级(update/upgrade)的时候,管理员不需要关闭这个物理主机上的虚拟机,只是在更新或者升级

OpenStack 常用命令

常用操作:常用的查询命令#keystone user-list 查询用户信息#keystone role-list 查询角色信息#keystone tenant-list 查询租户信息#glance index   查询当前存在的镜像信息#nova image-list    查看当前存在的镜像状态#nova secgroup-list 查看当前存在的安全组#nova keypair-list  查看当前存在的密钥#nova flavor-list   查看当前可以创建的实例类型#nova li

Nova 是如何统计 OpenStack 计算资源

引言 运维的同事常常遇到这么四个问题: Nova 是如何统计 OpenStack 计算资源的? 为什么 free_ram_mb, free_disk_gb 会是负数? 即使 free_ram_mb, free_disk_gb 为负数,为什么虚拟机依旧能创建成功? 因资源不足采用随机调度的方式会导致创建虚拟机失败,而指定 host 却能创建成功? 本文将从以上四个问题入手,结合 Kilo 版本 Nova 源码,在默认 Hypervisor 为 Qemu-kvm 的前提下(不同 Hypervisor

别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)

二.nova-api 步骤3:nova-api接收请求 nova-api接收请求,也不是随便怎么来都接收的,而是需要设定rate limits,默认的实现是在ratelimit的middleware里面实现的. 然而有时候,我们希望实现distributed rate-limiting,从而Turnstile是一个不错的选择. https://github.com/klmitch/turnstilehttp://pypi.python.org/pypi/turnstile 步骤4:对Token的

Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化

 今天在开源中国社区看到有如下一个问题: 已经成功把ceph作为cinder和 glance的后端,但是如果作为nova的后端,虚拟机启动速度非常慢,网上查了一下是因为openstack创建虚拟机的时候通过ceph取镜像创建虚拟机再把虚拟机存回ceph的步骤浪费了很多时间,是否有办法不把镜像取到本地,而是直接在ceph的存储池里完成虚拟机的创建呢? 实际上,我当前也是把ceph作为nova,cinder,glance三者的后端,创建虚拟机速度非常慢.查了一下相关和资料,是有新的处理方式,当前

Request Flow for Provisioning Instance in Openstack

One of the most important use-case in any cloud is provisioning a VM . In this article we shall do a walk through about an instance(VM) being provisioned in a Openstack based cloud. This article deals with the request flow and the component interacti

OpenStack pike版 安装openstack服务(4) 续安装openstack服务(3) &nbsp; &nbsp;

Compute service overview 计算服务概述 OpenStack用于对主机的计算和管理云计算系统.OpenStack的计算是一个基础设施即服务(IaaS)系统的一个重要组成部分.主要模块是用python实现的. OpenStack计算与OpenStack身份验证交互用来完成认证:OpenStack镜像服务用于磁盘和服务器镜像:用户和管理接口为OpenStack Dashboard.镜像访问受到项目和用户的限制,每个项目的配额是有限的(例如,实例的数量).OpenStack计算可