一种云管理平台镜像离线定制系统的制作方法

文档序号:26139040发布日期:2021-08-03 14:22阅读:76来源:国知局
一种云管理平台镜像离线定制系统的制作方法

本发明属于计算机技术领域,涉及一种镜像定制系统,尤其是一种云管理平台镜像离线定制系统。



背景技术:

openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,核心项目有keystone、nova、cinder、neutron、glance、swift;以开源openstack为标准布局自己的云计算生态已成为各大云计算厂商的重要战略,其中基于openstack开发云管理平台需要使用镜像来创建虚拟机。

现有的镜像定制技术方案主要有两种。第一种为离线式单机定制,在linux系统上安装virt-manager虚拟机管理软件,上传qcow2、raw镜像然后安装一台虚拟机,进入虚拟机内部安装cloud-init、qga等软件进行个性化定制,此方案需要在外部安装一台linux主机,并且每次定制都需要上传镜像,下载镜像,再次上传到云平台,操作时间长且繁琐,且不适用于多人使用;第二种为使用云平台进行定制,把镜像上传到openstack等云平台,使用镜像创建一个实例并配置实例,安装定制需要的个性化软件包,完成定制后删除实例,使用cinder的upload功能,把云硬盘上传到glance完成镜像的定制,此方案对于新的镜像需要上传glance,创建镜像卷,创建实例,删除实例,并反向上传glance等,而且如果要使用到别的云平台上,还需要使用glance的download功能,把镜像下载,通用性较差;此外,上述两种方案都是镜像创建实施例后进行修改,涉及大量磁盘io操作,耗费大量时间,且无法多人同时使用,呈现出严重碎片化。

有鉴于此,本发明提供一种云管理平台镜像离线定制系统,以解决现有技术中存在的缺陷,是非常有必要的。



技术实现要素:

针对现有技术中镜像定制碎片化,无法多人同时使用,效率低的问题,本发明提供一种云管理平台镜像离线定制系统,实现镜像定制标准化,并且该系统通过联机可支持多人同时使用。

为实现上述目的,本发明给出以下技术方案:

一种云管理平台镜像离线定制系统,该系统包括:

web服务器:采用nginx+tomcat的方案,nginx转发用户请求,tomcat作为后端提供服务;

镜像模板:镜像模板是系统定制开发供用户使用的镜像,模板内容包括操作系统类型、发行版以及版本号;

镜像下载器:连接外网进行镜像下载,自动下载最新版本镜像,完成镜像的版本更新;镜像下载器自动进行镜像的版本更新,不再需要人工维护镜像版本。

镜像处理服务器:完成镜像的离线挂载,实现镜像脱离实例化进行离线定制;

qemu模拟器:启动创建虚拟机,进行镜像实例化;

数据库:保存联机用户信息及个性化设置,存储镜像基本配置信息;

数据仓库:用于存储镜像文件。

镜像模板连接到web服务器、数据仓库和数据库,镜像下载器连接到web服务器和数据仓库,镜像处理服务器连接到web服务器、数据仓库和数据库,qemu模拟器连接到web服务器和数据库。

作为优选,云管理平台镜像离线定制系统还包括用户认证模块,用户认证模块连接到web服务器和数据库,用户认证模块实现用户信息认证,不同用户信息相互独立,同时保存各用户个性化设置;通过用户认证模块既可以实现合法用户的筛选,又达到用户信息分享的目的,为系统联机使用提供保障。

作为优选,所述镜像处理服务器对两种格式的镜像进行离线处理,第一种为qcow2格式,第二种为raw格式,其他镜像格式需要转换成qcow2格式或者raw格式才能离线处理;

作为优选,镜像处理服务器中qcow2格式镜像定制实现方式如下:第一步qcow2格式镜像链接块设备;第二步挂载块设备到服务器文件系统;第三步对镜像进行修改;第四步卸载块设备并断开块设备链接;第五步下载镜像,完成镜像定制。通过该方式进行qcow2格式镜像的离线处理,实现镜像本地挂载,脱离镜像实例化方案,过程简单容易控制;

作为优选,镜像处理服务器中raw格式镜像定制实现方式如下:直接使用mount命令挂载raw镜像,挂载完成后像本地文件一样修改raw镜像,修改完成后卸载镜像,得到新的镜像文件完成镜像定制;通过该方式进行raw格式镜像的离线处理,实现镜像本地挂载,脱离镜像实例化方案,过程简单容易控制。

作为优选,云管理平台镜像离线定制系统还包括镜像上传模块,镜像上传模块接收用户上传个人镜像;本系统内置的镜像模板未能满足用户需求时,用户通过镜像上传模块上传需要使用的镜像。

作为优选,个人镜像具有分享设置键,分享设置键选择镜像是否分享给其他用户使用;用户通过分享设置键自主选择是否将个人镜像分享给其他用户使用。

作为优选,所述数据仓库使用分布式文件系统存储镜像文件;镜像文件较大,采用分布式文件系统有利于文件系统横向扩展,提供持续可用性保障。

作为优选,所述qemu模拟器使用开源qemu-kvm方案启动虚拟机;

作为优选,所述操作系统类型包括window、linux、macosx和unix。

本发明的有益效果在于,用户通过web服务器进入系统进行镜像定制,联机系统可以多人同时使用;本系统内置常用操作系统的镜像作为镜像模板,模板覆盖大部分镜像各类,用户进行定制时不需要每次下载并上传镜像,系统没有内置的镜像可以由用户自由上传并分享;镜像处理使用脱机的方式,利用镜像离线挂载直接修改镜像文件,不使用镜像实例化的方式进行修改,节省大量的时间和资源;本系统有效解决了镜像定制碎片化的问题,私有云研发部门和私有云的客户可以标准化的定制镜像,不再是每个人定制的镜像都不同,易于维护,有利于提升工作效率。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种云管理平台镜像离线定制系统的原理框图。

其中,1-web服务器,2-镜像模板,3-镜像下载器,4-镜像处理服务器,5-qemu模拟器,6-数据库,7-数据仓库,8-用户认证模块。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

如图1所示,本实施例提供一种云管理平台镜像离线定制系统,该系统包括web服务器1、镜像模板2、镜像下载器3、镜像处理服务器4、qemu模拟器5、数据库6和数据仓库7;镜像模板2连接到web服务器1、数据仓库7和数据库6,镜像下载器3连接到web服务器1和数据仓库7,镜像处理服务器4连接到web服务器1、数据仓库7和数据库6,qemu模拟器5连接到web服务器1和数据库6。

web服务器1:采用nginx+tomcat的方案,nginx转发用户请求,tomcat作为后端提供服务。其中tomcat解析用户页面,包括登陆页、用户主页、镜像模板、镜像属性设置等。

镜像模板2:镜像模板2是系统使用java定制开发供用户使用的镜像,模板内容包括操作系统类型、发行版以及版本号。其中操作系统类型包括windows、linux、macosx和unix,windows分为windows7和windowssever2012r2,linux按发行版分为centos,rhel,debian,suse等,发行版再按照版本号进行分类。

为了更好地满足用户需求,云管理平台镜像离线定制系统还包括镜像上传模块,镜像上传模块接收用户上传的个人镜像;个人镜像具有分享设置键,分享设置键选择镜像是否分享给其他用户使用;用户通过分享设置键自主选择是否将个人镜像分享给其他用户使用。

镜像下载器3:连接外网进行镜像下载,自动下载最新版本镜像,完成镜像的版本更新。其中镜像下载器3灵活对接开源工具axel、wget、curl等,镜像下载器3提供下载地址和保存地址修改功能,以供管理员根据网络环境变化灵活修改,提供灵活的后端存储方案,还可以对接本地存储或者nfs,cifs等网络共享方案。镜像下载器3自动进行镜像的版本更新,不再需要人工维护镜像版本。

镜像处理服务器4:完成镜像的离线挂载,实现镜像脱离实例化进行离线定制。所述镜像处理服务器4对两种格式的镜像进行离线处理,第一种为qcow2格式,第二种为raw格式,其他镜像格式需要转换成qcow2格式或者raw格式才能离线处理;

镜像处理服务器4中qcow2格式镜像定制实现方式如下:

第一步qcow2格式镜像链接块设备;

qemu-nbd-c/dev/nbd0centos-7-x86_64-genericcloud.qcow2;

第二步挂载块设备到服务器文件系统,挂载到qcow2镜像的第一个分区p1;

mount/dev/nbd0p1/mnt;

第三步对镜像进行修改;

第四步卸载块设备并断开块设备链接;

卸载:umount/mnt;断开块设备链接:qemu-nbd–d/dev/nbd0;

第五步下载镜像,完成镜像定制。

通过该方式进行qcow2格式镜像的离线处理,实现镜像本地挂载,脱离镜像实例化方案,过程简单容易控制;

镜像处理服务器4中raw格式镜像定制实现方式如下:直接使用mount命令并指定offset即可挂载raw镜像,挂载完成后像本地文件一样修改raw镜像,修改完成后用umount卸载镜像,得到新的镜像文件完成镜像定制;通过该方式进行raw格式镜像的离线处理,实现镜像本地挂载,脱离镜像实例化方案,过程简单容易控制。

qemu模拟器5:启动创建虚拟机,进行镜像实例化;qemu模拟器5使用开源qemu-kvm方案启动虚拟机,前端显示使用novnc,spice等方案提供用户接口,使用户可以使用cli定制镜像。

数据库6:保存联机用户信息及个性化设置,存储镜像基本配置信息,如镜像操作系统类别、镜像分行版、镜像元数据、镜像存储地址等信息;所述数据库6选择开源方案mariadb,可根据需要选择是否扩展galera三节点方案,以提高数据可用性。

数据仓库7:用于存储镜像文件。所述数据仓库7使用glasterfs分布式文件系统,满足大文件使用中的扩展问题,glasterfs文件系统初期可采用较少的节点,根据用户和数据量来进行扩展。

本实施例中,云管理平台镜像离线定制系统还包括用户认证模块8,用户认证模块8连接web服务器1和数据库6,用户认证模块8通过java定制开发,用户认证模块8实现用户信息认证,不同用户信息相互独立,同时保存各用户个性化设置,比如不同用户常用镜像展示、镜像元数据默认设置、是否共享个人镜像给他人等;通过用户认证模块8既可以实现合法用户的筛选,又达到用户信息分享的目的,为系统联机使用提供保障。

本实施例的使用过程如下:登陆云管理平台镜像离线定制系统首先通过用户认证模块8进行认证,用户认证模块8可同时对不同用户提供认证,认证通过后用户将看到之前保存在数据库6的镜像模板2,如果需要对镜像模板2做小部分修改,则直接加载存储在数据仓库7中的镜像模板2,进行离线修改之后导出即可,如果需要进行实例化镜像,则通过qemu模拟器5,进行镜像实例化;如果当前云管理平台镜像离线定制系统没有满足用户需要的镜像模板2,允许用户通过镜像上传模块上传个人镜像并存储于数据仓库7;同时可选择个人镜像是否共享给他人使用,或者使用他人共享的镜像。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1