本文是原创,首发于微信公众号『 Moehoo猛虎 』
在企业虚拟化领域,VMware是事实上的先行者,长期以来,处于拥有绝对优势的领导者地位。
当OpenStack这位具有强劲实力的后来者出现以后,VMware最初是采取敌对的竞争态度,然而,随着OpenStack的迅猛发展,整合 — 成为其毫无悬念的最终选择。
在收购以网络虚拟化为核心业务的Nicira公司后,VMware开始逐步向OpenStack社区提供各类插件(PlugIn),籍于此,在OpenStack环境中,可以集成VMware的系列产品。此后,在插件技术发展了几年之后,VIO 1.0的发布又使得这两类技术的整合达到了一个前所未有的程度。
从这篇文章开始,『猛虎』将对VMware的计算驱动、镜像驱动、块存储驱动和网络驱动的实现原理逐一进行简要讨论,以此,对VMware与OpenStack的整合原理作一个概貌性的展开分析。
整合历程
以下,简要回顾两者融合的大体历程:
计算驱动
一、技术实现原理
VMware提供的计算驱动名为:VMware Nova vCenter Driver,其技术实现原理如下图所示:
以下,对技术实现原理图进行简要说明:
(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,具体的配置方法如下:
对上图中的相关配置段解释如下:
① 指定使用的VMwareVCDriver为:
vmwareapi.VMwareVCDriver;
② 指定VMware 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虚拟机时是一样的。
(未完待续)
《VMware与OpenStack的环境整合》系列文章将于近期陆续推出。