Skip to content
🎨 作者:mikigo、安东、海针 📔 阅读量:

一种自动安装镜像的技术交底书

0、缩略语和关键术语定义

术语全称解释
MIPSMIPS架构是一种采取精简指令集(RISC)的处理器架构
PXEPreboot eXecution Environment提供了一种使用网络接口启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备已安装的操作系统。
efibootmgrefibootmgrEFI引导管理器,Linux操作系统上管理启动项的工具。
OEM镜像定制镜像根据需要,满足个性化的定制,可以加入需求,实现安装过程无需人工介入,且安装好的系统符合预期需求。

1、相关技术背景(背景技术),与本发明最相近似的现有实现方案(现有技术)

在基于国产Linux操作系统的自动化测试中,需要对每日构建的最新的系统镜像进行安装,以便能在每日最新的系统上执行自动化测试。

使用PXE安装系统镜像可以方便快速的实现大量测试机更新系统,通过下载每日最新的系统镜像文件,部署到PXE服务器上,测试机通过网络启动的方式重启,就可以拉取到PXE服务器上的镜像文件,从而实现安装最新系统。

1.1、与本发明相关的现有技术

1.1.1、现有技术的技术方案

在AMD和ARM平台的自动化测试中,通过PXE服务安装系统之后,下一次需要更新系统时,只需要使用efibootmgr命令,设置下一次启动以网络启动,然后使用reboot命令重启,即可进入网络启动,从而实现自动化无人值守安装最新镜像。

在AMD和ARM架构客户机中,BIOS中硬盘启动作为第一启动顺序,安装前须要远程登录客户机将机器下一次启动修改为网络启动。重启客户机之后,客户机以网络启动方式进入PXE引导、安装操作系统。安装完操作系统,安装器从硬盘启动引导客户机重启,随后进入安装后配置,完成系统安装。

设置下一次启动以网络启动的命令为:

shell
efibootmgr -n 网络启动项的序号

1.1.2、现有技术的缺点

(1)在AMD和ARM平台上,安装每日构建最新的UOS系统自动化部署流程中,有多处须要重启客户端操作。在安装完操作系统之后须要重启再进入后配置,客户端二次安装等操作。通过efibootmgr命令完成客户端对下次重启项的选择。

(2) MIPS平台上没有efibootmgr命令,需要通过PXE服务安装系统时,只能重启开机手动进入BIOS设置,将启动项一修改为网络启动,然后再次重启,才能进入PXE服务进行网络安装系统。无法实现自动化无人值守安装最新镜像。

(3) 部分机型执行efibootmgr命令之后无法准确获取到下次重启的启动号。

2、本发明技术方案的详细阐述

2.1、本发明所要解决的技术问题

(1)在对UOS自动化测试的过程中,不依赖于efibootmgr这个工具,完成部署前、部署中客户端重启引导问题。

(2)解决MIPS平台无法进行自动化无人值守安装镜像的问题。

2.2、本发明提供的完整技术方案

在进行自动化无人值守安装镜像的过程中,通过服务端流量精准控制,适时控制服务端不同种类数据流量,以便于客户端正确的完成网络引导或硬盘引导。

图(一)自动安装镜像流程图

2.2.1、配置启动项

在BIOS-启动里面配置开机启动顺序,将测试机启动项一设置为网络启动,启动项二为硬盘启动。进入BIOS的方法通常可以在开机时,按Delete键进入。

2.2.2、网络启动,服务端控制UDP数据转发

通过ssh远程连接方式重启测试机,同时,在服务端循环检测/var/log/daemon.log日志文件里面是否存在测试机tftp发送日志,如果存在,说明客户端已经完成UDP数据交互,开始下载引导文件并执行安装引导流程。此时即可关闭服务端针对该客户端UDP数据的发送。

添加防火墙规则,关闭客户端UDP数据转发的命令为:

其中IP为测试机的IP。

shell
sudo iptables -A OUTPUT -d IP -p udp -j REJECT

2.2.3、进入硬盘启动

安装完成之后会有一次自动重启,测试机重启进入启动项一网络启动时,由于已经关闭该客户端UDP数据发送,启动项一会因为超时进入启动项二,启动项二为硬盘启动,这样就能正常进入系统。

2.2.4、解锁UDP数据转发

正常进入系统之后,只要我们没有在服务器上打开客户端UDP数据转发,测试机重启都可以正常进入系统。

如果需要装机时,在服务器上打开客户端UDP数据转发,测试机重启即可进入网络装机。

清空防火墙规则,打开客户端UDP数据转发的命令为:

shell
sudo iptables -F

2.3、本发明技术方案带来的有益效果

(1)解决了自动化测试过程中,MIPS平台无法通过PXE服务自动安装系统镜像的问题。

(2)解决了X86、ARM部分机器使用efibootmgr工具不生效,无法控制启动项的问题。

2.4、针对上述技术方案,是否还有替代方案同样能完成发明目的

3、本发明的技术关键点和欲保护点是什么

(1)通过服务端流量精准控制,合理关闭指定客户端UDP数据转发,实现MIPS架构测试机无人值守安装镜像,从而实现MIPS架构对每日构建镜像的自动化安装和自动化测试。

(2)本技术方案可应用于所有架构,实现不依赖启动项管理工具,精准控制测试机启动方式。

4、附件:

参考文献(如专利/论文/标准等)

l PXE简介及使用说明:

https://blog.csdn.net/jiangwei0512/article/details/99993949

l OEM镜像定制说明:

https://wikidev.uniontech.com/OEM%E9%95%9C%E5%83%8F%E5%AE%9A%E5%88%B6%E8%AF%B4%E6%98%8E

l 用efibootmgr管理UEFI启动项:

https://blog.csdn.net/mdykj33/article/details/99716705