一种大规模测试床节点的自动化部署方法及系统技术方案

技术编号:25958182 阅读:28 留言:0更新日期:2020-10-17 03:50
本发明专利技术公开了一种大规模测试床节点的自动化部署方法及系统。本方法为:1)在部署机上设置一终端部署进程;2)终端部署进程将基于Clonezilla的硬盘镜像还原/克隆任务拆分成以主机为单位的独立子任务,并发送给Clonezilla子进程;将基于Cobbler的定制化网络批量部署任务拆分成以主机为单位的独立子任务,并发送给Cobbler子进程;3)两子进程根据分配的独立子任务,为每个待部署节点生成配置文件;4)待部署节点从部署机上获取配置文件,进行自动化系统还原或安装,然后根据配置文件修改主机名称、添加新用户和修改场景网络信息;5)各已部署节点根据目标网络测试床场景的结构拓扑图组建成独立网络。

【技术实现步骤摘要】
一种大规模测试床节点的自动化部署方法及系统
本专利技术涉及网络测试床部署
,提供了一种大规模测试床节点的自动化部署方法,针对网络测试床不同的场景需求,一方面采用镜像克隆技术,通过自动化封装、分发和安装原始镜像及增量镜像来实现快速部署,另一方面采用定制化远程网络安装技术,全新安装需要预装软件、预设系统环境和服务的系统镜像,为网络测试床场景的构建提供了基础设施技术支持。
技术介绍
网络测试床是一种受控的试验平台,可以在模拟现实条件的环境中部署和测试新技术或现有技术,并最终产生新的产品和服务。从测试床技术初期时的实体终端技术,到云计算浪潮下急剧升温的虚拟终端技术,以及新兴的网络仿真终端技术,都离不开终端部署技术的支持。互联网技术的飞速发展,其规模的不断扩大,导致计算机数量急速增加,与之相对应的终端部署技术也在不断地改进。互联网发展初期,服务器数量少,规模小,所以自动部署的概念尚未形成。相关技术人员没有系统地去组织或梳理操作及维护指标,而主要关注的是系统和应用服务的可用性及稳定性,他们以个人或他人的经验来判断系统配置是否正常,对系统和软件的部署和操作也主要依靠手工完成。随着互联网的发展,许多企业已拥有数以百计的服务器,此时单纯依靠手动部署已然是一项艰巨的任务,促使了脚本化和批量化部署逐渐成为主流。许多产品线的技术人员开始尝试编写脚本,来自动化地完成部署、上线和配置管理工作。依据部署方式,可将主流终端节点部署技术分为硬盘克隆技术、NFS(NetworkFileSystem,网络文件系统)网络安装技术、基于脚本的安装技术等,每种技术有其适用范围和局限性。硬盘克隆技术是指通过硬件或软件方式,将一个硬盘的内容克隆到另一个硬盘上或把整个硬盘内容克隆到一个“image”格式的文件中。硬盘克隆技术能够实现硬盘镜像制作及快速还原,但在还原结束后需要修改每台机器对应的配置文件。该技术对硬件要求苛刻,需要所有待部署服务器的硬件配置完全相同,包括品牌、产品批次、各部分硬件的规格甚至硬盘的容量等。在实际生产环境下,服务器规模往往会根据需要逐步扩大,而新采购的服务器很难保证满足该要求,最终导致硬盘镜像还原的成功率较低。同时,每台机器克隆完后还需要修改其对应的配置,这样操作繁琐,浪费时间,且经常会出现人为错误。NFS网络安装技术是指客户机通过网络访问挂载在服务器上的系统镜像进行网络安装。使用NFS网络安装可以实现对集群系统的快速部署,然而该方法仍有较大的缺陷。第一,服务器端网络带宽限制。NFS网络安装部署Linux操作系统时,经常会出现集群中多个节点同时安装部署操作系统,由于其使用TCP协议从NFS服务器获取系统安装文件,这种情况下,实际部署速度明显会被服务器端的网络带宽所限制,导致部署性能下降。第二,挂载状态不稳定。NFS网络安装会把远程文件系统挂载到客户机使用,无论是网络传输状态还是网卡工作状态,都会影响其挂载状态。更严重的是,出现这种情况后,其仅能简单提示无法挂载,而无法明确给出错误原因,不方便进行排查。第三,最重要的一点是NFS网络安装仅能安装操作系统,无法配置软件、环境及服务,在安装完操作系统后,仍需要相关技术人员手动完成相关工作,大大降低了自动化部署的效率。基于脚本的安装技术是指从镜像服务端获取系统镜像后,根据kickstart/preseed等自动应答脚本文件,执行自动化安装。与基于NFS网络安装技术相比,基于脚本的安装技术能在一定程度上减少多节点同时部署时网络带宽的压力,另外,基于脚本的安装技术还可以在安装完操作系统后通过脚本进行基本设置。然而,由于这种方法传输的是安装包,与光盘安装过程基本相同,所以在客户机上仍会耗费大量时间来进行系统安装。最根本的是,这种方法只能安装操作系统而不能安装其他应用软件,脚本也只能配置系统基本设置,相关软件环境仍需人为操作配置。通过对这些网络测试床部署技术的研究,发现每种部署技术都有一定的局限性,不能实现本网络测试床便捷且高定制化的部署需求,因此迫切地需要一种新技术或新方法来保证在实现网络测试床批量自动化部署的同时,实现其服务、软件的高定制化自动安装配置。
技术实现思路
为了在实现快速自动化部署的同时,满足系统环境和软件、服务的高度定制化需求,本专利技术结合各种自动化部署技术的优势,设计了一种大规模测试床节点的自动化部署复合型方法及系统。针对原始系统镜像的安装,本专利技术采用基于Clonezilla软件的硬盘克隆方式实现,并在其基础上实现了系统部署后的自动化配置。Clonezilla是一款用于备份和还原系统的开源软件,可以备份还原多种操作系统,支持自动化模式,通过开机参数,可以自动化所要做的备份和还原的工作;配合PXE(Pre-bootExecutionEnvironment,预执行环境)网络开机,搭配了DRBL(DisklessRemoteBootinLinux,Linux无盘启动)的Clonezilla可以使用群播的方式,用来大规模备份与还原。Clonezilla通过自动化封装、分发与安装节点所运行操作系统和应用软件的硬盘镜像,以及自动化配置节点间网络连接,提高网络测试床的组建效率。由于包含操作系统和各类应用软件的硬盘镜像文件大小通常有几GB甚至几十GB,随着网络测试床内节点配置类型的增多,将消耗大量的存储资源用于存储各类配置镜像文件,所以本专利技术采用基础镜像与增量镜像相结合的方式,降低硬盘镜像文件的大小,减少存储资源开销和镜像文件分发时间。本专利技术采用存储集群的方式,保证了镜像存储空间的充裕,同时,将Ansible自动化脚本与Clonezilla技术相结合,实现了部署后配置参数的自动化修改。每个系统镜像中都预安装了Ansible运行环境,部署程序将部署任务解析后,提取任务参数,填入Ansible的playbook脚本模板中。随后部署程序通过IPMI(IntelligentPlatformManagementInterface,智能平台管理接口)远程挂载虚拟光驱到还原后的服务器上,并将该playbook脚本存入虚拟光驱中,执行该脚本。该脚本会修改还原后系统的网络配置和主机名等信息。针对定制化系统镜像的安装,本专利技术使用基于Cobbler软件的远程网络安装技术实现,并在其基础结合Preseed和Kickstart预安装脚本实现了系统部署后软件的自动化预装及配置。Cobbler技术可以实现快速网络部署系统,使用简单的命令完成复杂、繁琐的操作,例如PXE(PrebooteXecutionEnvironment,预启动执行环境)网络安装的配置、DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)和DNS(DomainNameSystem,域名系统服务协议)的管理,以及Yum(YellowdogUpdater,Modified,软件包管理器)包镜像的管理。本专利技术实现了高定制化的系统自动化安装,其同时实现了软件及系统环境的自动化配置,满足了测试床场景中软件和环境的可定制化需求,进一步提升节点配置的灵活性和减少镜像存储服务器的硬盘开销。本文档来自技高网
...

【技术保护点】
1.一种大规模测试床节点的自动化部署方法,其步骤包括:/n1)在部署机上设置一终端部署进程,用于解析收到的网络测试床实体节点部署任务;其中根据目标网络测试床场景的结构拓扑图生成网络测试床实体节点部署任务;/n2)终端部署进程从网络测试床实体节点部署任务中提取软件安装列表参数,将不需要定制化软件的任务设定为基于Clonezilla的硬盘镜像还原/克隆任务,将需要个性化定制软件、服务和系统环境变量的任务设定为基于Cobbler的定制化网络批量部署任务;/n3)所述终端部署进程依据网络测试床实体节点部署任务中的主机名称,将基于Clonezilla的硬盘镜像还原/克隆任务拆分成以主机为单位的独立子任务,并发送给Clonezilla子进程;所述终端部署进程依据网络测试床实体节点部署任务中的主机名称,将基于Cobbler的定制化网络批量部署任务拆分成以主机为单位的独立子任务,并发送给Cobbler子进程;/n4)Clonezilla子进程、Cobbler子进程根据分配的独立子任务,为每个待部署节点生成其部署所需要的配置文件;/n5)所述终端部署进程通过调用IPMI,实现PXE网络启动待部署节点,待部署节点从所述部署机上获取配置文件,进行自动化系统还原或安装,然后根据所获取的配置文件修改主机名称、添加新用户和修改场景网络信息;其中基于Cobbler定制化安装的系统依据配置文件从文件服务器获取相关软件进行安装并修改系统环境变量;/n6)所述部署机接收各待部署节点向所述部署机提供的反馈,对于根据反馈将部署成功的节点标记为已部署节点,断开与已部署节点的连接,然后各已部署节点根据该目标网络测试床场景的结构拓扑图组建成独立网络。/n...

【技术特征摘要】
1.一种大规模测试床节点的自动化部署方法,其步骤包括:
1)在部署机上设置一终端部署进程,用于解析收到的网络测试床实体节点部署任务;其中根据目标网络测试床场景的结构拓扑图生成网络测试床实体节点部署任务;
2)终端部署进程从网络测试床实体节点部署任务中提取软件安装列表参数,将不需要定制化软件的任务设定为基于Clonezilla的硬盘镜像还原/克隆任务,将需要个性化定制软件、服务和系统环境变量的任务设定为基于Cobbler的定制化网络批量部署任务;
3)所述终端部署进程依据网络测试床实体节点部署任务中的主机名称,将基于Clonezilla的硬盘镜像还原/克隆任务拆分成以主机为单位的独立子任务,并发送给Clonezilla子进程;所述终端部署进程依据网络测试床实体节点部署任务中的主机名称,将基于Cobbler的定制化网络批量部署任务拆分成以主机为单位的独立子任务,并发送给Cobbler子进程;
4)Clonezilla子进程、Cobbler子进程根据分配的独立子任务,为每个待部署节点生成其部署所需要的配置文件;
5)所述终端部署进程通过调用IPMI,实现PXE网络启动待部署节点,待部署节点从所述部署机上获取配置文件,进行自动化系统还原或安装,然后根据所获取的配置文件修改主机名称、添加新用户和修改场景网络信息;其中基于Cobbler定制化安装的系统依据配置文件从文件服务器获取相关软件进行安装并修改系统环境变量;
6)所述部署机接收各待部署节点向所述部署机提供的反馈,对于根据反馈将部署成功的节点标记为已部署节点,断开与已部署节点的连接,然后各已部署节点根据该目标网络测试床场景的结构拓扑图组建成独立网络。


2.如权利要求1所述的方法,其特征在于,从基于Clonezilla的硬盘镜像还原/克隆任务中拆分出的所述独立子任务包含主机名、用户名、密码、IP地址和网关信息;从基于Cobbler的定制化网络批量部署任务中拆分出的独立子任务包含主机名、用户名、密码、IP地址、网关信息、定制化软件的名称及版本。


3.如权利要求1或2所述的方法,其特征在于,每个独立子任务对应一个待部署节点。


4.如权利要求1所述的方法,其特征在于,步骤2)中,从网络测试床实体节点部署任务中提取软件安装列表参数;如果任务参数中不包含系统环境变量和定制化软件信息,则使用基于Clonezilla的硬盘镜像克隆方式部署系统镜像,如果任务参数中不包含系统环境变量,仅包含无需配置的基本软件列表且增量镜像库中有包含基本软件列表中软件的镜像则使用基于Clonezilla的硬盘镜像克隆方式部署系统镜像。


5.如权利要求1所述的方法,其特征在于,所述配置文件中的加入离线repo软件仓库,用于保证待部署节点在未接入网络情况下,也能够从TPFP文件服务器端下载所需依赖包和软...

【专利技术属性】
技术研发人员:郭璇宋振宇付玉霞凌辰刘宝旭
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1