水乳交融:论VMware与OpenStack的整合—1

本文是原创,首发于微信公众号『 Moehoo猛虎

水乳交融:论VMware与OpenStack的整合—1_第1张图片

       在企业虚拟化领域,VMware是事实上的先行者,长期以来,处于拥有绝对优势的领导者地位。

       当OpenStack这位具有强劲实力的后来者出现以后,VMware最初是采取敌对的竞争态度,然而,随着OpenStack的迅猛发展,整合 — 成为其毫无悬念的最终选择。

水乳交融:论VMware与OpenStack的整合—1_第2张图片

       在收购以网络虚拟化为核心业务的Nicira公司后,VMware开始逐步向OpenStack社区提供各类插件(PlugIn),籍于此,在OpenStack环境中,可以集成VMware的系列产品。此后,在插件技术发展了几年之后,VIO 1.0的发布又使得这两类技术的整合达到了一个前所未有的程度。

水乳交融:论VMware与OpenStack的整合—1_第3张图片

       从这篇文章开始,『猛虎』将对VMware的计算驱动、镜像驱动、块存储驱动和网络驱动的实现原理逐一进行简要讨论,以此,对VMware与OpenStack的整合原理作一个概貌性的展开分析。


整合历程

       以下,简要回顾两者融合的大体历程:

  • 2012年7月,VMware宣布收购网络虚拟化公司Nicira,Nicira当时主导着3个SDN项目:OpenFlow、Open vSwitch和Quantum,随后,VMware将Quantum项目演化为OpenStack的网络组件项目Neutron
  • 2012年8月,VMware宣布已经正式提交加入OpenStack社区的申请
  • 2012年9月,OpenStack的Folsom版本发布,Neutron项目启动,VMware发布了第一个用于与VMware融合的OpenStack插件:VMware Neutron NSX Driver
  • 2013年4月,OpenStack的Grizzly版本发布,含有的插件为:(1) VMware Neutron NSX Driver;(2) VMware Nova vCenter  Driver(新发布)
  • 2013年10月,OpenStack的Havana版本发布,含有:(1) VMware NeutronNSX Driver;(2) VMware Nova vCenter  Driver;(3) VMware Cinder VMDK Driver(新发布)
  • 2014年4月,OpenStack的Icehouse版本发布,含有:(1) VMware Neutron NSX Driver;(2) VMware Nova vCenter  Driver;(3) VMware Cinder VMDK Driver;(4) VMware Glance VMDK Driver(新发布)
  • 2015年3月,VMware 发布VIO(VMware Integrated OpenStack)v1.0
  • 2015年8月,VMware发布VIO v2.0
  • 2016年6月,VMware发布VIO v2.5
  • 2017年2月,VMware发布VIO v3.1


计算驱动

一、技术实现原理

       VMware提供的计算驱动名为:VMware Nova vCenter Driver,其技术实现原理如下图所示:

水乳交融:论VMware与OpenStack的整合—1_第4张图片

       以下,对技术实现原理图进行简要说明:

(1)Nova-Compute中含有VMware vCenter Driver(vmwareapi.VMwareVCDriver),可以与管理着ESXi Cluster的vCenter Server通讯,以此管理ESXi Cluster中的计算资源。

(2)在OpenStack的Grizzly版本中,一个Driver只支持单个ESXi Cluster。从Havana版本开始,一个Driver能够支持管理多个ESXi Cluster;

       注:Nova-Compute服务的实例可以在多个独立虚拟机上运行,也可以作为同一虚拟机上的不同进程去运行;

(3)对由vCenter Server管理的一个个ESXi Cluster,VMware vCenter Driver会将之向Nova-Scheduler呈现为一个个单独的“主机”实体 (即:Nova-Scheduler会将一个ESXi Cluster看作是一个OpenStack的Compute Node),“主机”实体的资源由ESXi Cluster之内的ESXi物理主机节点共同组成;

(4)Nova-Scheduler会首先选择一个最为合适的ESXi Cluster ,然后,VMware vCenter Driver与vCenter Server APIs进行交互,接着,由vCenter的DRS(Distributed Resource Scheduling)在这个ESXi Cluster中选择合适的ESXi物理主机, 并在其上创建和终止虚拟机实例;

(5) 每个ESXi cluster都需要有一个datastore来进行配置和使用。


二、具体实施和配置方法

       通过对Compute Node的Nova配置文件nova.conf进行配置,启用Nova vCenter Driver,将OpenStack Compute Node与vCenter相连,并且指向特定的ESXi cluster,具体的配置方法如下:

水乳交融:论VMware与OpenStack的整合—1_第5张图片

       对上图中的相关配置段解释如下:

① 指定使用的VMwareVCDriver为:

vmwareapi.VMwareVCDriver;

② 指定VMware vCenter server的IP地址、连接用户名和相应的口令;

③ vCenter driver可以支持多个ESXi cluster,只需要在nova.conf文件中增加多个cluster_name设置行,并配之以恰当的ESXi cluster名称。在此处,需要特别指出的是:在被vCenter driver使用的ESXi clusterdatastore中,除了用vCenter driver自身建立的虚拟机以外,不应含有有其他类型的虚拟机(比如,用vCenter建立的虚拟机)。


       按照以上所述的实施和配置方法,在OpenStack将虚拟机部署到ESXi Cluster后,虚拟机在vCenter中是可见的,可以使用vSphere的高级特性(如:vMotion实施迁移、高可用性和DRS),于此同时,这些虚拟机在OpenStack的Dashboard也是可见的,对其进行管控时的操作体验,与执行对其他OpenStack虚拟机时是一样的。

(未完待续)


《VMware与OpenStack的环境整合》系列文章将于近期陆续推出。

水乳交融:论VMware与OpenStack的整合—1_第6张图片


你可能感兴趣的:(云计算技术)