【前导文章】
《水乳交融:论VMware与OpenStack的整合—(1)》(点击可打开)
【特别说明】
本文中的技术原理图皆为高清图,如果用手机等移动终端浏览,可能会受限于屏幕大小,可以将图片放大后再查看,也可以将图片下载到PC上再查看。
镜像驱动:VMware Glance VMDK Driver
(1)工作原理图及说明
VMWare的镜像驱动的工作原理如下图所示:
【两种典型的应用场景】
① VMware Nova vCenter Driver已经与OpenStack提供的镜像服务(Glance:Image Service)整合,两者相交互,从镜像服务后端的存储上复制VMDK镜像,以此,用完整的操作系统去实例化一个虚拟机。
② 在VMware Nova vCenter Driver的引导下,VMDK镜像从OpenStack镜像服务的后端存储上被复制到vSphere数据存储,复制操作仅需要在第一次使用VMDK镜像时进行,因为VMDK镜像会被缓存到vsphere数据存储之中。
支持的镜像格式为:VMDK, OVA, ISO
(2)镜像复制的技术实现细节及相关代码
以下,对上述第二种应用场景(镜像复制),展开对其具体技术实现细节的分析,如下图所示:
将虚拟机镜像自Glance Service复制至VMware ESXi Cluster后端的Datastore上:
① 在Compute节点上调用镜像服务的Glance API,将其作为Reader而将镜像数据从Image Service Storage中读出并写入管道中;
② 在Compute节点上调用VMware的API,将其作为Writer而从管道中抓取镜像文件数据并写到VMware的Datastore上
具体的实现代码片段如下:
《VMware与OpenStack的整合原理》的下一篇将对块存储驱动(VMware Cinder VMDK Driver)的实现原理进行分析。