zoukankan      html  css  js  c++  java
  • openstack对接VMware浅析

    前言

    本文是对openstack对接vmware的浅析,所以本文重点是以下两点:

    • 先了解它的整体架构,搞清楚为什么要用这样的架构;
    • 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互

    整体架构

    先上图,了解下openstack结合VMware的整体架构。

    07af519c-4d8e-4fcf-bbdb-7cecf2b556ac

    工作原理和流程:

     

    虚机如何启动?

           前端BC-OP或者Horizon发送http请求给Rest api,Nova api 通过RPC Call(Rabbitmq)请求scheduler选择合适的nova-compute,到此为止,与Openstack正常的流程都是一样的,对于kvm来说,直接在compute node起虚机就可以了,因为本文重点是VMware所以流程就写的比较简单,对于对接了VMware那就要继续往下看。

           nova-scheduler可调度的nova-compute可能有多个,每个compute对应的是vcenter上的一个集群(Cluster)。

    nova-compute需在配置文件中指定的底层driver是VMware diriver,通过Vmware driver与管理ESX主机集群的Vcenter Apis交互,然后Vcenter会选择集群中合适的ESX主机,在内部使用vcenter DRS来起虚机。

           通过Openstack启动虚机,虚机在Vcenter上会呈现出来,并且可以支持VMware的高级功能,另外,在horizon或者OP页面也会呈现,能够像其他openstack的虚拟机一样管理,但是可能会受到部分VMware的限制(如ssh keys等)。

    镜像如何获取?

    和libvirt driver一样,VMware driver也会去和glance 交互,如图虚线从后端复制vmdk镜像到启动虚机的datastore中去,同时会缓存下来。

    云硬盘cinder如何管理?

    与起虚机原理一样,cinder后端指定为VMware,使用VMware的dirver去创建卷,cinder volume这个其实就是封装了一层, 最终都是调用vcenter的存储管理的功能。

    总结:

    1.对于终端用户OP或者Horizon其实完全感知不到kvm虚机和VMware虚机有和不同的,因为都是通过Openstack去管理底层的虚拟机,而前端都是去调用Openstack的Api。

    2.Openstack作为管理平台,只能管理到nova-compute一层,即知道在哪一个cluster,对于ESX层面以下,Openstack是管理不到的,都交给了Vcenter去管理。换个角度想,虚拟机在集群内的变动,对于openstack的管理是完全不会有影响的。

    名词解释

    Vcenter

    统一管理数据中心的所有主机(ESX)和虚拟机等资源。

    ESXI(ESX)主机

    和KVM主机类似,使用虚拟化软件ESX或ESXI运行虚拟机的计算机,为虚机提供cpu和内存资源,同时为虚拟机

    提供访问存储资源和网络连接的能力,ESX是收费的。

    vSphere

    VMware vSphere 是VMware 的一个虚拟化产品,是整体解决方案。

    Datastore

    共享数据存储,用于保存虚拟机文件和镜像文件等文件,挂载给所有的ESX主机使用。

    其他组件

    其他的都是openstack的组件不是本文重点就不再赘述。

    参考自Openstack官方文档:

    http://docs.openstack.org/kilo/config-reference/content/vmware.html

    遇到的VMware相关的问题:

    1.在测试过程中,glance 上传镜像慢并且超时。

    原因:是Vcenter版本5.1版本太低导致,升级Vcenter版本问题解决。

    2.创建的flavor CPU数量如果不是2的次方,虚机内核启动不正常。

    原因:VMware的虚机默认是开启numa架构(CPU访问各自的存储器),所以对虚拟cpu格式有限制。

    可以ESC进入虚拟机,关闭启用numa。

    3.虚拟机通过VCenter迁移后,Openstack无法管理虚拟机

    原因:正如上面架构,Openstack管理到nova-compute,至于Vcenter下面的操作感知不到,理论上是不会受影响的

  • 相关阅读:
    Django级联删除的选项
    Mysql远程连接配置
    Node.js中http-server的使用
    MySQL大小写问题
    将Mysql的一张表导出至Excel格式文件
    图像处理之直方图均衡化及C源码实现
    图像处理之双边滤波介绍与源码实现
    图像滤波之高斯滤波介绍
    图像处理之中值滤波介绍及C实现
    图像处理之均值滤波介绍及C算法实现
  • 原文地址:https://www.cnblogs.com/nongchaoer/p/6297405.html
Copyright © 2011-2022 走看看