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下面的操作感知不到,理论上是不会受影响的

  • 相关阅读:
    jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
    linux 查看服务器cpu 与内存配置
    arthas 使用总结
    selinux contexts 安全上下文的临时更改
    Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
    Window 任意窗口置顶软件Window TopMost Control
    Android ApkToolPlus一个可视化的跨平台 apk 分析工具
    SVN Please execute the 'Cleanup' command.
    Android 如何在64位安卓系统中使用32位SO库
    Android cmd命令查看apk是32位还是64位?
  • 原文地址:https://www.cnblogs.com/nongchaoer/p/6297405.html
Copyright © 2011-2022 走看看