发明内容
针对相关技术中的问题,本发明提出一种用于刀片服务器的BIOS的备份或恢复的方法和装置。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种用于刀片服务器的BIOS的备份或恢复的方法。
该用于刀片服务器的BIOS的备份或恢复的方法包括:步骤S1,机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值;步骤S2,机箱管理控制器将第一FLAG信号和第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,其中,第二FLAG信号上设有刀片的ID号;步骤S3,机箱管理控制器接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复。
根据本发明的一个实施例,在步骤S2和步骤S3之间包括:BIOS根据第一FLAG信号进行启动;以及在BIOS启动成功的情况下,基板控制器根据第二FLAG信号,读取BIOS的镜像文件并将镜像文件发送给机箱管理控制器。
根据本发明的一个实施例,步骤S3包括:机箱管理控制器接收基板控制器发送的镜像文件,并将镜像文件保存至SD卡内,从而进行BIOS的备份。
根据本发明的一个实施例,在步骤S2和步骤S3之间包括:BIOS根据第一FLAG信号进行启动;以及在BIOS启动失败的情况下,基板控制器将启动失败的信息发送给机箱管理控制器。
根据本发明的一个实施例,步骤S3包括:管理控制器接收到启动失败的信息后,管理控制器将备份的BIOS发给基板控制器,并通知基板控制器进行BIOS的恢复。
根据本发明的另一方面,提供了一种用于刀片服务器的BIOS的备份或恢复的装置。
该用于刀片服务器的BIOS的备份或恢复的装置包括:机箱管理控制器,该机箱管理控制器包括:赋值模块、发送模块、接收模块,赋值模块,用于在机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值;发送模块,用于将第一FLAG信号和第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,其中,第二FLAG信号上设有刀片的ID号;接收模块,用于接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复。
根据本发明的一个实施例,基板控制器包括:启动模块、读取发送模块,启动模块,用于根据第一FLAG信号,对BIOS进行启动;以及读取发送模块,用于在BIOS启动成功的情况下,根据第二FLAG信号,读取BIOS的镜像文件并将镜像文件发送给接收模块。
根据本发明的一个实施例,接收模块还包括:备份模块,用于接收镜像文件,并将镜像文件保存至SD卡内,从而进行BIOS的备份。
根据本发明的一个实施例,基板控制器包括:启动模块、发送子模块,启动模块,用于根据第一FLAG信号,对BIOS进行启动;以及发送子模块,用于在BIOS启动失败的情况下,将启动失败的信息发送给接收模块。
根据本发明的一个实施例,接收模块包括:恢复模块,用于接收到启动失败的信息后,将备份的BIOS发给基板控制器,并通知基板控制器进行BIOS的恢复。
本发明的有益技术效果在于:
本发明通过在机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值,随后机箱管理控制器将第一FLAG信号和设有刀片的ID号的第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,最后机箱管理控制器接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复,从而通过基板控制器和机箱管理控制器的交互,实现了刀片服务器BIOS的备份和恢复。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种用于刀片服务器的BIOS的备份或恢复的方法。
如图1所示,根据本发明实施例的用于刀片服务器的BIOS的备份或恢复的方法包括:步骤S101,机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值;步骤S103,机箱管理控制器将第一FLAG信号和第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,其中,第二FLAG信号上设有刀片的ID号;步骤S105,机箱管理控制器接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复。
借助于本发明的上述技术方案,通过在机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值,随后机箱管理控制器将第一FLAG信号和设有刀片的ID号的第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,最后机箱管理控制器接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复,从而通过基板控制器和机箱管理控制器的交互,实现了刀片服务器BIOS的备份和恢复。
根据本发明的一个实施例,在步骤S103和步骤S105之间包括:BIOS根据第一FLAG信号进行启动;以及在BIOS启动成功的情况下,基板控制器根据第二FLAG信号,读取BIOS的镜像文件并将镜像文件发送给机箱管理控制器。
根据本发明的一个实施例,步骤S105包括:机箱管理控制器接收基板控制器发送的镜像文件,并将镜像文件保存至SD卡内,从而进行BIOS的备份。
根据本发明的一个实施例,在步骤S103和步骤S105之间包括:BIOS根据第一FLAG信号进行启动;以及在BIOS启动失败的情况下,基板控制器将启动失败的信息发送给机箱管理控制器。
根据本发明的一个实施例,步骤S105包括:管理控制器接收到启动失败的信息后,管理控制器将备份的BIOS发给基板控制器,并通知基板控制器进行BIOS的恢复。
为了更好的描述本发明的技术方案,下面通过具体的实施例进行详细的描述。
本发明公开了一种用于刀片服务器的BIOS的备份或恢复的方法,该方法是通过BMC(Baseboard Management Controller,基板控制器,它用来负责单个刀片的监控管理)和CMM(Chassis Management Controller,机箱管理控制器,它负责监控管理整个刀片服务器系统)的交互,来实现刀片服务器BIOS的备份和恢复。为了便于理解方法,下面分别从BMC端和CMM端来描述本发明的技术方案。
如图2所示,其示出了CMM端负责的功能流程:首先,在刀片服务器的系统上电后,CMM开始初始化,初始化成功后置第一FLAG信号为预设值,如,该第一FLAG信号为CMM_OK_flag,并将其设置为1,从而说明了系统状态正常,只有当CMM_OK_flag为1的情况下,才允许刀片进行开机操作。随后,在CMM初始完成后,用户可以对备份BIOS功能进行设定,如没有设定按照之前的状态,保存到update_bios_x_flag(或第二FLAG信号)中,并将update_bios_x_flag和CMM_OK_flag一并发给BMC,其中,update_bios_x_flag中的x为刀片服务器中的刀片的ID号。随后,CMM会侦测以下2个状态:
在确定update_bios_x_flag被使能的情况下,进一步侦测是否收到BMC发送的image(镜像)请求,在侦测到BMC发送的镜像请求的情况下,并且确定update_bios_x_flag为1,则开始接收此镜像文件并将其保存到SD(Secure Digital Memory Card/SD card,安全数码卡)卡,从而备份BIOS,随后结束,此外,当然可理解,本领域的人员还可根据实际需求对SD卡进行替换,例如,根据本发明的一个实施例,将镜像文件保存到大容量的ROM芯片或者EMMC(Embedded Multi Media Card)卡;
在侦测到BIOS启动失败的情况下,CMM将备份的BIOS(或镜像文件BIOS_x.bin,其为上次相对较新,并且成功启动的BIOS的镜像文件)回传对应刀片的BMC,并通知BMC开始进行BIOS恢复,随后结束。
此外,其还将刀箱内所有刀片的镜像文件一起保存到SD卡内,从而可有效节省成本。另外,其还可在多个刀片上同时进行,从而实现批量更新节点BIOS,操作更简单,容错率更高,另外,其还有效降低BIOS故障维修成本,提高刀片服务器系统的易维护性,有效提高固件批量部署和升级的效率。
如图3所示,其示出了CMM端负责的功能流程:首先,BMC进行初始化,随后,确定CMM_OK_flag是否为预设值,例如,确定CMM_OK_flag是否为1,随后对应的刀片x开机,确定BIOS是否启动成功,具体包括以下两种情况:
在确定BIOS启动成功的情况下,BIOS通知BMC系统其成功启动,随后在确定update_bios_x_flag被使能的情况下,BMC读取ROM芯片的内容到镜像文件BIOS_x.bin中,随后BMC将镜像文件BIOS_x.bin上传给CMM,随后BMC删除临时镜像文件BIOS_x.bin并结束;
在确定BIOS启动失败的情况下,BMC会通知CMM,BIOS启动失败,然后退出程序。
根据本发明的实施例,还提供了一种用于刀片服务器的BIOS的备份或恢复的装置。
如图4所示,根据本发明实施例的用于刀片服务器的BIOS的备份或恢复的装置包括:机箱管理控制器,该机箱管理控制器包括:赋值模块41、发送模块42、接收模块43,赋值模块41,用于在机箱管理控制器初始化完成后,将第一FLAG信号赋值为预设值;发送模块42,用于将第一FLAG信号和第二FLAG信号一并发送给基板控制器,以通知基板控制器进行镜像更新,其中,第二FLAG信号上设有刀片的ID号;接收模块43,用于接收基板控制器的反馈信息,并根据反馈信息进行BIOS的备份或恢复。
根据本发明的一个实施例,基板控制器包括:启动模块(未示出)、读取发送模块(未示出),启动模块,用于根据第一FLAG信号,对BIOS进行启动;以及读取发送模块,用于在BIOS启动成功的情况下,根据第二FLAG信号,读取BIOS的镜像文件并将镜像文件发送给接收模块43。
根据本发明的一个实施例,接收模块43还包括:备份模块(未示出),用于接收镜像文件,并将镜像文件保存至SD卡内,从而进行BIOS的备份。
根据本发明的一个实施例,基板控制器包括:启动模块(未示出)、发送子模块(未示出),启动模块,用于根据第一FLAG信号,对BIOS进行启动;以及发送子模块,用于在BIOS启动失败的情况下,将启动失败的信息发送给接收模块43。
根据本发明的一个实施例,接收模块43包括:恢复模块(未示出),用于接收到启动失败的信息后,将备份的BIOS发给基板控制器,并通知基板控制器进行BIOS的恢复。
综上所述,借助于本发明的上述技术方案,其可以实现自动备份恢复刀片服务器内各节点故障的BIOS,并保证备份的BIOS的镜像文件为上次相对较新,并且成功启动的,从而为数据灾难恢复提供有效的保障。同时,将刀箱内所有刀片的镜像文件一起保存到一个如SD卡的存储介质中,可有效节省成本,此外,其还可通过本发明的技术方案,实现批量更新节点BIOS,操作更简单,容错率更高,另外,其还有效降低BIOS故障维修成本,提高刀片服务器系统的易维护性,有效提高固件批量部署和升级的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。