首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 人工神经网络 / 自组织映射 / 一种云平台镜像制作系统及其实现方法

一种平台镜像制作系统及其实现方法

阅读:449发布:2020-05-11

专利汇可以提供一种平台镜像制作系统及其实现方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及 云 计算技术领域,特别是一种云平台镜像制作系统及其实现方法。本发明系统包括控制 服务器 、原生镜像库、自定义脚本库、镜像 节点 和云平台镜像库。本发明的控制服务器从原生镜像库中下载 指定 镜像到镜像节点;控制服务器从自定义脚本库中下载脚本到镜像节点;在镜像节点中映射原生镜像并执行下载脚本;控制服务器将镜像节点生成的镜像上传到云平台镜像库。本发明提出了一种通用的适用于云平台 虚拟机 及容器镜像的制作系统及方法,保证了镜像制作过程的简单高效。,下面是一种平台镜像制作系统及其实现方法专利的具体信息内容。

1.一种平台镜像制作系统,其特征在于,所述的系统包括控制服务器、原生镜像库、自定义脚本库、镜像节点和云平台镜像库;
所述控制服务器,根据解析的命令和参数执行下载镜像和脚本,并启动脚本,将生成的镜像上传到云平台镜像库;
所述原生镜像库,用于存放云平台原生镜像文件供下载;
所述自定义脚本库,用于存放所有的脚本文件供下载;
所述镜像节点,用于制作镜像;
所述云平台镜像库,用于存放云平台完整的镜像文件,可通过该镜像文件创建虚拟机或容器。
2.根据权利要求1所述的系统,其特征在于:
所述控制服务器为系统中心,负责与其他四个部分的相互作用,具体包括:
(1)接受并解析用户制作镜像命令和参数;
(2)从原生镜像库中下载镜像到镜像节点;
(3)从自定义脚本库中下载脚本到镜像节点;
(4)启动在镜像节点制作镜像过程;
(5)将镜像节点生成的镜像上传到云平台镜像库。
3.根据权利要求1所述的系统,其特征在于:
所述原生镜像库包括用于存放镜像的存储介质,可以根据需要动态增加和删除镜像文件;可以是网络协议存储,也可以是本地磁盘存储。
4.根据权利要求2所述的系统,其特征在于:
所述原生镜像库包括用于存放镜像的存储介质,可以根据需要动态增加和删除镜像文件;可以是网络协议存储,也可以是本地磁盘存储。
5.根据权利要求1至4任一项所述的系统,其特征在于:
所述自定义脚本库包括用于存放自定义脚本的存储介质,可以根据需要创建和删除自定义脚本;可以是网络协议存储,也可以是本地磁盘存储。
6.根据权利要求3或4所述的系统,其特征在于,所述的网络协议存储包括HTTP、FTP和ISCSI。
7.一种权利要求1-6任一项云平台镜像制作系统的实现方法,其特征在于,所述的方法包括如下步骤:
(1)控制服务器从原生镜像库中下载指定镜像到镜像节点、从自定义脚本库中下载脚本到镜像节点;
(2)在镜像节点中映射原生镜像并执行下载脚本;
(3)控制服务器将镜像节点生成的镜像上传到云平台镜像库。
8.根据权利要求7所述的方法,其特征在于,所述的在镜像节点中映射原生镜像并执行下载脚本具体包括:
(1)在镜像节点创建一个指定大小的文件;
(2)将所述文件挂载制作成设备;
(3)格式化所述块设备并修改属性;
(4)挂载所述块设备到镜像节点挂载目录;
(5)解压镜像文件到所述挂载目录;
(6)按自定义脚本文件的前后顺序运行脚本;
(7)将所述文件转换成指定格式的镜像文件。
9.根据权利要求8所述的方法,其特征在于,
所述块设备是一个由本地文件映射成的LOOP设备;
所述指定格式包括RAW、VHD、QCOW2、TAR、ACI和DOCKER。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述的自定义脚本按特定的目录结构进行组织,脚本目录之间存在前后执行顺序;
每个目录内的脚本存在执行的先后顺序,可以通过脚本名称自带顺序数字实现;
所述的脚本目录包括不需要切换根目录的脚本存放目录和需要切换根目录的脚本存放目录。
11.根据权利要求8或9所述的方法,其特征在于,所述的镜像节点:
(1)利用truncate工具创建一个指定大小的文件;
(2)利用losetup工具将文件挂载制作成块设备;
(3)利用mkfs工具格式化块设备,利用tune2fs工具修改块设备属性:
(4)将从自定义脚本库中下载的脚本文件目录挂载或拷贝到镜像文件设备挂载目录后通过chroot切换根目录到镜像系统,执行自定义脚本。
12.根据权利要求10所述的方法,其特征在于,所述的镜像节点:
(1)利用truncate工具创建一个指定大小的文件;
(2)利用losetup工具将文件挂载制作成块设备;
(3)利用mkfs工具格式化块设备,利用tune2fs工具修改块设备属性:
(4)将从自定义脚本库中下载的脚本文件目录挂载或拷贝到镜像文件设备挂载目录后通过chroot切换根目录到镜像系统,执行自定义脚本。

说明书全文

一种平台镜像制作系统及其实现方法

技术领域

[0001] 本发明涉及云计算技术领域,特别是一种云平台镜像制作系统及其实现方法。

背景技术

[0002] 随着云计算的普及,越来越多的云平台被开发与部署。云平台对外所提供的计算能都依赖于由各种格式的镜像所创建的虚拟机或者容器。然而不同的用户所需要的镜像系统类型各不相同,每个系统类型又存在不同的发行版本,由于用户在定制时系统、版本的多样性、不可预知性;如果用户要求在定制的系统内部安装指定软件包;云平台所需要的镜像类型将变得不可预知。如何能够很好的解决这种不可预知的用户需求,当前大部分云平台采用的方法包括:
[0003] 1、云平台线上仅提供几种特定的镜像类型,用户需要创建虚拟机或者容器时必须选择其中的一个进行创建,创建完成之后再自己安装所需软件和应用。
[0004] 此种方法云平台无法满足用户的个性化需求,用户体验非常差。
[0005] 2、云平台提供24小时服务,当用户需要指定类型的镜像时,云平台运维人员临时根据用户需求通过光盘ISO文件制作镜像,然后上传到云平台镜像库。
[0006] 此种方法能够解决用户的问题,但是耗时长、操作复杂,是一种临时的一次性解决方法,当有多个或者大量用户存在这样的需求时,云平台运维人员难以应付。

发明内容

[0007] 本发明解决的技术问题之一在于提出一种云平台镜像制作系统,保证云平台能够快速、简单高效的制作镜像,从而满足不同用户不同镜像类型的需求。
[0008] 本发明解决的技术问题之二在于提出一种云平台镜像制作实现方法,满足不同用户不同镜像类型的需求。
[0009] 本发明解决上述技术问题之一的技术方案是:
[0010] 所述的系统包括控制服务器、原生镜像库、自定义脚本库、镜像节点和云平台镜像库;
[0011] 所述控制服务器,根据解析的命令和参数执行下载镜像和脚本,并启动脚本,将生成的镜像上传到云平台镜像库;
[0012] 所述原生镜像库,用于存放云平台原生镜像文件供下载;
[0013] 所述自定义脚本库,用于存放所有的脚本文件供下载;
[0014] 所述镜像节点,用于制作镜像;
[0015] 所述云平台镜像库,用于存放云平台完整的镜像文件,可通过该镜像文件创建虚拟机或容器。
[0016] 所述控制服务器为系统中心,负责与其他四个部分的相互作用,具体包括:
[0017] (1)接受并解析用户制作镜像命令和参数;
[0018] (2)从原生镜像库中下载镜像到镜像节点;
[0019] (3)从自定义脚本库中下载脚本到镜像节点;
[0020] (4)启动在镜像节点制作镜像过程;
[0021] (5)将镜像节点生成的镜像上传到云平台镜像库。
[0022] 所述原生镜像库包括用于存放镜像的存储介质,可以根据需要动态增加和删除镜像文件;可以是网络协议存储,也可以是本地磁盘存储。
[0023] 所述自定义脚本库包括用于存放自定义脚本的存储介质,可以根据需要创建和删除自定义脚本;可以是网络协议存储,也可以是本地磁盘存储。
[0024] 所述的网络协议存储包括HTTP、FTP和ISCSI。
[0025] 本发明解决上述技术问题之二的技术方案是:
[0026] 所述的方法包括如下步骤:
[0027] (1)控制服务器从原生镜像库中下载指定镜像到镜像节点、从自定义脚本库中下载脚本到镜像节点;
[0028] (2)在镜像节点中映射原生镜像并执行下载脚本;
[0029] (3)控制服务器将镜像节点生成的镜像上传到云平台镜像库。
[0030] 所述的在镜像节点中映射原生镜像并执行下载脚本具体包括:
[0031] (1)在镜像节点创建一个指定大小的文件;
[0032] (2)将所述文件挂载制作成设备;
[0033] (3)格式化所述块设备并修改属性;
[0034] (4)挂载所述块设备到镜像节点挂载目录;
[0035] (5)解压镜像文件到所述挂载目录;
[0036] (6)按自定义脚本文件的前后顺序运行脚本;
[0037] (7)将所述文件转换成指定格式的镜像文件。
[0038] 所述块设备是一个由本地文件映射成的LOOP设备;
[0039] 所述指定格式包括RAW、VHD、QCOW2、TAR、ACI和DOCKER。
[0040] 所述的自定义脚本按特定的目录结构进行组织,脚本目录之间存在前后执行顺序;
[0041] 每个目录内的脚本存在执行的先后顺序,可以通过脚本名称自带顺序数字实现;
[0042] 所述的脚本目录包括不需要切换根目录的脚本存放目录和需要切换根目录的脚本存放目录。
[0043] 所述的镜像节点:
[0044] (1)利用truncate工具创建一个指定大小的文件;
[0045] (2)利用losetup工具将文件挂载制作成块设备;
[0046] (3)利用mkfs工具格式化块设备,利用tune2fs工具修改块设备属性:
[0047] (4)将从自定义脚本库中下载的脚本文件目录挂载或拷贝到镜像文件设备挂载目录后通过chroot切换根目录到镜像系统,执行自定义脚本。
[0048] 本发明的有益效果如下:
[0049] 1、本发明的云平台镜像制作方法,通过创建自定义脚本来满足云平台不同镜像类型需求,可以根据不同用户的个性化需求快速高效的创建镜像。
[0050] 2、本发明云平台镜像制作系统可扩展性强,云平台运维人员可以在后续的工作过程中,不断丰富和完善系统的原生镜像库和自定义脚本库,且不影响库中已经存在的镜像和脚本。
[0051] 3、本发明云平台镜像制作的方法和系统通用性强,不同云平台都可以很方便和快速的进行集成实现;另外通过云平台前端页面的集成,可以实现用户自己根据需求自定义创建镜像,提高用户的体验性。附图说明
[0052] 下面结合附图对本发明进一步说明:
[0053] 图1为本发明系统的模块图;
[0054] 图2为本发明方法的流程图
[0055] 图3为本发明方法的另一流程图。

具体实施方式

[0056] 请参见图1、2、3,为本发明实施例所提供的一种云平台镜像制作方法和系统的系统模块图和方法流程图。下面分别对其各个流程具体实现进行描述。
[0057] 控制服务器模块为系统中心,负责与其他四个模块的相互作用,具体包括:
[0058] (1)接受并解析用户制作镜像命令和参数;
[0059] (2)从原生镜像库中下载镜像到镜像节点;
[0060] (3)从自定义脚本库中下载脚本到镜像节点;
[0061] (4)启动在镜像节点制作镜像过程;
[0062] (5)将镜像节点生成的镜像上传到云平台镜像库。
[0063] 原生镜像库模块用于存放云平台原生镜像文件,可以根据需要动态增加和删除镜像文件。自定义脚本库模块用于存放所有的脚本文件,可以根据需要创建和删除自定义脚本。镜像节点模块则是镜像制作目的地和镜像存放点。云平台镜像库模块用于存放云平台完整的镜像文件,可通过该镜像文件创建虚拟机或容器。
[0064] 原生镜像库模块包括用于存放镜像的存储介质,可以是网络协议存储,也可以是本地磁盘存储。自定义脚本库模块包括用于存放自定义脚本的存储介质,可以是网络协议存储,也可以是本地磁盘存储。网络协议存储包括HTTP、FTP和ISCSI。
[0065] 本发明实现的基本步骤如下:
[0066] (1)控制服务器从原生镜像库中下载指定镜像X到镜像节点;
[0067] (2)控制服务器从自定义脚本库中下载脚本到镜像节点;
[0068] (3)在镜像节点中映射原生镜像X并执行下载脚本;
[0069] (4)控制服务器将镜像节点生成的镜像上传到云平台镜像库。
[0070] 镜像节点中映射原生镜像X并执行下载脚本进一步包括:
[0071] (1)在镜像节点创建一个指定大小的文件;
[0072] (2)将所述文件挂载制作成块设备;
[0073] (3)格式化所述块设备并修改属性;
[0074] (4)挂载所述块设备到镜像节点挂载目录;
[0075] (5)解压镜像X文件到所述挂载目录;
[0076] (6)按自定义脚本文件的前后顺序运行脚本;
[0077] (7)将所述文件转换成指定格式的镜像文件。
[0078] 前述块设备是一个由本地文件映射成的LOOP设备。指定格式包括RAW、VHD、QCOW2、TAR、ACI和DOCKER。
[0079] 前述的自定义脚本包含如下特性:
[0080] (1)脚本按特定的目录结构进行组织,脚本目录之间存在前后执行顺序;
[0081] (2)每个目录内的脚本存在执行的先后顺序,可以通过脚本名称自带顺序数字实现。
[0082] 脚本目录包括不需要切换根目录的脚本存放目录和需要切换根目录的脚本存放目录。
[0083] 下面具体说明如下:
[0084] 云平台运维人员事先将所有的镜像原生系统文件上传到原生镜像库中进行存放。这里以本地FTP存放介质为例,假设FTP中存放有原生镜像文件:trusty-server-cloudimg-amd64-root.tar.gz。
[0085] 云平台运维人员事先将所有的自定义脚本文件上传到自定义脚本库中进行存放。这里以本地FTP存放介质为例,假设FTP中存放有如下2个自定义脚本文件。
[0086] 脚本文件1:install/00-baseline-environment
[0087] 脚本的内容如下:
[0088]
[0089] 这个脚本文件进行了base和iscsi_package软件包的安装。
[0090] 脚本文件2:install/20-install-init-scripts
[0091] 脚本内容如下:
[0092]
[0093]
[0094] 这个脚本的作用是把希望开机启动的脚本拷贝到了对应的位置让他们发挥作用。
[0095] 如上脚本文件名分别带有执行顺序数字,分别代表着脚本的执行顺序,数字越小越先执行,即执行完00-baseline-environment后才会执行20-install-init-scripts。
[0096] 当镜像制作用户向控制服务器发送制作虚拟机镜像命令和参数之后,控制服务器下载该原生镜像文件和自定义脚本文件到镜像节点相应目录,如下:
[0097] /root/.cache/image/trusty-server-cloudimg-amd64-root.tar.gz。
[0098] /root/.cache/script/install/00-baseline-environment
[0099] /root/.cache/script/install/20-install-init-scripts
[0100] 在镜像节点上启动镜像制作过程,相应步骤如下:
[0101] 利用truncate工具创建一个指定大小的文件:
[0102] truncate-s 20G image.raw
[0103] 利用losetup工具将文件挂载制作成块设备:
[0104] losetup-f image.raw
[0105] 利用mkfs工具格式化块设备:
[0106] mkfs-t ext4-L cloudimg-rootfs/dev/loop0
[0107] 利用tune2fs工具修改块设备属性:
[0108] tune2fs/dev/loop0-U${DIB_IMAGE_ROOT_FS_UUID}
[0109] 之后挂载镜像磁盘设备文件并解压从原生镜像库中下载的原生镜像到挂载目录文件内:
[0110] mount${IMAGE_BLOCK_DEVICE}$TMP_BUILD_DIR/mnt
[0111] tar                                                         –xzf/root/.cache/image/trusty-server-cloudimg-amd64-root.tar.gz–C$TMP_BUILD_DIR/mnt
[0112] 之后将上述从自定义脚本库中下载的脚本文件目录挂载或拷贝到镜像文件设备挂载目录中,并通过chroot切换根目录到镜像系统,执行自定义脚本。
[0113] 接着将运行完脚本的镜像文件转换成指定格式,这里以指定为qcow2格式为例,具体方法如下:
[0114] qemu-img convert -O qcow2 image.raw Ubuntu_trusty.qcow2
[0115] 最后控制服务器在接收到镜像文件制作完成的反馈后触发镜像上传云平台镜像库的操作。
[0116] 以上描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出实质性创造所获得的方案,都属于本发明保护的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈