一种在CPU端升级BMC的方法及装置与流程

文档序号:23550804发布日期:2021-01-05 21:08阅读:218来源:国知局
一种在CPU端升级BMC的方法及装置与流程

本发明涉及bmc固件升级技术领域,尤其涉及一种在cpu端升级bmc的方法及装置。



背景技术:

白盒交换机,是一种软硬件分离的新型交换机构建系统。通过购买odm(原始设计制造商)的交换机裸机硬件,搭配一些可选的开源操作系统,即可构成一个完整的交换机系统,出售给客户。

bmc(基板管理控制器)是白盒交换机或者服务器主板上一种可以对cpu进行远程操作的控制芯片,是一套独立于交换机cpu端的系统,可以远程监控交换机系统上的一些性能指标,以及对交换机执行开关机操作、系统升级、设备查看等一系列操作。bmc固件需要定期升级,以解决bug或者增添新的功能。

目前市面上比较成熟的bmc系统,都有完整的升级方案,厂商一般会提供升级脚本,用户可以在远程服务器上运行脚本,通过网络对bmc进行远程升级。

这种方式前提是必须知晓bmc的ip地址,否则无法通过网络升级。而白盒交换机与服务器不同,在一些特殊场景下,需要在不知道bmcip地址的情况对其进行升级,这时就无法利用远程升级脚本。



技术实现要素:

本发明提供的一种技术方案是一种在cpu端升级bmc的方法及装置,其解决使固件升级更能适配白盒交换机的应用场景的问题。

bmc,即执行伺服器远端管理控制器,英文全称为baseboardmanagementcontroller.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。

bmc更新固件的方式有多种,通过网络更新、通过烧写器更新等。在某些情况下(如在网络更新过程中擦除flash时不小心断电,将导致更新中断,原系统无法重启)需要烧录器更新固件,若此时无烧录器或者烧录座,将给更新工作带来不便。

本发明的技术方案是:在bmc和cpu端分别通过软件创建虚拟网卡,并通过vlan功能,将bmc和cpu虚拟网卡限制在一个vlan中,它们之间的通信不会通过网管口发送到外部网络。

具体的,网络管理口通过物理层芯片连接入一个带有三层路由功能的单芯片交换机的port0端口,bmc则通过物理层芯片接入单芯片交换机的port2端口,cpu端通过以太网芯片接入单芯片交换机的port1端口。

本方案中当于使用一个低成本单芯片千兆交换机,取代了原有的nci控制器,可自动构建一个局域网,从而方便的使bmc和cpu都可共用一个管理网口,并且为bmc和cpu的板内网络互连提供了硬件基础。

具体的升级方法包括:

第一、启动bmc并配置单片机交换芯片的vlan,并将对接bmc的port1通信口和对接cpu的port2通信口分配至同一vlan中,其中bmc的port0通信口位于vlan1,port1通信口和port2通信口位于vlan2。

第二、基于bmc的物理网卡创建一个bmc虚拟网卡并为其分配ip地址为192.168.1.200。

第三、基于cpu的物理网卡创建一个cpu虚拟网卡并为其分配ip地址为192.168.1.100,该地址作为一个内部局域网地址;通过bmc和cpu的虚拟网卡的相同的地址网段,cpu端就可得知bcm的ip地址,可以利用远程脚本升级。

第四、网络配置无误,cpu系统的arp表也正确建立,则下一步便可以正常执行升级脚本,对本机bmc进行固件升级。

特别注意:这个方法创建的内部虚拟网卡的地址是固定,也就说,如果在一个大局域网中部署了多台白盒交换机,那么每台白盒交换机上的bmc和cpu的虚拟地址都为192.168.1.200和192.168.1.100。如果不用vlan将port1和port2限制住的话,可能会出现如下情况:白盒交换机a中的cpu系统要给bmc升级固件,根据网络协议知识,a的cpu系统要先通过arp请求,拿到bmc的mac地址。如果没有vlan,那么a的cpu发送的arp广播,就会沿着port0的网口,广播到整个局域网上,而局域网上所有交换机的bmc虚拟网卡地址都是192.168.1.200,所以很有可能arp的返回包不是本机bmc的mac地址,而是局域网中另一台白盒交换机b的bmc的mac地址。这样就会导致最终a的cpu给b的bmc升级了固件。

在硬件层面,单芯片交换机为带有三层路由功能的单芯片交换机,单芯片交换机包括port0通信口、port1通信口、port2通信口。

port0通信口以物理层连接芯片与管理网口通信,port1通信口通过以太网芯片连接至cpu,port2通信口以物理层连接芯片连接至bmc。

该装置摒弃了利用nic控制器实现共享网口的传统方法,而是在主板上集成一个低成本的scs芯片(single-chipswitch,单芯片交换机),在主板内部构建一个局域网,使bmc和cpu可以在板内通过网络互通。

本发明的优点是:冲破了传统bmc固件升级只能通过网络进行的这一限制,并且设计了一种新的管理网口共用的方法,通过软硬件相结合的形式,实现了在没有外部网络连接的情况下,可以从cpu端对bmc固件进行升级。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为在cpu端升级bmc的方法的硬件拓扑图;

图2为在cpu端升级bmc的网络配置结构图;

具体实施方式

实施例1

如图1所示,为本方案一种在cpu端升级bmc的方法的硬件拓扑图:

网络管理口通过phy芯片bcm54210连接入一个带有三层路由功能的单芯片交换机(以bcm5387为例)的port0端口,bmc通过bcm54210接入port2,cpu端通过i210芯片接入交换芯片的port1。

这里相当于使用一个低成本单芯片千兆交换机,取代了原有的nci控制器,可自动构建一个局域网,从而方便的使bmc和cpu都可共用一个管理网口,并且为bmc和cpu的板内网络互连提供了硬件基础。

实施例2:

如图2所示,为本方案一种在cpu端升级bmc的网络配置结构。其中,单芯片交换机为带有三层路由功能的单芯片交换机,单芯片交换机包括port0通信口、port1通信口、port2通信口。

结合图2,在cpu端升级bmc固件的流程具体包括:

1、当bmc启动后,首先需配置该交换芯片的vlan,port0位于vlan1,port1和port2位于vlan2。

2、bmc有一个物理网卡,其地址为10.1.2.3,该地址是与外部局域网互连。bmc启动后,首先基于eth创建一个虚拟网卡eth0.virbmc,为其分配ip地址:192.168.1.200,该地址作为一个内部局域网地址,负责与cpu通信。

3、cpu端有一个物理网卡eth0,起地址为10.1.2.4,该地址是与外部局域网互连。当要在cpu的操作系统上执行bmc升级脚本时,首先创建一个基于eth0的虚拟网卡eth0.vircpu,为其分配ip地址:192.168.1.100,该地址作为一个内部局域网地址,负责与bmc通信。这样,通过bmc和cpu的虚拟网卡的192网段,cpu端就可得知bcm的ip地址,可以利用远程脚本升级。

4、网络配置无误,cpu系统的arp表也正确建立,则下一步便可以正常执行升级脚本,对本机bmc进行固件升级。

本发明实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明的。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明的所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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