openstack对接VMware浅析

前言

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

  • 先了解它的整体架构,搞清楚为什么要用这样的架构;

  • 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互

整体架构

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

工作原理和流程:


虚机如何启动?

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

时间: 2024-11-09 05:45:09

openstack对接VMware浅析的相关文章

openstack与VMware workStation的区别

免责声明:     本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除 最近一直在研究云计算,恰好有个同事问了我一个问题:你们研究的openstack到底是什么东西?跟VMware Workstation到底有什么区别? 忽然之间觉得这个问题问题的太好了,现在关于云计算的概念太多了,很多概念都没有很严谨的解释,因此根据个人的理解做一个简单的总结.   首先:"虚拟化"其实有很多分类,比如虚拟化技术,虚拟机软件,IaaS层虚拟化解决方案.甚至java虚拟机之类的东西也可以划到虚

Openstack 干掉 VMWare(2)

上一篇文章"Openstack 干掉 VMWare(1)"总体说了一下使用开源版本openstack与vmware的一些比较,注意我说的是开源版本的openstack,至于各个商业版本的openstack,比如华为的FunsionCloud,什么青云QingCloud不在我的讨论范围,他们也没有付给我工资替他们做广告,哈哈,得出的初步结论就是通过openstack开源社区的努力,现在开源版的openstack已经具备了实际落地各中小企业,干掉vmware的条件,让广大人民群众用上自己的

Openstack对接两套Ceph

环境说明openpstack-Pike对接cephRBD单集群,配置简单,可参考openstack官网或者ceph官网:1.Openstack官网参考配置:https://docs.openstack.org/cinder/train/configuration/block-storage/drivers/ceph-rbd-volume-driver.html2.Ceph官网参考配置:https://docs.ceph.com/docs/master/install/install-ceph-d

openstack对接vcenter虚拟机管理器命名来源

对于与vcenter对接的nova-compute来说器,对应的有虚拟机管理程序,在openstack体系中叫hypervisor,以目前环境中名字为例: 主机名字 类型 虚拟内核(已使用) 虚拟内核(总计) 内存(已使用) 内存(总计) 本地存储(已使用) 本地存储(总共) 实例 domain-c7(cluster01) VMware vCenter Server 4 4 2.1GB 2.6GB 7GB 99GB 4 cluster01为nova-compute对应集群的名字,在nova.co

openstack在vmware虚机环境(exsi或者workstation)中实例挂死

在vmware虚机环境中安装了openstack平台,创建实例cirros和centos,openstack并未报错,但是在novnc里查看cirros实例卡在grub无法进入系统,centos实例卡在install centos7之后的界面,并且报内核错误. 后来发现comtute节点的nova.conf中的virt_type=kvm,后改为virt_type=qemu后正常

Openstack对接Ceph时的错误

本次 Openstack 版本为N版ceph版本为J版在对接volume和glance时非常轻松不过在对接nova的时候坑了一下午. ERROR nova.compute.manager [instance: b6b53548-2d12-4019-a189-1d006455dfa3] 2017-08-07T14:09:55.209454Z qemu-system-x86_64: -drive file=rbd:vms/b6b53548-2d12-4019-a189-1d006455dfa3_di

Openstack 干掉 VMWare(1)

在中小型虚拟化应用场景中,VMware占有很大的市场份额,大家对其也是非常认可,但是根据行内最新消息,现在国内openstack商业化产品华为的Funsioncloud出货量已经超过了vmware,如果加上其他的openstack商业化产品,那么至少说,在中国的私有云或者服务器虚拟化市场,openstack产品已经超过了vmware,存量上面可能vmware还占一定优势,但是增量方面,openstack系产品已经显示出优势,可以预见,今后openstack系产品使用量超越vmware是必然的.

openstack对接华为存储

在某个poc实施时要对接华为2200v3存储1.查看平台是否有驱动如果想要最新的驱动可以手动下载 https://github.com/openstack/cinder/tree/master/cinder/volume/drivers2.查看 openstack是否支持这款型号的存储 3.存储工程师划好存储池(切记:主机组,lun组,主机都不要设置)对接完成后cinder会自己配置我们可以看一下存储完成后的一些映射关系a.主机b.主机组c.映射关系 d.存储池(这个我们在配置的时候会用到) 在

openstack对接vcenter问题集合

1.启动openstack-nova-compute时提示找不到vmwareapi模块 [问题现象] 2015-01-07 12:17:43.445 5861 INFO nova.virt.driver [-] Loading compute driver 'vmwareapi.VMwareVCDriver' 2015-01-07 12:17:43.449 5861 ERROR nova.virt.driver [-] Unable to load the virtualization driv