基于固件的操作系统远程自适应动态部署方法及系统
技术领域
本发明涉及操作系统部署技术领域,是一种基于固件的操作系统远程自适应动态部署方法及系统。
背景技术
现有操作系统部署的主要方法包括以下三种:1、人工通过光盘或U盘进行操作系统安装,这种方法需逐台安装,效率不高,费时费力,同时由于国产计算机处理器平台多样,操作系统严重绑定处理器平台,兼容性问题严重,因此对维护人员的技术要求非常高,提升了维护学习成本;2、远程通过Ghost进行备份和还原,这种方法仅能适用于X86处理器平台,并且仅能用于同一机型的计算机,不能适用于集群操作系统部署,缺乏灵活性;3、通过BIOS的PXE技术进行操作系统安装,这种方法需要人工指定可以安装操作系统镜像。综上,现有操作系统部署的方法不适用于大规模的、批量的集群操作系统部署。
发明内容
本发明提供了一种基于固件的操作系统远程自适应动态部署方法及系统,克服了上述现有技术之不足,其能有效解决现有操作系统部署方法存在的效率较低、不适用于批量的集群操作系统部署的问题。
本发明的技术方案之一是通过以下措施来实现的:一种基于固件的操作系统远程自适应动态部署方法,包括以下步骤:
部署在内网的操作系统管理服务端向计算机内部BMC发送命令,其中命令包括计算机需要完成的任务内容、操作系统版本信息、操作系统镜像文件下载地址;
BIOS与BMC通信,获得操作系统版本及镜像文件下载地址,并进行操作系统部署流程准备;
BIOS与操作系统管理服务端通信,在镜像文件下载地址下载对应的操作系统;
BIOS进入部署流程,完成操作系统部署。
下面是对上述发明技术方案的进一步优化或/和改进:
上述BIOS与BMC通信,获得操作系统版本及镜像文件下载地址,准备操作系统部署流程,包括:
BMC获得操作系统管理服务端发送来的命令,并对其进行解析;
BMC向BIOS发出重启命令;
计算机进行重启,进入BIOS的启动引导执行流程,BMC向BIOS发送命令;
BIOS对其进行解析,获得操作系统版本及镜像文件下载地址,并进行操作系统部署流程准备。
上述BIOS根据操作系统版本识别操作系统类型,并根据操作系统类型进入不同操作系统部署流程的准备。
上述操作系统管理服务端向计算机内部BMC发送命令,包括:
操作系统管理服务端选定进行操作系统部署的计算机;
操作系统管理服务端选择任务类型,确定需要部署的操作系统版本、操作系统镜像文件下载地址,向BMC发送命令。
上述BIOS在下载对应的操作系统镜像文件后,需对操作系统镜像文件进行认证和校验,确认操作系统镜像文件安全可信,之后进入部署流程,完成操作系统部署。
本发明的技术方案之二是通过以下措施来实现的:一种基于固件的操作系统远程自适应动态部署系统,包括部署在内网的操作系统管理服务端和部署在内网计算机内部的固件BIOS和BMC;所述操作系统管理服务端分别与BIOS和BMC通信,用于进行命令下发及信息传递,所述BMC分别与操作系统管理服务端和BIOS通信,用于接收、解析及发送命令,所述BIOS分别与操作系统管理服务端和BMC通信,用于接收命令、下载操作系统镜像文件及操作系统部署。
下面是对上述发明技术方案的进一步优化或/和改进:
上述操作系统管理服务端包括:
系统配置模块,用于接收管理员的配置指令;
命令解析模块,用于将管理员的配置指令“翻译”成固件层可执行的命令;
版本解析模块,用于将输入的计算机平台的信息,通过预设模型的解析,得出配套的操作系统版本;
秘钥管理模块,用于对操作系统镜像进行签名;
操作系统版本库,用于存储各型处理器配套的操作系统;
网络通信接口,用于完成与内网计算机中的BIOS和BMC之间的通信;
内网视图模块,用于展示内网的计算机的在线状态;
系统备份模块,用于对计算机操作系统进行上传备份,并进行镜像管理。
上述BIOS包括:
平台检测模块,用于获取和发送计算机平台的信息;
BMC通信模块,用于与BMC进行通信,传递平台信息;
操作系统安装模块,用于根据操作系统镜像文件下载地址,下载操作系统内核和镜像文件,引导操作系统自动安装;
操作系统备份模块,用于进行操作系统备份,并提供还原支持。
上述BMC包括:
服务端通信模块,用于与服务端进行指令和信息传输;
BIOS通信模块,用于与BIOS进行通信,进行信息传递;
OS管理客户端,用于接收和解析服务端的命令。
本发明适用范围广,无需对原有网络做任何改变,符合通用服务器集群管理的布线标准,仅需部署一个操作系统管理服务端即可,操作系统管理服务端与选定计算机的BIOS和BMC通信,操作系统管理服务端通过BMC向BIOS传递操作系统版本及操作系统镜像文件下载地址,BIOS在根据下载地址在操作系统管理服务端下载操作系统镜像文件,并进行自动安装,实现了集群操作系统精确的自适应动态部署,灵活性强,效率高,适用于大规模的、批量的操作系统部署。
附图说明
附图1为本发明实施例1的流程图。
附图2为本发明实施例1中BIOS获得操作系统版本及镜像文件下载地址的流程图。
附图3为本发明实施例1中操作系统管理服务端向计算机内部BMC发送命令的流程图。
附图4为本发明实施例2的结构框图。
具体实施方式
本发明不受下述实施例的限制,可根据本发明的技术方案与实际情况来确定具体的实施方式。
下面结合实施例及附图对本发明作进一步描述:
实施例1:如附图1所示,该基于固件的操作系统远程自适应动态部署方法,包括以下步骤:
S1,部署在内网的操作系统管理服务端向计算机内部BMC发送命令,其中命令包括计算机需要完成的任务内容、操作系统版本信息、操作系统镜像文件下载地址;
S2,BIOS与BMC通信,获得操作系统版本及镜像文件下载地址,并进行操作系统部署流程准备;
S3,BIOS与操作系统管理服务端通信,在镜像文件下载地址下载对应的操作系统;
S4,BIOS进入部署流程,完成操作系统部署。
上述S1中部署在内网的操作系统管理服务端会选定需要进行操作系统部署的计算机,并确定该计算机需要完成的任务、需要部署的操作系统版本及该操作系统镜像文件下载地址,并根据该计算机需要完成的任务、需要部署的操作系统版本及该操作系统镜像文件下载地址生成固件层可执行的命令,该命令可为IPMI命令;其中操作系统管理服务端可通过获取某一计算机的处理器平台信息,并将该信息通过预设模型进行解析,得出与之对应的操作系统版本信息。上述S3中BIOS与操作系统管理服务端通信,根据镜像文件下载地址在操作系统管理服务端中下载与操作系统版本对应与操作系统镜像文件。
可根据实际需要,对上述发明技术方案作进一步优化或/和改进:
如附图1、2所示,S2,BIOS与BMC通信,获得操作系统版本及镜像文件下载地址,准备操作系统部署流程,包括:
S21,BMC获得操作系统管理服务端发送来的命令,并对其进行解析;
S22,BMC向BIOS发出重启命令;
S23,计算机进行重启,进入BIOS的启动引导执行流程,BMC向BIOS发送命令;
S24,BIOS对其进行解析,获得操作系统版本及镜像文件下载地址,并进行操作系统部署流程准备。
上述计算机进行重启后,BMC向BIOS发送命令,该命令可为IPMI命令,命令包括操作系统版本信息、操作系统镜像文件的下载地址等内容。
如附图1、2所示,BIOS根据操作系统版本识别操作系统类型,并根据操作系统类型进入不同操作系统部署流程的准备。例如若操作系统为实时操作系统,BIOS会进入网络加载和安装流程;若OS为通用操作系统,则BIOS会进入标准PXE引导流程。
如附图1、3所示,S1,所述操作系统管理服务端向计算机内部BMC发送命令,包括:
S11,操作系统管理服务端选定进行操作系统部署的计算机;
S12,操作系统管理服务端选择任务类型,确定需要部署的操作系统版本、操作系统镜像文件下载地址,向BMC发送命令。
如附图1所示,BIOS在下载对应的操作系统镜像文件后,需对操作系统镜像文件进行认证和校验,确认操作系统镜像文件安全可信,之后进入部署流程,完成操作系统部署。
实施例2:如附图4所示,该基于固件的操作系统远程自适应动态部署系统方法,包括部署在内网的操作系统管理服务端和部署在内网计算机内部的固件BIOS和BMC;所述操作系统管理服务端分别与BIOS和BMC通信,用于进行命令下发及信息传递,所述BMC分别与操作系统管理服务端和BIOS通信,用于接收、解析及发送命令,所述BIOS分别与操作系统管理服务端和BMC通信,用于接收命令、下载操作系统镜像文件及操作系统部署。
上述操作系统管理服务端与BMC通信,向BMC下发命令,传输计算机需要完成的任务内容、操作系统版本信息、操作系统镜像文件下载地址等内容;操作系统管理服务端与BIOS通信,使BIOS能在操作系统镜像文件下载地址下载操作系统镜像文件。上述BMC与BIOS通信,向BIOS下发传递操作系统版本信息、操作系统镜像文件下载地址等内容,便于BIOS进行操作系统镜像文件下载。
可根据实际需要,对上述发明技术方案作进一步优化或/和改进:
如附图4所示,所述操作系统管理服务端包括:
系统配置模块,用于接收管理员的配置指令;这里管理员可以通过系统配置模块进行计算机终端的配置,配置的内容包括计算机的用途、各处理器平台的配套操作系统、操作系统备份的时间间隔等。
命令解析模块,用于将管理员的配置指令“翻译”成固件层(BIOS和BMC)可执行的命令。
版本解析模块,用于将输入的计算机平台的信息,通过预设模型的解析,得出配套的操作系统版本,并发送给操作系统版本库进行下载和安装。
秘钥管理模块,用于对操作系统镜像进行签名;只有在BMC进行签名延签通过后,才会执行操作系统安装和升级。
操作系统版本库,用于存储各型处理器配套的操作系统。
网络通信接口,用于完成与内网计算机中的BIOS和BMC之间的通信。
内网视图模块,用于展示内网的计算机的在线状态。
系统备份模块,用于对计算机操作系统进行上传备份,并进行镜像管理。
如附图4所示,所述BIOS包括:
平台检测模块,用于获取和发送计算机平台的信息。
通信模块,用于与BMC进行通信,传递平台信息。
操作系统安装模块,用于根据操作系统镜像文件下载地址,下载操作系统内核和镜像文件,引导操作系统自动安装。这里下载地址为网络地址,BIOS可根据操作系统镜像文件下载地址,加载tFTP网络协议栈,下载操作系统内核和镜像文件。
操作系统备份模块,用于进行操作系统备份,并提供还原支持。这里备份的时间间隔可根据管理员在操作系统管理服务端设定的既定策略确定。
如附图4所示,所述BMC包括:
服务端通信模块,用于与服务端进行指令和信息传输;
BIOS通信模块,用于与BIOS进行通信,进行信息传递;
OS管理客户端,用于接收和解析服务端的命令。
本发明适用范围广,无需对原有网络做任何改变,符合通用服务器集群管理的布线标准,仅需部署一个操作系统管理服务端即可,操作系统管理服务端与选定计算机的BIOS和BMC通信,操作系统管理服务端通过BMC向BIOS传递操作系统版本及操作系统镜像文件下载地址,BIOS在根据下载地址在操作系统管理服务端下载操作系统镜像文件,并进行自动安装,实现了集群操作系统精确的自适应动态部署,灵活性强,效率高,适用于大规模的、批量的操作系统部署。
以上技术特征构成了本发明的最佳实施例,其具有较强的适应性和最佳实施效果,可根据实际需要增减非必要的技术特征,来满足不同情况的需求。