一种OS的安装方法、服务器和系统与流程

文档序号:12119937阅读:323来源:国知局
一种OS的安装方法、服务器和系统与流程

本发明涉及计算机领域,尤其涉及一种OS的安装方法、服务器和系统。



背景技术:

在需要对服务器集群安装操作系统时,目前采用的方法是:服务器集群以IP网络的方式组网,每个服务器分配有1个IP地址,控制平台分别为服务器集群中的每个服务器安装操作系统,在服务器的操作系统安装成功后,控制平台在安装状态列表中记录该服务器的IP地址。然而,申请人发现,服务器集群在服务器数量或网络拓扑结构发生变化时,服务器的IP地址可能会发生变更,这样控制平台无法正确识别服务器上操作系统的安装状态,容易造成误安装,导致服务器上数据的丢失。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种操作系统的安装方法及服务器。可避免服务器上操作系统的误安装。

第一方面,本发明实施例提供了一种操作系统的安装方法,控制平台用于对服务器集群进行控制,例如:控制平台为服务器集群增加新的服务器、删除旧的服务器,对服务器集群进行网络配置和资源配置等。控制平台需要对服务器集群中的一个或多个服务器安装操作系统时,控制平台向服务器集群广播安装通知消息,对于服务器集群中的任意一个服务器,服务器的工作过程为:服务器接收控制平台发送的安装通知消息,安装通知消息用于表示即将进行操作系统的安装,服务器设置有BMC(Baseboard Management Controller,基板控制器,简称BMC),BMC中存储有OS(Operating System,操作系统,简称OS)安装状态信息,OS安装状态信息可存储在BMC的非易失性存储器中,OS安装状态信息用状态标志位来表示,例如:“1”表示已安装,“0”表示未安装状态。服务器向关联的BMC获取自身的OS安装状态信息,服务器将OS安装状态信息返回给控制平台,控制平台接收服务器返回的OS安装状态信息,确定OS安装状态信息表示未安装状态状态的情况下,向服务器发送OS安装文件,OS安装文件包括但不限于镜像文件或可执行文件。服务器接收到OS安装文件,根据OS安装文件安装操作系统。上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

在本方面的一种可能的实施方式中,服务器在检测到操作系统成功安装时,向关联的BMC发送成功指示消息,BMC接收到成功指示消息将OS安装状态信息更新为已安装。例如:OS安装状态信息用状态标志位来表示,“0”表示未安装状态,“1”表示已安装,BMC接收到成功指示消息后,将状态标志位的值更新为“1”。

在本方面的一种可能的实施方式中,所述服务器检测到满足预设的触发条件时,预设的触发条件包括但不限于:服务器安装的操作系统的版本信息与控制平台上发布的操作系统的版本信息不相同,或根据使用需求需要对操作系统进行更新,服务器向关联的BMC发送状态更新消息,BMC接收状态更新消息后,将存储的OS安装状态信息更新为未安装。

在本方面的一种可能的实施方式中,服务器与BMC之间的通信方式可以为带外通信方式或带内通信方式,带外通信方式包括服务器和BMC之间通过IP协议进行通信,带内通信方式包括服务器和BMC之间通过IMPI协议进行通信。

在本方面的一种可能的实施方式中,安装通知消息中还携安装文件的第一哈希值,服务器接收到安装文件后,根据预设的哈希算法对安装文件进行哈希运算后得到第二哈希值,将第二哈希值与安装通知消息中携带的第一哈希值进行比较,如果二者相同,表明OS安装文件为完整的,服务器根据安装文件安装操作系统。

第二方面,本申请还提供了一种服务器,包括:

第一接收模块,用于接收控制平台发送的安装通知消息;

获取模块,用于向关联的基板管理控制器BMC获取OS安装状态信息,以及向所述控制平台返回所述OS安装状态信息;

第二接收模块,用于在所述OS安装状态信息表示未安装状态状态的情况下,接收所述控制平台发送的OS安装文件;

安装模块,用于根据所述OS安装文件安装操作系统。

上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

在本方面的一种可能的实施方式中,服务器还包括:

第一指示模块,用于在所述操作系统成功安装时,向关联的BMC发送成功指示消息,所述成功指示消息用于指示所述BMC将所述OS安装状态信息更新为已安装。

在本方面的一种可能的实施方式中,服务器还包括:

第二指示模块,用于检测到满足预设的触发条件时,向关联的BMC发送状态更新消息,所述状态更新消息用于指示所述BMC将所述OS安装状态信息更新为未安装。

在本方面的一种可能的实施方式中,所述服务器与关联的BMC之间通过IMPI协议进行通信;或

所述服务器与关联的BMC之间通过IP协议进行通信。

在本方面的一种可能的实施方式中,所述安装通知消息中携带第一哈希值,所述安装模块具体用于:

服务器获取所述安装通知消息中携带的哈希校验码;

所述服务器根据预设的哈希算法对所述安装文件进行哈希运算后得到第二哈希值;

比较所述第一哈希值和所述第二哈希值是否相同;

若为是,所述服务器根据所述OS安装文件安装操作系统。

第三方面,本申请提供了一种操作系统的安装方法,包括

控制平台向服务器集群广播安装通知消息;服务器集群包括一个或多个服务器;

对于所述服务器集群中的每个服务器,服务器接收所述控制平台发送的所述安装通知消息;

所述服务器向关联的基板管理控制器BMC获取OS安装状态信息,以及向所述控制平台返回所述OS安装状态信息;

所述控制平台接收所述服务器返回的OS安装状态信息,根据所述OS安装状态信息判断是否表示未安装状态,若为是,所述控制平台向所述服务器发送OS安装文件;

所述服务器接收所述控制平台发送的OS安装文件;

所述服务器根据所述OS安装文件安装操作系统。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种OS安装系统的结构示意图;

图2是本发明实施例提供的一种OS安装方法的流程示意图;

图3是本发明实施例提供的一种OS安装方法的交互示意图

图4是本发明实施例提供的一种服务器的结构示意图;

图5是本发明实施例提供的一种服务器的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,为本发明实施例提供的一种安装系统的结构示意图,在本发明实施例中,所述安装系统包括:控制平台10和服务器11~1n,服务器11~1n中每个服务器中设置有1个BMC,控制平台10分别与每个服务器相互链接,控制平台与服务器之间可采用现有的通信协议进行通信,例如IPMI协议、以太网协议、PCIE协议或其他协议,本实施例不作限制。每个BMC可设置在关联的服务器的主板上,每个BMC可通过PCIE总线或QPI总线或其他总线与关联的服务器进行连接,每个BMC与服务器的通信方式可以是带内方式或带外方式。在服务器未安装任何操作系统的情况下,关联的BMC的存储器中表示服务器上操作系统的安装状态信息表示未安装状态;在服务器已安装操作系统的情况下,服务器可指示关联的BMC修改安装状态信息,将安装状态信息修改为表示已安装状态。例如:安装状态信息用1bit的位来表示,“1”表示已安装状态,“0”表示未安装状态。在某些场景下,即使服务器上已安装操作系统,服务器需要对当前的操作系统进行升级或覆盖,服务器也可以指示关联的BMC将安装状态信息修改为表示未安装状态。

本实施的系统的工作原理为:控制平台10向管理的服务器11~1n广播安装通知消息,每个服务器可接收到安装通知消息;可以理解的是,控制平台10也可以采用单播的方式向服务器11~1n中某个服务器发送安装通知消息,或者,控制平台10也可以采用组播的方式向服务器11~1n中部分服务器发送安装通知消息。对于每个服务器而言,服务器接收到安装通知消息后的处理过程相同,以服务器11为例说明处理过程:服务器11接收控制平台10发送的安装通知消息,服务器向关联BMC111获取OS安装状态信息,其中,OS安装状态信息可存储在BMC的存储器中或服务器的存储器中,BMC从指定的存储器中获取服务器11的OS安装状态信息后,将服务器11返回OS安装状态信息,服务器11接收OS安装状态信息,解析OS安装状态信息表示未安装状态信息时,请求控制平台10发送待安装的OS安装文件,服务器11接收控制平台发送的OS安装文件,其中OS安装文件可以是镜像文件或可执行文件,服务器11根据OS安装文件安装操作系统。

上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

参见图2,为本发明实施例提供的一种OS安装方法的流程示意图,在本发明实施例中,所述方法包括:

S201、服务器接收控制平台发送的安装通知消息。

具体的,控制平台用于对服务集群进行控制,例如:控制平台对服务器集群增加新的服务器、删除旧的服务器、对服务器集群中的服务器进行网络配置和资源配置,控制平台与服务器之间的通信方式可以基于以太网协议、TCP/IP协议、PCIE协议或其他协议,本实施例不作限制。控制平台需要对服务器集群中的一个或多个服务器安装、更新或覆盖操作系统时,向服务器广播安装通知消息,安装通知消息用于通知服务器准备进行操作系统的安装,服务器接收到安装通知消息可暂停当前处理的业务,将业务数据进行备份。

S202、所述服务器向关联的基板管理控制器BMC获取OS安装状态信息,以及向所述控制平台返回所述OS安装状态信息。

具体的,服务器设置有BMC,BMC中存储有OS安装状态信息,OS安装状态信息可存储在BMC的非易失性存储器中,OS安装状态信息用状态标志位来表示,例如:“1”表示已安装,“0”表示未安装状态。服务器向关联的BMC获取自身的OS安装状态信息,服务器将OS安装状态信息返回给控制平台,控制平台接收服务器返回的OS安装状态信息,确定OS安装状态信息表示未安装状态状态的情况下,向服务器发送OS安装文件,OS安装文件包括但不限于镜像文件或可执行文件。

S203、在所述OS安装状态信息表示未安装状态状态的情况下,所述服务器接收所述控制平台发送的OS安装文件。

S204、所述服务器根据所述OS安装文件安装操作系统。

上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

可选的,本实施例的OS安装方法还包括:

服务器在所述操作系统成功安装时,向关联的BMC发送成功指示消息,所述成功指示消息用于指示所述BMC将所述OS安装状态信息更新为已安装状态。

具体的,服务器向关联的BMC发送成功指示消息,BMC接收到成功指示消息后确定操作系统安装成功,将OS安装状态信息修改为已安装状态。例如:当前表示OS安装状态信息的比特位为“0”,BMC接收到成功指示消息后,将比特位“0”修改为“1”。需要说明的是,安装状态信息可存储在BMC的存储器中,例如闪存中,或者服务器的存储器中,本实施例不作限制。

可选的,本实施例的OS安装方法还包括:

所述服务器检测到满足预设的触发条件时,向关联的BMC发送状态更新消息,所述状态更新消息用于指示所述BMC将所述OS安装状态信息更新为未安装。

具体的,预设的触发条件包括但不限于接收到用户发送的触发指令,触发指令用于指示服务器修改OS安装状态信息,或者服务器检测到当前的操作系统的版本信息与控制平台上的操作系统的版本信息不一致时,服务器向关联的BMC发送状态更新消息,状态更新消息用于指示BMC将当前的OS安装状态信息更新为未安装状态。

可选的,所述服务器与关联的BMC之间通过IMPI协议进行通信;或

所述服务器与关联的BMC之间通过IP协议进行通信。

可选的,所述安装通知消息中携带第一哈希值,所述服务器根据所述OS安装文件安装操作系统包括:

服务器获取所述安装通知消息中携带的哈希校验码;

所述服务器根据预设的哈希算法对所述安装文件进行哈希运算后得到第二哈希值;

比较所述第一哈希值和所述第二哈希值是否相同;

若为是,所述服务器根据所述OS安装文件安装操作系统。

具体的,服务器通过哈希校验验证OS安装文件是否被修改,在确定没有被修改的情况下,才执行操作系统的安装过程,避免安装不成功,浪费服务器的计算资源。

上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

参见图3,为本发明实施例提供的一种OS安装方法的交互示意图,在本发明实施例中,所述方法包括:

S301、控制平台向服务器发送安装通知消息。

S302、服务器接收安装通知消息,向BMC发送OS安装状态信息的查询请求。

S303、BMC接收到查询请求,在指定的存储器中查询服务器的OS安装状态信息。存储器可以为BMC的存储器,例如闪存。

S304、存储器向BMC返回服务器的安装状态信息。

S305、BMC将查询到的OS安装状态信息返回给服务器。

S306、服务器将接收到的OS安装状态信息返回给控制平台。

S307、控制平台接收OS安装状态信息,解析OS安装状态信息,若OS安装状态信息表示未安装状态,执行S308;若OS安装状态信息表示已安装状态,流程结束。

S308、控制平台向服务器传送OS安装文件。

S309、服务器接收OS安装文件,对OS安装文件进行哈希校验,验证OS安装文件的完整性

S310、在OS安装文件验证通过后,根据OS安装文件安装操作系统。

S311、服务器根据OS安装文件成功安装操作系统后,向BMC发送成功指示消息,成功指示消息用于指示BMC修改OS安装状态信息,将OS安装状态信息修改为表示已安装状态。

S312、BMC修改存储器中的安装状态信息,使修改后的安装状态信息表示已安装状态。

需要说明的是,所述服务器检测到满足预设的触发条件时,主动向关联的BMC发送状态更新消息,所述状态更新消息用于指示所述BMC将所述OS安装状态信息更新为未安装。

具体的,预设的触发条件包括但不限于接收到用户发送的触发指令,触发指令用于指示服务器修改OS安装状态信息,或者服务器检测到当前的操作系统的版本信息与控制平台上的操作系统的版本信息不一致时,服务器向关联的BMC发送状态更新消息,状态更新消息用于指示BMC将当前的OS安装状态信息更新为未安装状态。

上述实施例,BMC存储有服务器的OS安装状态信息,OS安装状态信息的保存不依赖网络空间,在指示服务器进行操作系统的安装时,控制平台可根据OS安装状态信息来判断是否需要进行操作系统的安装,可有效防止服务器上操作系统的误安装。

参见图4,为本发明实施例提供的一种服务器的结构示意图,本发明实施例的服务器用于执行图2中的一种OS的安装方法,所涉及的术语和过程可参照图2实施例的描述。服务器4包括:第一接收模块40、获取模块41、第二接收模块42和安装模块43。

第一接收模块40,用于接收控制平台发送的安装通知消息。

获取模块41,用于向关联的基板管理控制器BMC获取OS安装状态信息,以及向所述控制平台返回所述OS安装状态信息。

第二接收模块42,用于在所述OS安装状态信息表示未安装状态状态的情况下,接收所述控制平台发送的OS安装文件。

安装模块43,用于根据所述OS安装文件安装操作系统。

可选的,服务器4还包括:

第一指示模块,用于在所述操作系统成功安装时,向关联的BMC发送成功指示消息,所述成功指示消息用于指示所述BMC将所述OS安装状态信息更新为已安装状态。

可选的,服务器4还包括:

第二指示模块,用于检测到满足预设的触发条件时,向关联的BMC发送状态更新消息,所述状态更新消息用于指示所述BMC将所述OS安装状态信息更新为未安装状态。

可选的所述服务器与关联的BMC之间通过IMPI协议进行通信;或

所述服务器与关联的BMC之间通过IP协议进行通信。

可选的,所述安装通知消息中携带第一哈希值,安装模块43具体用于:

服务器获取所述安装通知消息中携带的哈希校验码;

所述服务器根据预设的哈希算法对所述安装文件进行哈希运算后得到第二哈希值;

比较所述第一哈希值和所述第二哈希值是否相同;

若为是,所述服务器根据所述OS安装文件安装操作系统。

本发明实施例和图2方法实施例一基于同一构思,其带来的技术效果也相同,具体过程可参照图2方法实施例一的描述,此处不再赘述。

参见图5,为本发明实施例提供的一种服务器的另一结构示意图,在本发明实施例中,服务器5包括处理器50、存储器51和收发器52。收发器52用于与外部设备之间收发数据。服务器5中的处理器50的数量可以是一个或多个。本发明的一些实施例中,处理器50、存储器51和收发器52可通过总线系统或其他方式连接。服务器5可以用于执行图2所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图2对应的实施例。此处不再赘述。

其中,存储器51中存储程序代码。处理器50用于调用存储器51中存储的程序代码,用于执行以下操作:

接收控制平台发送的安装通知消息;

向关联的基板管理控制器BMC获取OS安装状态信息,以及向所述控制平台返回所述OS安装状态信息;

在所述OS安装状态信息表示未安装状态状态的情况下,接收所述控制平台发送的OS安装文件;

根据所述OS安装文件安装操作系统。

可选的,处理器50还用于执行:

在所述操作系统成功安装时,向关联的BMC发送成功指示消息,所述成功指示消息用于指示所述BMC将所述OS安装状态信息更新为已安装状态。

可选的,处理器50还用于执行:

检测到满足预设的触发条件时,向关联的BMC发送状态更新消息,所述状态更新消息用于指示所述BMC将所述OS安装状态信息更新为未安装状态。

可选的,所述服务器与关联的BMC之间通过IMPI协议进行通信;或

所述服务器与关联的BMC之间通过IP协议进行通信。

可选的,所述安装通知消息中携带第一哈希值,处理器50执行所述根据所述OS安装文件安装操作系统包括:

获取所述安装通知消息中携带的哈希校验码;

根据预设的哈希算法对所述安装文件进行哈希运算后得到第二哈希值;

比较所述第一哈希值和所述第二哈希值是否相同;

若为是,根据所述OS安装文件安装操作系统。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1