首页> 中国专利> 一种支持多种国产化操作系统的自动化部署方法与系统

一种支持多种国产化操作系统的自动化部署方法与系统

摘要

本发明公开了一种支持多种国产化操作系统的自动化部署方法:使用一台机器作为部署机,除安装PXE服务器依赖的基础服务之外,还增加如下服务模型:Distro服务、Profile服务、Image服务以及System服务,该服务模型可以根据客户端PXE启动时的数据包option选项自动识别不同CPU类型的国产化硬件服务器,并根据客户端的CPU硬件类型发送指定操作系统的NBP启动文件,客户端根据此NBP启动文件下载对应操作系统的GRUB引导文件,按照GRUB引导文件加载虚拟内核以及对应的kickstart自动化配置模板文件,并从相应的软件源列表下载软件安装包,安装指定的操作系统。本发明还提供了基于上述支持多种国产化操作系统的自动化部署方法所部署的系统。

著录项

  • 公开/公告号CN112230942A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 烽火通信科技股份有限公司;

    申请/专利号CN202011038006.X

  • 发明设计人 梁华;康乐;田依蕾;荆楠;杨华南;

    申请日2020-09-28

  • 分类号G06F8/61(20180101);

  • 代理机构44372 深圳市六加知识产权代理有限公司;

  • 代理人向彬

  • 地址 430000 湖北省武汉市东湖高新技术开发区高新四路6号

  • 入库时间 2023-06-19 09:33:52

说明书

技术领域

本发明属于运维与管理技术领域,更具体地,涉及一种支持多种国产化操作系统的自动化部署方法与系统。

背景技术

云计算技术与应用,一直以来都是业界关注的热点,其中云计算的国产化问题更成为竞争的焦点。出于对数据安全角度的考虑,对于云平台的国产化方面,政府及关系国计民生的系统一直都非常重视。目前主流的云计算平台均部署在基于X86架构的硬件服务器上,基于国产化硬件服务器的云平台刚刚起步,在批量、快速部署国产化操作系统方面还没有较为成熟的方案,因此为了促进云计算产品的国产化落地,市场急需一款可以兼容通用x86硬件,又可以根据不同国产化硬件服务器灵活安装对应国产化操作系统的融合部署方案。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种支持多种国产化操作系统的自动化部署方法,其目的在于能够针对不同国产化硬件服务器灵活安装对应国产化操作系统。

为实现上述目的,按照本发明的一个方面,提供了一种支持多种国产化操作系统的自动化部署方法,包括:

使用一台机器作为部署机,除安装PXE服务器依赖的基础服务之外,还增加如下服务模型,这些服务可根据待安装的国产化的操作系统进行安装文件的适配,为不同CPU硬件的客户端提供定制化安装服务,其中包含的服务模型为:Distro服务、Profile服务、Image服务以及System服务;该服务模型可以根据客户端PXE启动时的数据包option选项自动识别不同CPU类型的国产化硬件服务器,并根据客户端的CPU硬件类型发送指定操作系统的NBP启动文件,客户端根据此NBP启动文件下载对应操作系统的GRUB引导文件,按照GRUB引导文件加载虚拟内核以及对应的kickstart自动化配置模板文件,并从相应的软件源列表下载软件安装包,安装指定的操作系统。

本发明的一个实施例中,所述System服务,用于根据不同硬件类型的待安装客户端分配对应的操作系统,为客户端指定对应的NBP启动文件,客户端根据NBP启动文件加载对应GRUB引导文件。

本发明的一个实施例中,所述Profile服务,用于提供各种操作系统安装时的GRUB引导文件,以及kickstart自动化配置模板文件,GRUB引导文件会引导客户端加载指定的虚拟内核,按照kickstart自动化配置模板文件的配置自动安装软件包,配置操作系统。

本发明的一个实施例中,所述Distro服务,用于提供各种操作系统PXE安装时依赖的虚拟内核,每一个操作系统均有自己的适配的虚拟内核,客户端需要加载指定的虚拟内核才能启动对应操作系统的安装流程。

本发明的一个实施例中,所述Image服务,用于以NFS或HTTP方式为客户端安装操作系统提供软件包安装源。

本发明的一个实施例中,在部署机DHCP的配置文件dhcpd.conf中增加optionpxe-system-type code 93字段,该字段可以通过客户端PXE启动后DHCP请求IP的数据包对各种客户端进行区分,识别属于飞腾、龙芯、鲲鹏或者X86的硬件类型。

本发明的一个实施例中,将各个操作系统适配的GRUB引导文件和虚拟内核拷贝至TFTP的服务目录下,客户端PXE启动后根据NBP启动文件查找并下载对应的GRUB引导文件,在GRUB引导文件中描述了主机的虚拟内核和kickstart自动化配置模板文件,从而引导客户端启动操作系统的安装流程。

本发明的一个实施例中,分别将各个操作系统iso中的软件包拷贝到HTTP服务目录下,客户端根据GRUB引导文件中的kickstart自动化配置模板文件去指定的软件源目录下载软件包,安装操作系统。

本发明的一个实施例中,在添加待安装主机信息时,以MAC地址为标签,依次为待安装主机分配将要安装的操作系统,以及主机名和网络信息存储于数据库中供Profile服务和System服务读取,以实现自动化配置。

按照本发明的另一方面,还提供了一种基于上述支持多种国产化操作系统的自动化部署方法所部署的系统。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:

灵活部署:使用一台部署机可以同时管理多个版本的国产化操作系统,安装时根据不同CPU架构的客户端自动化安装指定版本的操作系统;

一云多芯:实现了多种国产化硬件服务器和主流X86架构的服务器统一混合部署,形成支持多种硬件架构的混合资源池,保障上层应用数据平稳过渡。

附图说明

图1为本发明实施例中一种支持多种国产化操作系统的自动化部署方法的网络拓扑图;

图2为本发明实施例中包含的服务模型的结构示意图;

图3为本发明实施例中基于本发明方法实现龙芯服务器PXE安装流程图;

图4为根据发明方法实现不同架构服务器PXE安装的最终结果示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

现阶段,基于国产化服务器的操作系统安装主要有2种方式,一种是手工安装,对每一台服务器用挂载iso或者磁盘拷贝的方式进行安装,这种方式费时费力,不适合大规模批量化安装;另一种是PXE(Preboot Execution Environment,远程引导技术)自动安装,这种方式一台PXE服务器只能安装一种类型的操作系统,如果要同时安装多种国产化操作系统,则需要搭建多台PXE服务器。本发明开发一种模型,支持管理多种国产化操作系统,同时根据国产化服务器的CPU类型,安装指定版本的国产化操作系统,在灵活性方面有较大的提升。

本发明提供了一种支持多种国产化操作系统的自动化部署方法:使用一台机器作为部署机,除安装PXE服务器基础的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)、HTTP(Hyper Text Transfer Protocol,超文本传输协议)、TFTP(TrivialFile Transfer Protocol,简单文件传输协议)、NFS(Network File System,网络文件系统)服务之外,还需增加如下服务模型,可根据待安装的国产化的操作系统(例如银河麒麟v4/v10、统信UOS以及主流的CentOS等)进行安装文件的适配,这些服务可为不同CPU硬件的客户端(包括基于ARM架构的飞腾2000、鲲鹏920CPU服务器,基于Mips架构的龙芯CPU服务器)提供定制化安装服务,其中包含的4个核心的服务为:

Distro服务:提供各种操作系统PXE安装时依赖的虚拟内核(vmlinuz/initrd.img),每一个操作系统均有自己的适配的虚拟内核,客户端需要加载指定的虚拟内核才能启动对应操作系统的安装流程。

Profile服务:提供各种操作系统安装时的GRUB(GRand Unified Bootloader,操作系统启动管理器)引导文件,以及kickstart自动化配置模板文件,每一个操作系统均有自定义的GRUB引导文件,GRUB引导文件会引导客户端加载指定的虚拟内核,按照kickstart自动化配置模板文件的配置自动安装软件包,配置操作系统。

Image服务:以NFS或HTTP方式为不同硬件类型的客户端安装操作系统提供软件包安装源,客户端根据kickstart自动化配置模板文件中指定的软件源地址下载指定的安装包安装操作系统

System服务:用于指定待安装主机将要安装的操作系统,使得部署机根据客户端PXE启动时上报的option参数区分不同硬件类型客户端,为客户端指定对应的NBP(NetworkBootstrap Program,网络引导程序)启动文件,客户端根据NBP启动文件加载对应GRUB引导文件。

本发明可以根据客户端PXE启动时的DHCP请求数据包option选项自动识别不同CPU类型的国产化硬件服务器,并根据客户端的CPU硬件类型和已分配将要安装的操作系统发送指定的NBP(Network Bootstrap Program,网络引导程序)启动文件,客户端根据此启动文件去下载对应的GRUB(GRand Unified Bootloader,操作系统启动管理器)引导文件,按照GRUB引导文件的描述加载虚拟内核(vmlinuz+initrd.img)启动操作系统的安装进程,安装时根据kickstart自动化配置模板文件配置磁盘、语言、时区等,并从相应的软件源列表下载软件安装包,安装指定的操作系统。

如图1所示,我们将本发明的组网结构简单总结为如下拓扑,只考虑待安装的客户端的PXE网络,所有客户端的PXE网卡均已配置到同一个L2网络中,可以实现部署机和客户端PXE网络的互联互通。

安装部署机:

预先安装部署机操作系统,本装置中部署机安装的CentOS7系统,配置部署机PXE网卡的IP地址为192.168.1.1/24(此IP地址为示例,实际情况可以根据网络规划而定),该IP地址作为后续为客户端提供服务的访问地址。

导入待安装操作系统:

上传银河麒麟v4、银河麒麟v10、UOS及CentOS操作系统的iso文件到部署机的指定目录,执行脚本安装部署机上的服务,包括基础的DHCP、TFTP、NFS、HTTP以及本发明包含的服务模型,如图2所示,包含Profile服务:提供各种操作系统安装时的GRUB引导文件,用于管理待安装操作系统的内核版本distro、kickstart自动化配置模板文件以及Image镜像仓库的信息,每一个操作系统对应一个Profile实例;Distro服务:用于管理待安装操作系统的虚拟内核vmlinuz、initrd.img,上述Profile中管理的每一个实例均配置有对应的虚拟内核文件,每一个Profile实例对应一个Distro实例;Image服务:以HTTP或NFS的方式为客户端提供软件下载服务,上述每一个Profile实例的kickstart自动化配置模板文件中均配置有对应的Image镜像仓库地址file path,每一个Profile实例对应一个Image实例;以及System服务:以MAC地址为唯一标识添加客户端,为待安装客户端直接匹配对应的上述Profile实例,指引客户端安装对应的操作系统,Profile实例中详细描述了该客户端PXE启动时需要的GRUB引导文件、kickstart自动化配置模板文件,该Profile实例对应的Distro实例间接为客户端提供安装操作系统对应的虚拟内核,该Profile实例对应Image实例间接为客户端提供软件安装源file path。服务安装完成后会自动将已上传的操作系统iso中的文件拷贝到服务对应目录下。下面详细介绍在每个服务中做的配置文件更改。

在部署机DHCP的配置文件/etc/dhcp/dhcpd.conf中增加option pxe-system-type code 93字段,DHCP协议中该字段数值代表Client System Architecture,即客户端硬件类型,例如09代表X86客户端,11代表鲲鹏客户端,12代表龙芯客户端。客户端PXE启动后发送DHCP请求IP数据包中会包含此参数,部署机可以通过客户端PXE启动后DHCP请求IP的数据包对飞腾、龙芯、鲲鹏以及X86的客户端进行区分,System服务将会根据将要安装的操作系统对该配置文件进行适配,从而实现针对不同的硬件类型发送对应的NBP启动文件。例如对龙芯客户端发送core.efi(银河麒麟v10)文件,飞腾客户端发送uImage-ft2000,鲲鹏客户端发送uefi.shim(CentOS)、bootnetaa64.efi(UOS),X86客户端发送pxelinux.0(CentOS)。

将各个操作系统适配的GRUB引导文件和虚拟内核拷贝至TFTP的服务目录下/var/lib/tftpboot/,Profile服务为银河麒麟v4/v10、UOS、以及CentOS操作系统预置了相应的GRUB引导文件以及kickstart自动化配置模板文件,可以根据环境安装需要进行编辑,Distro服务将每个操作系统的虚拟内核从Image源拷贝至TFTP目录下。例如龙芯服务器的GRUB引导文件:grub2/grub.conf,虚拟内核文件:mips64/vmlinuz、mips64/initrd.img;鲲鹏服务器的GRUB引导文件:uefi/grub.cfg,虚拟内核文件:uefi/vmlinuz、uefi/initrd.img;飞腾服务器GRUB引导文件:uImage-ft2000plus、ft2000plus.dtb、byonetboot.cfg。客户端PXE启动后根据NBP启动文件查找对应的GRUB引导文件,在GRUB引导文件中描述了主机的虚拟内核和kickstart自动化配置模板文件,从而引导客户端启动操作系统的安装流程。

Image服务分别将各个操作系统iso中的软件包拷贝到HTTP服务目录/var/www/下为客户端提供软件镜像源服务,例如CentOS ARM版系统软件源为:/var/www/CentOS-7-aarch64-arm;银河麒麟v4ARM版操作系统的软件源目录为:/var/www/Kylin-4.0.2-server-arm;银河麒麟v10ARM版操作系统的软件源的目录为:/var/www/Kylin-server-10-aarch64-arm,银河麒麟v10Mips版操作系统的软件源的目录为/var/www/Kylin-server-10-mips64,UOS ARM版操作系统的软件源的目录为:/var/www/UOS-server-20-arm。客户端根据GRUB引导文件中的kickstart自动化配置模板文件去指定的软件源目录下载软件包,安装操作系统。

NFS服务目录和HTTP目录的作用一致,都是为客户端提供软件包安装源的功能,此处不再赘述,在GRUB引导文件中可以指定使用HTTP方式,或者NFS方式安装软件包。

添加待安装主机信息:

以MAC地址为标签,依次为待安装主机分配将要安装的操作系统,以及主机名、网络等信息存储于数据库中供Profile服务和System服务读取,以实现自动化配置。在本发明服务模型中,Profile服务将会根据添加的客户端配置信息编辑kickstart自动化配置模板文件,分别为每一个客户端生成kickstart自动化配置模板文件,System服务可以根据此配置修改对应的配置文件,例如当同时导入基于ARM架构的CentOS操作系统和UOS操作系统时,System可以灵活调整DHCP的配置文件,使得基于ARM架构的鲲鹏服务器可以按照导入的操作系统信息下载对应的NBP启动文件,从而完成对应操作系统的安装。

开始部署

完成以上配置后,即可将待安装服务器设置PXE启动,开始部署流程。

如图3所示,我们以基于Mips架构的龙芯服务器为例,详细分析客户端A的PXE安装过程。

假设在上述添加待安装主机信息时已给客户端A分配银河麒麟v10操作系统,并配置主机名和网络等信息。此时Profile服务将银河麒麟v10操作系统GRUB引导文件拷贝至TFTP对应目录下,并根据主机配置信息生成客户端A的kickstart自动化配置模板文件,System将调整DHCP配置文件将DHCP请求数据包option pxe-system-type code 93字段为12的客户端对应银河麒麟v10版本的NBP启动文件。Distro服务拷贝银河麒麟v10版本的虚拟内核文件到TFTP目录下,Image服务以HTTP协议为客户端A提供软件包安装源。

S1:龙芯客户端A的PXE启动后首先启动DHCP流程申请IP,在PXE规划的L2网络中广播DHCP请求数据包。

S2:部署机收到DHCP请求后,根据客户端A发来的报文option字段,判断该客户端为基于Mips架构的龙芯CPU服务器,根据部署机的现有配置回复对应的IP地址192.168.1.10,并且通过TFTP发送基于银河麒麟v10版本操作系统的NBP启动文件core.efi至客户端A。

S3:客户端A确认使用192.168.1.10的IP地址,并根据core.efi文件引导下载TFTP目录下的grub2/grub.cfg引导文件,该引导文件中包含银河麒麟v10操作系统PXE安装时需要的虚拟内核vmlinuz-mips64、initrd-mips64.img及kickstart自动化配置模板文件。

S4:部署机响应客户端A请求,通过TFTP协议发送GRUB引导文件和虚拟内核文件至客户端A。

S5:客户端A根据GRUB引导文件描述,加载指定的虚拟内核vmlinuz-mips64+initrd-mips64.img,启动操作系统安装进程,同时根据GRUB引导文件描述下载对应的kickstart自动化配置模板文件kylin-mips64-anaconda-ks.cfg,按照kickstart自动化配置模板文件从部署机HTTP源下载软件安装包,配置操作系统安装过程中所需参数。

S6:服务端响应客户端下载请求,通过HTTP协议发送kickstart自动化配置模板文件及其软件安装包至客户端A。

S7:操作系统安装完成。

当然上述步骤S5、S6除了用HTTP外,也可用NFS。

根据以上描述的步骤,本发明模型可以根据不同硬件类型的国产化服务器以及主流X86架构服务器安装指定版本的操作系统,部署效果如图4所示,当鲲鹏、龙芯、飞腾以及X86架构的服务器同时PXE启动安装流程时,上述服务模型能够根据已添加的待安装主机信息生成对应配置文件,给每一个客户端分配待安装系统对应的NBP启动文件、GRUB引导文件,和自动化配置脚本,实现多种类型的国产化操作系统的批量自动化安装。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号