本文讨论商业虚拟化软件与开源软件OpenStack的整合,是一篇纯粹的技术讨论文章。
在企业虚拟化领域,商业虚拟化软件是事实上的先行者,长期以来,处于拥有绝对优势的***地位。
当OpenStack这位具有强劲实力的后来者出现以后,商业虚拟化软件产商最初是采取敌对的竞争态度,然而,随着OpenStack的迅猛发展,整合 — 成为其毫无悬念的最终选择。
在收购以网络虚拟化为核心业务的公司后,开始逐步向OpenStack社区提供各类插件(PlugIn),籍于此,在OpenStack环境中,可以集成商业虚拟化软件。此后,在插件技术发展了几年之后,VIO 1.0的发布又使得这两类技术的整合达到了一个***的程度。
文章将对商业虚拟化软件的计算驱动、镜像驱动、块存储驱动和网络驱动的实现原理逐一进行简要讨论,以此,对商业虚拟化软件与OpenStack的整合原理作一个概貌性的展开分析。
整合历程
以下,简要回顾两者融合的大体历程:
2012年7月,商业虚拟化软件产商将Quantum项目演化为OpenStack的网络组件项目Neutron
2012年8月,商业虚拟化软件产商宣布已经正式提交加入OpenStack社区的申请
2012年9月,OpenStack的Folsom版本发布,Neutron项目启动,商业虚拟化软件产商发布了***个用于融合的OpenStack插件:Neutron NSX Driver
2013年4月,OpenStack的Grizzly版本发布,含有的插件为:(1) Neutron NSX Driver;(2) Nova vCenter Driver(新发布)
2013年10月,OpenStack的Havana版本发布,含有:(1) NeutronNSX Driver;(2) Nova vCenter Driver;(3) Cinder VMDK Driver(新发布)
2014年4月,OpenStack的Icehouse版本发布,含有:(1) Neutron NSX Driver;(2) Nova vCenter Driver;(3) Cinder VMDK Driver;(4) Glance VMDK Driver(新发布)
2015年3月,发布VIO v1.0
2015年8月,发布VIO v2.0
2016年6月,发布VIO v2.5
2017年2月,发布VIO v3.1
计算驱动
一、技术实现原理
所提供的计算驱动名为:Nova vCenter Driver,其技术实现原理如下图所示:
以下,对技术实现原理图进行简要说明:
(1)Nova-Compute中含有 vCenter Driver,可以与管理着ESXi Cluster的vCenter Server通讯,以此管理ESXi Cluster中的计算资源。
(2)在OpenStack的Grizzly版本中,一个Driver只支持单个ESXi Cluster。从Havana版本开始,一个Driver能够支持管理多个ESXi Cluster。
注:Nova-Compute服务的实例可以在多个独立虚拟机上运行,也可以作为同一虚拟机上的不同进程去运行。
(3)对由vCenter Server管理的一个个ESXi Cluster,vCenter Driver会将之向Nova-Scheduler呈现为一个个单独的“主机”实体 (即:Nova-Scheduler会将一个ESXi Cluster看作是一个OpenStack的Compute Node),“主机”实体的资源由ESXi Cluster之内的ESXi物理主机节点共同组成。
(4)Nova-Scheduler会首先选择一个最为合适的ESXi Cluster ,然后,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,具体的配置方法如下:
对上图中的相关配置段解释如下:
① 指定使用的VCDriver
② 指定vCenter server的IP地址、连接用户名和相应的口令。
③ vCenter driver可以支持多个ESXi cluster,只需要在nova.conf文件中增加多个cluster_name设置行,并配之以恰当的ESXi cluster名称。在此处,需要特别指出的是:在被vCenter driver使用的ESXi cluster和datastore中,除了用vCenter driver自身建立的虚拟机以外,不应含有有其他类型的虚拟机(比如,用vCenter建立的虚拟机)。
按照以上所述的实施和配置方法,在OpenStack将虚拟机部署到ESXi Cluster后,虚拟机在vCenter中是可见的,可以使用vSphere的高级特性(如:vMotion实施迁移、高可用性和DRS),于此同时,这些虚拟机在OpenStack的Dashboard也是可见的,对其进行管控时的操作体验,与执行对其他OpenStack虚拟机时是一样的。
(未完待续)